gst/gstminiobject.c: update docs
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstminiobject.c:
4           update docs
5         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
6         (gst_fd_src_create):
7           log recurring events at LOG level
8           add more debug for when the fd gets set
9
10 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11
12         * gst/gstparse.c: (gst_parse_launch):
13           Also remove reentrance checks if flex is MT save (#348179)
14          Fix my empty ChangeLog entry below
15
16 2006-07-21  Andy Wingo  <wingo@pobox.com>
17
18         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
19
20         * libs/gst/check/Makefile.am
21         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
22         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
23         * libs/gst/check/gstbufferstraw.h:
24         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
25         functions, thus proving I am still a GStreamer haxor. OK I wrote
26         them a long time ago, but anyways.
27
28 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
29
30         * configure.ac:
31         * gst/gstparse.c: (gst_parse_launch):
32           Check for flex version and omit mutex if we have a MT save flex
33           (fixes #348179)
34
35 2006-07-21  Wim Taymans  <wim@fluendo.com>
36
37         * gst/gstparse.c: (gst_parse_launch):
38         Protect recursive calls to _parse with a recursive mutex
39         and busy flag.
40
41 2006-07-21  Wim Taymans  <wim@fluendo.com>
42
43         * tests/check/gst/gstpad.c: (GST_START_TEST):
44         Fix leak in test.
45
46 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
47
48         * gst/gstparse.c: (gst_parse_launch):
49           Do not hange on recursive uasge of gst_parse_launch()
50
51 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
52
53         * gst/gsttaglist.c:
54           Add some more docs, comments and FIXME 0.11s here and there
55           and  also fix some typos.
56
57 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
58
59         * gst/gstsegment.h:
60           Convert tabs to spaces for better readability. 
61
62 2006-07-20  Edward Hervey  <edward@fluendo.com>
63
64         * tests/check/libs/gdp.c: (gst_dp_suite):
65         the test_buffer test fails at line 140 on ppc64 at the following
66         check:
67         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
68                 "GST_BUFFER_IN_CAPS flag should have been copied !");
69         See bug #348114 for more details.
70
71 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * docs/pwg/advanced-scheduling.xml:
74         * gst/gstpad.c:
75           Fix typos (#348000).
76
77 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
78
79         * docs/pwg/intro-basics.xml:
80           Fix wrong links (#347927).
81
82 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
83
84         * gst/gstregistry.h:
85         * gst/gstregistryxml.c: (load_feature),
86         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
87         * win32/common/config.h:
88         make --disable-index work (#342564)
89
90 2006-07-18  Wim Taymans  <wim@fluendo.com>
91
92         Patch by: Peter Kjellerstedt <pkj at axis dot com>
93
94         * gst/Makefile.am:
95         * gst/gsttrace.h:
96         The attached patch adds two missing defines to gsttrace.h when tracing
97         is disabled.  It also corrects one existing define.
98         Fixes #347756.
99
100 2006-07-17  Wim Taymans  <wim@fluendo.com>
101
102         * docs/gst/gstreamer-sections.txt:
103         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
104         * gst/gst.h:
105         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
106         Add two functions to check and change the SIGSEGV behaviour
107         when loading plugins.
108         Don't mess with the SIGSEGV handler when we were told not to.
109         Fixes #347794.
110         API: gst_segtrap_is_enabled
111         API: gst_segtrap_set_enabled
112
113 2006-07-14  Wim Taymans  <wim@fluendo.com>
114
115         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
116         * tests/check/elements/filesrc.c: (GST_START_TEST):
117         Revert fix for regression in #347408 after release.
118
119 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
120
121         Patch by: Antoine Tremblay <hexa00 at gmail com>
122
123         * gst/gstutils.c: (gst_element_unlink):
124           Free iterator when done (#347311).
125
126         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
127           And add a test case for this.
128
129 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
130
131         * configure.ac:
132         Bump nano back to CVS
133
134 === release 0.10.9 ===
135
136 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
137
138         * configure.ac:
139           releasing 0.10.9, "On the road again"
140
141 2006-07-13  Wim Taymans  <wim@fluendo.com>
142
143         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
144         * tests/check/elements/filesrc.c: (GST_START_TEST):
145         Revert pull-0 fix for release. Disable check. Fixes #347408.
146
147 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
148
149         * libs/gst/dataprotocol/dataprotocol.c:
150         (gst_dp_event_from_packet_1_0):
151           Fixes #347337: failure to deserialize event packets with
152           empty payload (only event type)
153
154 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
155
156         * gst/Makefile.am:
157           do not install a .c file in the header directory
158
159 2006-07-13  Edward Hervey  <edward@fluendo.com>
160
161         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
162         GhostPad no longer implicitely use the padtemplates of the targets.
163         Fixes #347384
164
165 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
166
167         * gst/gstvalue.c: (gst_value_compare_list),
168         (gst_value_compare_array), (_gst_value_initialize):
169         * tests/check/gst/gstvalue.c: (GST_START_TEST):
170         Make GstValueArray comparison be order dependent as designed.
171         Add checks for value lists and value array comparisons.
172         Fixes #347221
173
174 2006-07-11  Edward Hervey  <edward@fluendo.com>
175
176         * gst/gstbin.c: (activate_pads),
177         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
178         (gst_bin_change_state_func):
179         (de)activate src pads before calling state_change on the childs.
180         This is to avoid the case where a src ghostpad is blocked (holding the
181         stream lock), which would block the deactivation of the ghostpad's
182         target pad.
183         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
184         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
185         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
186         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
187         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
188         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
189         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
190         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
191         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
192         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
193         (gst_ghost_pad_class_init),
194         (gst_ghost_pad_internal_do_activate_push),
195         (gst_ghost_pad_internal_do_activate_pull),
196         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
197         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
198         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
199         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
200         GhostPads now create their internal GstProxyPad at creation (and not
201         when they're linked, as it was being done previously).
202         The internal and target pads are linked straight away.
203         The data will also travel through the other pad in order to make
204         pad blocking and probes non-hackish (the probe/block now really happens
205         on the GhostPad and not on the target).
206         * gst/gstpad.c: (gst_pad_set_blocked_async),
207         (gst_pad_link_prepare), (gst_pad_push_event):
208         Remove previous ghostpad cruft.
209         * gst/gstutils.c: (gst_pad_add_data_probe),
210         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
211         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
212         (gst_pad_remove_buffer_probe):
213         Remove previous ghost pad cruft.
214         Added more detailed debug statements.
215         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
216         Fix the testsuite for refcounting changes.
217         The comments about who has references were correct, but the refcount
218         being checked wasn't the same (!?!).
219
220         Fixes #341029
221
222 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
223
224         * docs/gst/gstreamer-sections.txt:
225         * gst/gstconfig.h.in:
226         More docs for configuration options, add docs to gtk-doc.
227
228 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
229
230         * gst/Makefile.am:
231         * gst/gstconfig.h.in:
232         * win32/common/config.h:
233         Fix build when disabling tracing (fixes #344016). Also start to document
234         the defines that disable the sub-systems.
235
236 2006-07-10  Edward Hervey  <edward@fluendo.com>
237
238         * gst/gst.c: (ensure_current_registry_forking):
239         let's make valgrind happy...
240
241 2006-07-09  Wim Taymans  <wim@fluendo.com>
242
243         * gst/gstelement.c: (activate_pads),
244         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
245         Better pad activation code: Reset the collect value too on resync.
246         Add some comments.
247
248 2006-07-09  Wim Taymans  <wim@fluendo.com>
249
250         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
251         (gst_pad_activate_push):
252         Use some more macros where it makes sense.
253         Allow pad mode switching instead of asserting. When a pad
254         is activated in one mode and we activate it in another, 
255         deactivate it first before activating it in a different mode.
256         Fixes #329198.
257
258 2006-07-08  Andy Wingo  <wingo@pobox.com>
259
260         * tools/gst-launch.c (main): Handle err == NULL.
261
262         * gst/gst.c (init_post, ensure_current_registry)
263         (ensure_current_registry_forking)
264         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
265         factoring out the registry scanning into separate functions. Don't
266         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
267         Better environment var name/interface suggestions accepted.
268
269 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
270
271         * gst/gstobject.c: (gst_object_set_name_default),
272         (gst_object_set_name):
273           Random micro-optimisation: don't use a hash table
274           with strings as keys and the usual strdup/strcmp
275           involved, but rather just use the GQuark of the
276           type name as key, since it needs to be looked up
277           anyway to get the type name string.
278
279         * tests/check/gst/gstobject.c: (GST_START_TEST):
280           Fix various leaks.
281
282 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
283
284         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
285         (gst_bin_iterate_all_by_interface):
286           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
287           GTypes are gulongs and thus the top 4 bytes might be cut
288           off on some platforms when doing GPOINTER_TO_INT, leading
289           to invalid GTypes and bad things happening (see RH bug #179654).
290           Also add a check to make sure the type passed in is really
291           an interface type.
292
293 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * .cvsignore:
296           Ignore more.
297
298 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
299
300         * Makefile.am:
301         * configure.ac:
302         * gst-element-check.m4:
303         * gst-element-check.m4.in:
304           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
305           instead of the unversioned gst-inspect (#324176, #168659).
306
307 2006-07-06  Wim Taymans  <wim@fluendo.com>
308
309         * gst/gstmessage.h:
310         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
311         warnings.
312
313 2006-07-06  Wim Taymans  <wim@fluendo.com>
314
315         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
316         (gst_base_src_wait), (gst_base_src_update_length),
317         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
318         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
319         (gst_base_src_loop), (gst_base_src_start),
320         (gst_base_src_activate_pull):
321         Update docs.
322         blocksize == 0 now means the default blocksize when working in push
323         based mode.
324         Remove some pointless asserts in _wait function.
325         Fix offset/length calculations and EOS handling. We can now pull 0
326         bytes as well, which is allowed.
327         use _check_get_range() to decide if we can operate in _pull based
328         mode.
329         Fix refcounting leak when check_get_range function was not 
330         implemented.
331         API GstBaseSrc::blocksize range can be 0 too now (default)
332
333         * tests/check/elements/filesrc.c: (GST_START_TEST),
334         (filesrc_suite):
335         Added check to test _get_range() behaviour.
336
337 2006-07-06  Wim Taymans  <wim@fluendo.com>
338
339         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
340         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
341         (gst_pad_pull_range):
342         * gst/gstpad.h:
343         Lots of comments and docs added to the pad functions.
344         Flesh out the expected behaviour of the get_range() functions.
345
346 2006-07-06  Wim Taymans  <wim@fluendo.com>
347
348         * gst/gstbus.h:
349         * gst/gstclock.h:
350         * gst/gstevent.h:
351         * gst/gstiterator.h:
352         * gst/gstpad.h:
353         * gst/gstplugin.h:
354         * gst/gsttask.h:
355         Remove comma at end of enumerator list. 
356
357 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
358
359         * win32/common/libgstbase.def:
360         * win32/common/libgstdataprotocol.def:
361         * win32/common/libsgtreamer.def:
362         Add new exported functions.
363
364 2006-07-05  Wim Taymans  <wim@fluendo.com>
365
366         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
367         Add some more docs here and there.
368
369 2006-07-05  Wim Taymans  <wim@fluendo.com>
370
371         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
372         (gst_base_sink_loop), (gst_base_sink_get_position):
373         When operating in pull mode update the offset so that we
374         read sequentially.
375
376 2006-07-05  Wim Taymans  <wim@fluendo.com>
377
378         * gst/gstregistryxml.c: (read_string):
379         Avoid strdup. (will happen in libxml, but hey!)
380
381         * gst/gsturi.c:
382         Add some more docs.
383
384 2006-07-05  Wim Taymans  <wim@fluendo.com>
385
386         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
387         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
388         (gst_buffer_suite):
389         No point in checking if the size of the subbuffer > 0, the
390         code handles it correclty as demonstrated by unit test.
391         Also add a unit test for the zero sized _new_and_alloc and
392         _copy. Fixes #346663.
393
394 2006-07-05  Wim Taymans  <wim@fluendo.com>
395
396         * libs/gst/base/gstbasetransform.c:
397         (gst_base_transform_prepare_output_buffer),
398         (gst_base_transform_buffer_alloc),
399         (gst_base_transform_handle_buffer):
400         Make sure the buffer we pass to transform_ip has a refcount of
401         1 and thus is writable. Fixes #343196
402
403 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
404
405         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
406         (gst_file_src_init), (gst_file_src_set_property),
407         (gst_file_src_get_property), (gst_file_src_map_region):
408         * plugins/elements/gstfilesrc.h:
409         Add "sequential" property, off by default, to use madvise and hint
410         to the kernel that sequential access is desired.
411         Touch all retrieved pages by default to ensure they are pulled
412         into memory. (Closes #345720)
413
414 2006-07-03  Wim Taymans  <wim@fluendo.com>
415
416         * docs/design/part-block.txt:
417         * docs/design/part-dynamic.txt:
418         Small docs updates.
419
420 2006-07-03  Wim Taymans  <wim@fluendo.com>
421
422         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
423         (gst_caps_unref), (gst_static_caps_get),
424         (gst_caps_append_structure):
425         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
426         Use GSlice when the glib we build against is >= 2.10
427
428 2006-07-03  Wim Taymans  <wim@fluendo.com>
429
430         * gst/gstelement.c: (gst_element_pads_activate):
431         Small cleanup in pad activation code.
432
433 2006-07-03  Wim Taymans  <wim@fluendo.com>
434
435         Patch by: Peter Kjellerstedt <pkj at axis dot com>
436
437         * gst/gst-i18n-app.h:
438         * gst/gst-i18n-lib.h:
439         * tools/gst-inspect.c: (print_signal_info):
440         The attached patch will make the inclusion of gettext.h unconditional in
441         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
442         libintl.h in tools/gst-inspect.c.
443         This allows use of --disable-nls again and fixes #344642.
444
445 2006-07-03  Edward Hervey  <edward@fluendo.com>
446
447         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
448         Implement pad blocking on events according to part-block.txt.
449         More comments on behaviour.
450         * tests/check/gst/gstevent.c: (test_event):
451         Send event to peer pad of blocked pad (else it will block).
452
453 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
454
455         * libs/gst/check/gstcheck.c: (gst_check_message_error),
456         (gst_check_run_suite):
457           if we get the wrong message, give us the types as string
458         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
459           Fix a translatable
460         * tests/check/elements/filesrc.c: (GST_START_TEST):
461           add a test for trying to open a non-existing file
462
463 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
466           add a test for adding self
467
468 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
469
470         * libs/gst/check/gstcheck.h:
471           add some assert_ as alias for fail_unless_*
472         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
473           increase test coverage
474
475 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
476
477         * Makefile.am:
478           include lcov.mak for lcov coverage generation
479         * tools/Makefile.am:
480           add to CLEANFILES
481
482 2006-07-02  Edward Hervey  <edward@fluendo.com>
483
484         * tests/check/elements/.cvsignore:
485         moaping
486
487 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
488
489         * configure.ac:
490           don't set CFLAGS and friends for gcov, done from GST_GCOV now
491         * tests/check/Makefile.am:
492           clean up gcov files
493
494 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
495
496         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
497           remove gst_caps_simplify; it was not declared and not used
498           and deprecated in 0.8
499
500 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         * docs/faq/gst-uninstalled:
503           don't put empty paths on PYTHONPATH
504         * docs/gst/gstreamer-sections.txt:
505           remove some symbols that are not there
506
507 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
508
509         * gst/gstcaps.c: (gst_caps_compare_structures):
510           whitespace fixes
511         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
512         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
513           add more tests
514
515 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
516
517         * libs/gst/dataprotocol/Makefile.am:
518           build dataprotocol test by linking to the lib, instead of
519           compiling the source, so we get coverage
520         * tests/check/Makefile.am:
521         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
522         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
523           add a test for filesrc
524
525 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
526
527         * tests/check/gst/gststructure.c: (GST_START_TEST),
528         (gst_structure_suite):
529           Push coverage from 59.04% to 70.00%
530
531 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
532
533         * tests/check/Makefile.am:
534           gst-inspect every element; this makes sure that we also get
535           coverage on element's get/set functions
536
537 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * configure.ac:
540           set CFLAGS and friends to -O0 if gcov is being used
541           add GCOV LIBS
542         * gst/Makefile.am:
543         * libs/gst/base/Makefile.am:
544         * libs/gst/check/Makefile.am:
545         * libs/gst/controller/Makefile.am:
546         * libs/gst/dataprotocol/Makefile.am:
547         * libs/gst/net/Makefile.am:
548         * plugins/elements/Makefile.am:
549         * plugins/indexers/Makefile.am:
550           add makefile rules to generate gcov data and clean up
551         * tests/check/Makefile.am:
552           add a coverage target that generates an html overview
553           of coverage data
554
555 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
556
557         * tests/check/elements/fakesink.c:
558         * tests/check/elements/fakesrc.c:
559         * tests/check/elements/fdsrc.c:
560         * tests/check/elements/identity.c:
561         * tests/check/generic/sinks.c: (gst_sinks_suite):
562         * tests/check/generic/states.c:
563         * tests/check/gst/gst.c:
564         * tests/check/gst/gstabi.c:
565         * tests/check/gst/gstbin.c:
566         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
567         * tests/check/gst/gstbus.c: (gst_bus_suite):
568         * tests/check/gst/gstcaps.c: (GST_START_TEST):
569         * tests/check/gst/gstelement.c:
570         * tests/check/gst/gstevent.c: (gst_event_suite):
571         * tests/check/gst/gstghostpad.c:
572         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
573         * tests/check/gst/gstmessage.c: (gst_message_suite):
574         * tests/check/gst/gstminiobject.c:
575         * tests/check/gst/gstobject.c:
576         * tests/check/gst/gstpad.c:
577         * tests/check/gst/gstpipeline.c:
578         * tests/check/gst/gstplugin.c:
579         * tests/check/gst/gstquery.c: (gst_query_suite):
580         * tests/check/gst/gstsegment.c: (gst_segment_suite):
581         * tests/check/gst/gststructure.c:
582         * tests/check/gst/gstsystemclock.c:
583         * tests/check/gst/gsttag.c:
584         * tests/check/gst/gsttask.c: (gst_task_suite):
585         * tests/check/gst/gstutils.c:
586         * tests/check/gst/gstvalue.c:
587         * tests/check/libs/adapter.c:
588         * tests/check/libs/basesrc.c:
589         * tests/check/libs/collectpads.c:
590         * tests/check/libs/controller.c:
591         * tests/check/libs/gdp.c: (gst_dp_suite):
592         * tests/check/libs/gstnetclientclock.c:
593         * tests/check/libs/gstnettimeprovider.c:
594         * tests/check/libs/libsabi.c: (libsabi_suite):
595         * tests/check/libs/typefindhelper.c:
596         * tests/check/pipelines/cleanup.c:
597         * tests/check/pipelines/parse-launch.c:
598         * tests/check/pipelines/simple-launch-lines.c:
599         * tests/check/pipelines/stress.c: (stress_suite):
600           use the new macro
601
602 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
603
604         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
605         * libs/gst/check/gstcheck.h:
606           create a macro and function so that the simple unit test
607           case can be just one macro to create main()
608
609 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
610
611         * gst/gstbin.c: (gst_bin_restore_thyself):
612         * gst/gstxml.c: (gst_xml_make_element):
613           Fix deserialisation from XML. Set parent manually
614           instead of using gst_bin_add(), since gst_bin_add()
615           will unlink all pads of the element being added.
616           Fixes #341667.
617
618 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
619
620         Patch by: Peter Kjellerstedt <pkj at axis com>
621
622         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
623           Fix missing g_strdup() and double free when using the
624           --gst-plugin-load command line option (#346097).
625
626 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
627
628         * gst/gstinfo.c:
629           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
630
631         * libs/gst/net/gstnetclientclock.c:
632         * libs/gst/net/gstnettimeprovider.c:
633           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
634
635 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
636
637         * docs/manual/advanced-dataaccess.xml:
638           Fix buffer probe example compilation in
639           ADM (#345708).
640         
641 2006-06-22  Edward Hervey  <edward@fluendo.com>
642
643         * gst/gstelement.c: (gst_element_pads_activate):
644         We need to deactivate src pads first and then sink pads.
645         The reason is the src pads might be blocking while holding the streaming
646         lock, so we need to deactivate them first so that deactivating the sink
647         pads doesn't block (since it will require the streaming lock).
648
649 2006-06-22  Wim Taymans  <wim@fluendo.com>
650
651         * libs/gst/base/gstbasetransform.c:
652         (gst_base_transform_buffer_alloc):
653         Forgot to remove two unneeded unrefs.
654         Simplify a check _is_equal allready checks the obvious case.
655
656 2006-06-22  Wim Taymans  <wim@fluendo.com>
657
658         * docs/design/part-block.txt:
659         Some docs about what pad_block should do.
660
661 2006-06-22  Wim Taymans  <wim@fluendo.com>
662
663         * gst/gstcaps.c: (gst_caps_replace):
664         Fix crasher when passed NULL. Doc clarification.
665         Optimize for the trivial case.
666
667         * gst/gstpipeline.c: (gst_pipeline_change_state):
668         Small cleanups.
669
670         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
671         Small documentation cleanup.
672
673         * libs/gst/base/gstbasetransform.c:
674         (gst_base_transform_buffer_alloc):
675         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
676         is what we need and it avoids a whole lot of redundant 
677         refcount operations.
678
679 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
680
681         Patch by: Philip Jägenstedt  <philip at lysator liu se>
682
683         * docs/manual/advanced-dataaccess.xml:
684           Fix 'Embedding static elements' section to use
685           GST_PLUGIN_DEFINE_STATIC (#345607).
686
687 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
688
689         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
690           Attempt to 'fix' spuriously failing test case: it seems like the
691           timeout of half a second is simply too small when the system is under
692           load otherwise, and the timeout doesn't really seem to serve any
693           particular purpose here. Give the pipeline a few seconds to preroll
694           first, and then give it another half a second to go from PAUSED to
695           PLAYING and marshal the message into the main thread.
696
697 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * tools/gst-feedback-m.m:
700           Don't only use unversioned tools, try versioned tools as well
701           (#345086).
702
703 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
704
705         * gst/gstbus.c: (gst_bus_class_init):
706           Fix some typos, make docs more explicit.
707
708 2006-06-20  Wim Taymans  <wim@fluendo.com>
709
710         * tests/check/gst/gstghostpad.c: (block_callback),
711         (GST_START_TEST), (gst_ghost_pad_suite):
712         Added some more ghostpad tests, mainly blocking
713         and probes.
714
715 2006-06-16  Wim Taymans  <wim@fluendo.com>
716
717         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
718         (gst_file_sink_close_file), (gst_file_sink_do_seek),
719         (gst_file_sink_event), (gst_file_sink_render):
720         * plugins/elements/gstfilesink.h:
721         Check if we can seek in the file instead of assuming
722         we always can. Post an error when we are asked to seek in a
723         non-seekable file (like a fifo). Fixes #343312.
724         Some cleanups.
725
726 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
727
728         * tools/gst-launch.1.in:
729           Un-garble (fourcc) bit in filtered caps section.
730
731 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
732
733         * docs/manual/advanced-autoplugging.xml:
734         * docs/manual/basics-helloworld.xml:
735         * docs/manual/highlevel-components.xml:
736           Don't leak bus reference in sample code.
737
738 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
739
740         * autogen.sh:
741           Add default for new --enable-plugin-docs switch.
742
743         * configure.ac:
744           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
745           Fixes #344039.
746
747         * docs/Makefile.am:
748           Use new ENABLE_PLUGIN_DOCS conditional.
749
750 2006-06-14  Wim Taymans  <wim@fluendo.com>
751
752         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
753         Make it clear with a FIXME and a real define what the #if 0
754         previously disabled.
755
756 2006-06-14  Wim Taymans  <wim@fluendo.com>
757
758         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
759         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
760         * libs/gst/base/gstbasetransform.c:
761         (gst_base_transform_sink_eventfunc):
762         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
763         Don't randomly and silently reset a segment when the format 
764         changes as this is a bug somewhere upstream. Fixes #330379.
765
766 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
767
768         Patch by: Wouter Paesen  <wouter at kangaroot net>
769
770         * libs/gst/controller/gstcontroller.c:
771         (gst_controlled_property_new):
772           Fix controlling of float properties (#344849).
773
774         * tests/check/libs/controller.c:
775         (gst_test_mono_source_get_property),
776         (gst_test_mono_source_set_property),
777         (gst_test_mono_source_class_init), (GST_START_TEST):
778           While we're at it, add some float stuff to unit test.
779
780 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
781
782         * docs/README:
783         * docs/images/gdp-header.svg:
784           add a gdp image
785         * docs/libs/Makefile.am:
786         * docs/libs/gdp-header.png:
787         * libs/gst/dataprotocol/dataprotocol.c:
788           add it to the API docs
789         * docs/manual/intro-motivation.xml:
790           fix typo
791
792 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
793
794         * gst/gst.c: (scan_and_update_registry), (init_post):
795           If the fork()'ed child process can't write the updated registry cache
796           file to disk for some reason, make it exit with a failure exit code,
797           so that the parent can then re-scan the plugins itself and update the
798           registry structures in memory and work with that (rather than failing
799           when creating elements because seemingly no plugins are available).
800           Refactor registry scanning code into separate function for this and
801           also separate fork() and non-fork() code paths. Fixes #344748.
802
803 2006-06-13  Wim Taymans  <wim@fluendo.com>
804
805         * docs/manual/advanced-dataaccess.xml:
806         Fix wrong PluginDesc. Fixes #344755.
807
808 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
809
810         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
811           Fix silly bug that prevented us from creating
812           ~/.gstreamer-0.10 and writing the registry in one
813           go (the first call to g_mkstemp() would overwrite the
814           placeholder in the template string, so the second call
815           to g_mkstemp() after creating the missing directory
816           would then error out with 'invalid argument').
817
818 2006-06-13  Edward Hervey  <edward@fluendo.com>
819
820         * gst/gst.c: (init_post):
821         Free string.
822
823 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
824
825         * gst/glib-compat-private.h:
826         * gst/glib-compat.c:
827         * gst/glib-compat.h:
828         * gst/gstvalue.c: (gst_value_serialize_flags):
829           remove GLib 2.6 compatibility code
830
831 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
832
833         * gst/parse/Makefile.am:
834           Fix build with 'make -j N' even more (#340016).
835
836 2006-06-12  Wim Taymans  <wim@fluendo.com>
837
838         * docs/gst/gstreamer-sections.txt:
839         Fix docs.
840
841 2006-06-12  Wim Taymans  <wim@fluendo.com>
842
843         * gst/gstsegment.c: (gst_segment_set_duration),
844         (gst_segment_set_last_stop), (gst_segment_set_seek),
845         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
846         (gst_segment_to_running_time), (gst_segment_clip):
847         Use G_UNLIKELY to help the compiler a bit.
848
849 2006-06-12  Wim Taymans  <wim@fluendo.com>
850
851         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
852
853         * gst/gstevent.c: (gst_event_get_type):
854         * gst/gstmessage.c:
855         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
856         (gst_pad_push):
857         constify quark registration strings. Fixes #344115
858         Avoid unneeded type checking is _pad_push() by internally
859         calling gst_pad_chain_unchecked().
860
861 2006-06-12  Wim Taymans  <wim@fluendo.com>
862
863         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
864         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
865         (gst_subbuffer_finalize), (gst_buffer_create_sub),
866         (gst_buffer_is_span_fast), (gst_buffer_span):
867         Init _type for consistency.
868         Use _FLAGS macro to avoid type check.
869         Avoid unneeded type checks in subbufer code.
870
871 2006-06-12  Wim Taymans  <wim@fluendo.com>
872
873         * gst/gst.c: (gst_debug_help):
874         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
875         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
876         (gst_plugin_feature_list_free):
877         * gst/gstregistry.c: (gst_registry_add_plugin),
878         (gst_registry_add_feature), (gst_registry_plugin_filter),
879         (gst_registry_feature_filter), (gst_registry_find_plugin),
880         (gst_registry_find_feature), (gst_registry_get_plugin_list),
881         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
882         * gst/gstregistryxml.c: (load_feature),
883         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
884         * gst/gstminiobject.c: (gst_mini_object_unref),
885         (gst_mini_object_replace), (gst_value_mini_object_free),
886         (gst_value_mini_object_copy):
887         Use _CAST macros to avoid unneeded type checking.
888         Added some more G_UNLIKELY.
889
890 2006-06-12  Wim Taymans  <wim@fluendo.com>
891
892         * gst/gstbuffer.h:
893         Avoid unneeded type checking.
894         API: GST_BUFFER_IS_DISCONT
895
896         * gst/gstminiobject.h:
897         Avoid type check in flag accessor.
898
899         * gst/gstelementfactory.h:
900         * gst/gstplugin.h:
901         * gst/gstpluginfeature.h:
902         Add _CAST macros.
903         API: GST_ELEMENT_FACTORY_CAST
904         API: GST_PLUGIN_CAST
905         API: GST_PLUGIN_FEATURE_CAST
906
907 2006-06-12  Wim Taymans  <wim@fluendo.com>
908
909         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
910         (gst_object_unref):
911         Add G_UNLIKELY in type registration.
912         Avoid type check in _ref/_unref since that is also
913         done in glib.
914
915 2006-06-12  Wim Taymans  <wim@fluendo.com>
916
917         * gst/gsterror.c: (gst_g_error_get_type):
918         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
919         (gst_static_pad_template_get_type):
920         * gst/gsttaglist.c: (gst_tag_list_get_type):
921         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
922         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
923         * gst/gsturi.c: (gst_uri_handler_get_type):
924         * gst/gstvalue.c: (gst_date_get_type):
925         * gst/gstxml.c: (gst_xml_get_type):
926         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
927         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
928         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
929         Add G_UNLIKELY in type registration.
930
931 2006-06-12  Wim Taymans  <wim@fluendo.com>
932
933         * tools/gst-inspect.c: (print_signal_info):
934         Properly print enum values.
935
936 2006-06-12  Wim Taymans  <wim@fluendo.com>
937
938         * gst/gstinfo.c: (gst_debug_set_active),
939         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
940         * gst/gstinfo.h:
941         Add some G_[UN]LIKELY.
942         Maintain __gst_debug_min to avoid formatting the arguments of
943         debug messages that will be dropped anyway to avoid a lot of 
944         overhead from the debugging system.
945
946 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
947
948         * po/POTFILES.in:
949         * po/POTFILES.skip:
950           add missing files containing translatable strings, tell intltool about
951           one exception
952
953 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
954
955         * tests/check/libs/.cvsignore:
956         add test-binary to ignore list
957
958 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
959
960         * docs/libs/gstreamer-libs-docs.sgml:
961         reorder (put dp into a chapter) and indent
962
963 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
964
965         * configure.ac:
966           back to HEAD
967
968 === release 0.10.8 ===
969
970 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
971
972         * configure.ac:
973           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
974
975 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
976
977         * gst/gst.c: (init_post):
978           move pid declaration to declaration block
979
980 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * gst/gst.c: (init_post):
983           use _exit() instead of exit() in our forked child; this ensures
984           that none of the registered exit handlers from whatever is using
985           GStreamer get executed.  This fixes gnome-mixer-applet failing
986           to load, because ORBit would shut down.
987           Spotted by: Edward Hervey  <edward@fluendo.com>
988           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
989           Fixes #344474
990
991 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
992
993         * configure.ac:
994           back to TRUNK
995
996 === release 0.10.7 ===
997
998 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
999
1000         * configure.ac:
1001           releasing 0.10.7, "Soepeke, ik zie ou"
1002
1003 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1004
1005         * configure.ac:
1006         * po/af.po:
1007         * po/az.po:
1008         * po/bg.po:
1009         * po/ca.po:
1010         * po/cs.po:
1011         * po/de.po:
1012         * po/en_GB.po:
1013         * po/fr.po:
1014         * po/it.po:
1015         * po/nb.po:
1016         * po/nl.po:
1017         * po/ru.po:
1018         * po/sq.po:
1019         * po/sr.po:
1020         * po/sv.po:
1021         * po/tr.po:
1022         * po/uk.po:
1023         * po/vi.po:
1024         * po/zh_CN.po:
1025         * po/zh_TW.po:
1026         * win32/common/config.h:
1027           0.10.6.2 prerelease
1028
1029 2006-06-07  Wim Taymans  <wim@fluendo.com>
1030
1031         * gst/gstindex.c: (gst_index_gtype_resolver):
1032         * tools/gst-xmlinspect.c: (print_plugin_info):
1033         Fix leak spotted by coverity checker. Fixes #343827
1034         Fix another other leak found by paolo borelli.
1035
1036 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1037
1038         * libs/gst/dataprotocol/dataprotocol.c:
1039         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1040         (gst_dp_version_get_type), (gst_dp_init),
1041         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1042         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1043         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1044         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1045         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1046         (gst_dp_packetizer_free):
1047         * libs/gst/dataprotocol/dataprotocol.h:
1048           API: add a GstDPPacketizer object, and create/free functions
1049           API: add GstDPVersion enum
1050           Add 1.0 event function that uses the string serialization
1051           Serialize more useful buffer flags
1052           Fixes #343988
1053
1054 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1055
1056         * tests/check/Makefile.am:
1057         * tests/check/gst/gstabi.c:
1058         * tests/check/gst/struct_ppc64.h:
1059         * tests/check/libs/libsabi.c:
1060         * tests/check/libs/struct_ppc64.h:
1061           add ppc64 structure sizes
1062
1063 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * tests/check/Makefile.am:
1066         * tests/check/gst/gstabi.c:
1067         * tests/check/gst/struct_x86_64.h:
1068         * tests/check/libs/libsabi.c:
1069         * tests/check/libs/struct_x86_64.h:
1070           generate and add structure size lists for x86_64
1071
1072 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1073
1074         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1075         * libs/gst/check/gstcheck.h:
1076           factor out the method from tests that checks size of structures,
1077           and add code to generate the header containing these sizes
1078         * tests/check/gst/gstabi.c: (GST_START_TEST):
1079         * tests/check/gst/struct_i386.h:
1080         * tests/check/libs/libsabi.c: (GST_START_TEST):
1081         * tests/check/libs/struct_i386.h:
1082           use it
1083
1084 2006-06-06  Michael Smith  <msmith@fluendo.com>
1085
1086         * gst/gstsegment.h:
1087           Don't use c++-style comments, fixes #343929
1088
1089 2006-06-05  Edward Hervey  <edward@fluendo.com>
1090
1091         * gst/gst.c:
1092         plugin_paths is not used if we build without registry support.
1093
1094         * gst/gstsegment.c: (gst_segment_copy): 
1095         _copy() was always returning NULL...
1096
1097 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1098
1099         * libs/gst/dataprotocol/dataprotocol.c:
1100         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1101         (gst_dp_packet_from_event):
1102           factor out CRC code
1103
1104 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1105
1106         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1107           make sure we unset caps
1108
1109 2006-06-02  Michael Smith  <msmith@fluendo.com>
1110
1111         * libs/gst/check/gstcheck.c: (gst_check_init),
1112         (gst_check_chain_func):
1113         * libs/gst/check/gstcheck.h:
1114           Add a cond/mutex to the check support lib, signal this whenever we
1115           add to the buffers list. This will allow tests to not busy-wait on
1116           the buffer-list.
1117
1118 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1119
1120         * libs/gst/dataprotocol/dataprotocol.c:
1121         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1122         (gst_dp_packet_from_event):
1123           factor out some common header init code
1124
1125 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1126
1127         * docs/libs/gstreamer-libs-sections.txt:
1128         * docs/libs/tmpl/gstdataprotocol.sgml:
1129         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1130         * libs/gst/dataprotocol/dataprotocol.h:
1131           API: make gst_dp_crc() public
1132
1133 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1134
1135         * plugins/indexers/gstindexers.c: (plugin_init):
1136         conditionally register fileindexer (fixes #343598)
1137
1138 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1139
1140         * gst/gsttagsetter.h:
1141         Can't cast ifaces to a class
1142
1143         * libs/gst/net/gstnetclientclock.h:
1144         * libs/gst/net/gstnettimeprovider.h:
1145         * plugins/elements/gstfakesink.h:
1146         * plugins/elements/gstfakesrc.h:
1147         * plugins/elements/gstfdsink.h:
1148         * plugins/elements/gstfdsrc.h:
1149         * plugins/elements/gstfilesink.h:
1150         * plugins/elements/gstfilesrc.h:
1151         * plugins/elements/gstidentity.h:
1152         * plugins/elements/gstqueue.h:
1153         * plugins/elements/gsttee.h:
1154         * plugins/indexers/gstfileindex.c:
1155         * plugins/indexers/gstmemindex.c:
1156         * tests/old/examples/plugins/example.h:
1157         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1158
1159 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1160
1161         * libs/gst/dataprotocol/dataprotocol.c:
1162         (gst_dp_header_from_buffer):
1163           make sure we zero the whole ABI-compatible area
1164
1165 2006-06-01  Wim Taymans  <wim@fluendo.com>
1166
1167         Patch by: Alessandro Decina <alessandro at nnva dot org>
1168
1169         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1170         Make sure the EOS flag is cleared from pads after a flush
1171         or stop. Fixes #343538.
1172
1173         * tests/check/libs/collectpads.c: (GST_START_TEST),
1174         (gst_collect_pads_suite):
1175         Added test for collectpads reusage after EOS.
1176
1177 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1178
1179         * gst/gst.c:
1180          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1181         * win32/common/libgstbase.def:
1182          export gst_collect_pads_set_flushing
1183         * win32/common/libgstreamer.def:
1184          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1185          gst_value_fraction_multiply
1186         * win32/vs6/gst_inspect.dsp:
1187          add a link to intl.lib
1188
1189 2006-05-30  Wim Taymans  <wim@fluendo.com>
1190
1191         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1192         (gst_collect_pads_chain):
1193         Handle the case where a pad is removed from the collection
1194         that could cause the other pads to become collectable.
1195
1196 2006-05-30  Wim Taymans  <wim@fluendo.com>
1197
1198         * gst/gstelement.c:
1199         Clarify the use of _release_request_pad() and
1200         _get_request_pad() a bit better.
1201
1202         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1203         (gst_adapter_take_buffer):
1204         Fix some doc and comment typos.
1205
1206 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1207
1208         * docs/gst/gstreamer-sections.txt:
1209         * docs/libs/gstreamer-libs-sections.txt:
1210           add declared symbols
1211
1212 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1213
1214         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1215         Add debug that can be enabled using a #define at the top of the file,
1216         for dumping stats about how late/early we were when waking up from
1217         waiting on the clock.
1218
1219 2006-05-30  Wim Taymans  <wim@fluendo.com>
1220
1221         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1222         When rebuilding the pad list, don't leak the previous list.
1223
1224 2006-05-30  Wim Taymans  <wim@fluendo.com>
1225
1226         Patch by: Lutz Mueller <lutz at topfrose dot de>
1227
1228         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1229         (gst_base_src_get_query_types), (gst_base_src_update_length):
1230         Publish supported query types.
1231         Update last_stop field in get_range mode so the position
1232         query works. Fixes #342321.
1233
1234 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         * docs/gst/gstreamer-sections.txt:
1237         * gst/gsttaglist.c: (_gst_tag_initialize):
1238         * gst/gsttaglist.h:
1239           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1240
1241 2006-05-30  Wim Taymans  <wim@fluendo.com>
1242
1243         Patch by: Alessandro Decina <alessandro at nnva dot org>
1244
1245         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1246         Unlock mutex when removing an unknown pad.
1247         Fixes #343334.
1248
1249         * tests/check/Makefile.am:
1250         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1251         (push_event), (setup), (teardown), (GST_START_TEST),
1252         (gst_collect_pads_suite), (main):
1253         Added collecpads check, disabled for now as check crashes for
1254         some reason.
1255
1256 2006-05-29  Wim Taymans  <wim@fluendo.com>
1257
1258         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1259         Don't leak pads lists.
1260
1261 2006-05-29  Wim Taymans  <wim@fluendo.com>
1262
1263         * docs/libs/gstreamer-libs-sections.txt:
1264         * libs/gst/base/gstcollectpads.c:
1265         (gst_collect_pads_set_flushing_unlocked),
1266         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1267         (gst_collect_pads_stop):
1268         * libs/gst/base/gstcollectpads.h:
1269         API: gst_collect_pads_set_flushing()
1270         Added api to set the pads to flushing, useful for seeking
1271         code in elements using collectpads.
1272         Clear segment when receiving a flush.
1273
1274 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1275
1276         * gst/gst.c: (add_path_func), (init_post):
1277           Don't scan registry paths passed via --gst-plugin-path immediately
1278           (will crash, because absolutely nothing is set up and no types are
1279           registered etc.); do this later in init_post(). Fixes #343057.
1280
1281 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1282
1283         * gst/gst.c: (init_post):
1284           if we have fork, fork while reading/rebuilding the registry
1285           so the parent doesn't take the hit of having all plugins loaded
1286           in memory.  Fixes #342777.
1287         * configure.ac:
1288           Check if we have fork()
1289         * win32/common/config.h.in:
1290           no fork() on win32
1291
1292 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1293
1294         * plugins/elements/gstelements.c:
1295         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1296         (gst_file_src_init), (gst_file_src_set_property),
1297         (gst_file_src_get_property), (gst_file_src_start):
1298         * plugins/elements/gstfilesrc.h:
1299           API: GstFileSrc::use-mmap
1300
1301         Add a use-mmap property to enable easier testing of all code paths.
1302         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1303         in the absence of gnomevfssrc. (Closes #340501)
1304
1305 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1306
1307         * tools/gst-inspect.c:
1308         Add missing include, removes warning of ngettext not being defined on
1309         some arches.
1310
1311 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1312
1313         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1314         Handle NULL input and output pointers silently as a failed conversion,
1315         rather than g_warnings.
1316
1317 2006-05-25  Wim Taymans  <wim@fluendo.com>
1318
1319         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1320         Initialize variable before using. Fixes #342820.
1321
1322 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1323
1324         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1325           Fix off-by-one bug that would only allow peeks of N-1 bytes
1326           from the start even if the buffer to typefind on contains
1327           in fact N bytes of data (makes vorbis typefinding from a
1328           vorbis identification header buffer work).
1329
1330         * tests/check/Makefile.am:
1331         * tests/check/libs/.cvsignore:
1332         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1333         (gst_typefindhelper_suite), (main), (foobar_typefind),
1334         (plugin_init):
1335           Add very basic unit test for gst_type_find_helper_for_buffer()
1336           that checks for the problem fixed above.
1337
1338 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * tools/gst-inspect.c: (print_interfaces),
1341         (print_element_properties_info), (print_element_list), (main):
1342           add more translatable strings
1343
1344 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1345
1346         Patch by: Julien Moutte  <julien at moutte net>
1347
1348         * docs/gst/gstreamer-sections.txt:
1349           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1350           
1351         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1352         (gst_fake_sink_preroll):
1353         * plugins/elements/gstfakesink.h:
1354           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1355
1356 2006-05-23  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1359         * gst/gstpad.h:
1360         Added _CUSTOM error and success GstFlowReturn that can be
1361         used be elements internally. 
1362         Added macro to check for SUCCESS flowreturns.
1363         API: GST_FLOW_CUSTOM_SUCCESS
1364         API: GST_FLOW_CUSTOM_ERROR
1365         API: GST_FLOW_IS_SUCCESS
1366
1367         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1368         Added check for GstFlowReturn sanity.
1369
1370 2006-05-23  Wim Taymans  <wim@fluendo.com>
1371
1372         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1373
1374         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1375         (gst_collect_pads_event):
1376         clear/reset segment info in FLUSH_STOP.
1377         Fixes #336929.
1378
1379 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1380
1381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1382         (gst_collect_pads_check_collected):
1383         Flush queued buffer on _stop(), fixes playing again (#342454)
1384
1385 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * tests/check/gst/gststructure.c: (GST_START_TEST),
1388         (gst_structure_suite):
1389           add a test for a complete structure
1390
1391 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1392
1393         * docs/faq/developing.xml:
1394         * docs/faq/faq.xml:
1395         * docs/faq/troubleshooting.xml:
1396         * docs/faq/using.xml:
1397           Some minor FAQ updates that won't change the fact that
1398           our FAQ is badly structured, full of information hardly
1399           anyone new to GStreamer needs to know and lacking lots
1400           of information people constantly ask for.
1401           
1402 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1403
1404         * gst/gstpad.c: (gst_pad_set_caps):
1405           Short-circuit gst_pad_set_caps if setting the existing
1406           caps pointer again, and avoid printing debug and 
1407           reffing/unreffing the caps.
1408
1409         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1410           There's actually no need to set the caps before pushing -
1411           the acceptcaps method will handle it anyway.
1412
1413 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1414
1415         * docs/gst/gstreamer-sections.txt:
1416         * win32/common/libgstreamer.def:
1417         * gst/gstutils.c: (gst_element_seek_simple):
1418         * gst/gstutils.h:
1419           API: add gst_element_seek_simple() (#342238).
1420
1421 2006-05-18  Edward Hervey  <edward@fluendo.com>
1422
1423         * gst/gsttypefind.c: (gst_type_find_get_type):
1424         * gst/gsttypefind.h:
1425         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1426         registered for GstTypeFind pointers. This allows wrapping the structure
1427         in bindings (i.e. gst-python).
1428
1429 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1430
1431         * gst/gsttagsetter.c:
1432           Docs additions and fixes (see #339918).
1433
1434 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1435
1436         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1437         The caps intersection algorithm can produce multiple copies of the
1438         caps. Until that is fixed, we need to simplify the result to be
1439         sure whether the allowed caps are fixed or not.
1440
1441         * plugins/elements/gstqueue.c: (gst_queue_init),
1442         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1443         (gst_queue_push_one):
1444         Proxied buffer alloc should not set the caps on the source pad.
1445         When pushing buffers, we always accept the caps change that triggers.
1446         This prevents negotiation errors caused by caps changing mid-stream 
1447         and then being refused on our source pad (because upstream is now
1448         refusing those caps).
1449
1450 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1451
1452         * tests/examples/helloworld/helloworld.c: (main):
1453           Must plug audioconvert and audioresample between decoder
1454           and audio sink.
1455
1456 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1457
1458         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1459         (load_feature), (load_plugin):
1460         Allow empty strings for some of the plugin fields so we don't 
1461         drop valid plugin entries that were written out correctly
1462         (Fixes #341479)
1463
1464 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1465         
1466         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1467           Use g_remove and g_rename instead of remove and rename that don't 
1468           handle utf8 characters. rename was failing for users who had specific
1469           characters in their name then the registry was built at each 
1470           gstreamer init.
1471         * win32/vs6/gst_inspect.dsp:
1472         * win32/vs6/gst_launch.dsp:
1473         * win32/vs6/libgstbase.dsp:
1474         * win32/vs6/libgstcoreelements.dsp:
1475         * win32/vs6/libgstreamer.dsp:
1476           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1477           build of libgstreamer and clean unused libraries in projects link 
1478           settings.
1479
1480 2006-05-17  Edward Hervey  <edward@fluendo.com>
1481
1482         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1483         The queue is not responsible for pushing an EOS when receiving a fatal
1484         flow error. It's up to the real element driving the pipeline to do that.
1485
1486 2006-05-16  Edward Hervey  <edward@fluendo.com>
1487
1488         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1489         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1490         buffer returned a fatal error. It should just send an EOS and stop
1491         its task.
1492         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1493         when pushing buffers on the queue and will be able to handle the event.
1494
1495 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1496
1497         * docs/manual/basics-bins.xml:
1498         * docs/manual/basics-init.xml:
1499           Fix typos and minor errors in sample code (#341856).
1500
1501 2006-05-16  Wim Taymans  <wim@fluendo.com>
1502
1503         * docs/design/part-qos.txt:
1504         Fix indexes in formulas to make more sense.
1505
1506 2006-05-15  Wim Taymans  <wim@fluendo.com>
1507
1508         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1509         Don't report POSITION based on clock time if sync is
1510         disabled in a sink.
1511
1512 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1513
1514         * gst/gstobject.h:
1515           Add cast to make compiler happy - refcount variable was a gint
1516           in GstObject but is a guint in GObject and g_atomic_int_get()
1517           wants a gint *.
1518
1519 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1520
1521         * gst/parse/Makefile.am:
1522           chain commands using &&, which also makes parallel make work
1523
1524 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1525
1526         * docs/gst/gstreamer-sections.txt:
1527         * gst/gstevent.c:
1528         * gst/gstevent.h:
1529         * gst/gstmessage.h:
1530           Minor docs fixes.
1531
1532 === release 0.10.6 ===
1533
1534 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1535
1536         * configure.ac:
1537           releasing 0.10.6, "Take the cannoli"
1538
1539 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1540
1541         * tools/gst-launch.c: (print_tag):
1542           Fix use of uninitialized variable in the hypothetical
1543           case that some broken plugin creates a GST_TAG_IMAGE
1544           tag containing a NULL buffer (#341667).
1545
1546 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1547
1548         * tools/gst-launch.c: (print_tag):
1549           Print something more intelligible for image tags when
1550           using the -t switch (#341556).
1551
1552 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1553
1554         * Makefile.am:
1555           updates for win32
1556         * configure.ac:
1557           define GST_MAJORMINOR so we have it available in win32/common/config.h
1558           Possibly remove it from our Makefile.am files later
1559         * win32/common/config.h:
1560         * win32/common/config.h.in:
1561           added GST_MAJORMINOR
1562         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1563         * win32/common/gstversion.h:
1564           updated
1565
1566 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1567
1568         * win32/MANIFEST:
1569           Update win32 files listing.
1570         * win32/common/gstversion.h:
1571           Add GST_MAJORMINOR definition.
1572         * win32/common/libgstreamer.def:
1573           Add new exported functions.
1574           
1575 2006-05-12  Michael Smith  <msmith@fluendo.com>
1576
1577         * gst/gstplugin.c: (gst_plugin_load_file):
1578           If an so file has no plugin entry point, unload the module.
1579
1580 2006-05-11  Wim Taymans  <wim@fluendo.com>
1581
1582         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1583         (gst_queue_set_property):
1584         Don't forget to signal the _chain or _loop function 
1585         when the queue size or thresholds change since that might
1586         cause them to make progres again.
1587
1588 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1589
1590         * gst/gstclock.c: (gst_clock_class_init):
1591         * gst/gstindex.c: (gst_index_class_init):
1592         * gst/gstobject.c: (gst_object_class_init):
1593         * gst/gstpad.c: (gst_pad_class_init):
1594         * gst/gstpipeline.c: (gst_pipeline_class_init):
1595         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1596         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1597         * libs/gst/base/gstbasetransform.c:
1598         (gst_base_transform_class_init):
1599         * libs/gst/net/gstnetclientclock.c:
1600         (gst_net_client_clock_class_init):
1601         * libs/gst/net/gstnettimeprovider.c:
1602         (gst_net_time_provider_class_init):
1603         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1604         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1605         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1606         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1607         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1608         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1609         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1610         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1611         * plugins/elements/gsttee.c: (gst_tee_class_init):
1612         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1613         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1614           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1615
1616 2006-05-11  Wim Taymans  <wim@fluendo.com>
1617
1618         * gst/gstbuffer.c: (_gst_buffer_initialize):
1619         Register subbufer along with the buffer type so that
1620         it does not accidentally gets registered from N
1621         different streaming threads in a non threadsafe way.
1622
1623 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1624
1625         * gst/gstbuffer.h:
1626         * gst/gstevent.h:
1627         * gst/gstmessage.h:
1628           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1629           gst_event_ref() and gst_message_ref() functions again
1630           (ugly hack, please do fix if there's a better way besides
1631           overrides.txt, which doesn't seem to work).
1632
1633 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1634
1635         * libs/gst/check/gstcheck.h:
1636           add an assert for setting state to avoid lots of repetitive code
1637           in the future
1638
1639 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1640
1641         * gst/gstvalue.c: (gst_value_serialize_flags):
1642           fix a leak if no flags are set
1643         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1644           fix leak in tests
1645
1646 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1647
1648         * docs/manual/basics-pads.xml:
1649           Expand a bit on caps and filtered links and update
1650           examples that were still using the no longer existing
1651           gst_pad_link_filtered() (#338206).
1652
1653 2006-05-10  Wim Taymans  <wim@fluendo.com>
1654
1655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1656         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1657         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1658         (gst_collect_pads_stop):
1659         * libs/gst/base/gstcollectpads.h:
1660         No need to call _stop in _finalize.
1661         Iterate the main pad list in _finalize.
1662         Added some more debug.
1663         Free lists and data in the right order.
1664         Also free data whem doing _remove_pad when stopped for
1665         backward compatibility protect ::started with PAD_LOCK as
1666         well.
1667
1668 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1669
1670         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1671         (gst_structure_parse_value):
1672           add some comments
1673           rename a method so that it actually says what it does better
1674
1675 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1676
1677         * gst/gstevent.c: (_gst_event_initialize):
1678         * gst/gstformat.c: (_gst_format_initialize):
1679           make sure some essential types used by events are registered
1680           as part of gst_init()
1681         * gst/gstvalue.c: (gst_value_serialize_flags):
1682           if no flags are set, serialize them to a value that represents NONE
1683           so that deserializing them works
1684         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1685           add tests for serialization and deserialization of flags
1686
1687 2006-05-10  Wim Taymans  <wim@fluendo.com>
1688
1689         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1690         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1691         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1692         (gst_collect_pads_event), (gst_collect_pads_chain):
1693         Update docs.
1694         Better debug info.
1695         Catch and return errors from the collect function
1696         Refuse data on eos pads.
1697
1698 2006-05-10  Edward Hervey  <edward@fluendo.com>
1699
1700         * gst/gstinterface.h:
1701         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1702         GInterface type checking.
1703         They were previously using non-defined macros.
1704
1705 2006-05-09  Wim Taymans  <wim@fluendo.com>
1706
1707         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1708         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1709         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1710         (gst_collect_pads_start), (gst_collect_pads_stop),
1711         (gst_collect_pads_peek), (gst_collect_pads_pop),
1712         (gst_collect_pads_available), (gst_collect_pads_read),
1713         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1714         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1715         (gst_collect_pads_chain):
1716         * libs/gst/base/gstcollectpads.h:
1717         Clean up the mess that is collectpads, add comments and
1718         FIXMEs where needed.
1719         Maintain a separate pad list so we can add pads while
1720         collecting the other ones. For this we need a new separate 
1721         lock (see comics).
1722         Fix memory leak in finalize.
1723         Refactor some weird code to set/unset pad flushing flags, mark
1724         with comments.
1725         Don't crash in _available, _read, _flush when we're EOS.
1726
1727         * tests/check/libs/.cvsignore:
1728         Ignore adapter check binary.
1729
1730 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1731
1732         * gst/gstindex.c: (gst_index_resolver_get_type):
1733         * plugins/elements/gstfakesink.c:
1734         (gst_fake_sink_state_error_get_type):
1735         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1736         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1737         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1738           Const-ify GEnumValue arrays.
1739
1740 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1741
1742         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1743           Add test case for flags + gst_buffer_make_metadata_writable().
1744
1745 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1746
1747         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1748           gst_buffer_make_metadata_writable() should maintain the
1749           buffer flags (those that make sense at least) (see #340859).
1750
1751 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1752
1753         * tools/gst-inspect.c:
1754         * tools/gst-launch.c:
1755         * tools/gst-typefind.c:
1756         * tools/gst-xmlinspect.c:
1757         * tools/tools.h:
1758           Fix up includes: need to include stdlib.h in tools.h for exit().
1759
1760 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1761
1762         * gst/gsttaglist.c: (_gst_tag_initialize):
1763         * gst/gsttaglist.h:
1764           API: add GST_TAG_IMAGE tag (#340721).
1765
1766 2006-05-08  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/gstquery.c:
1769         Added some docs for the segment query.
1770
1771 2006-05-08  Wim Taymans  <wim@fluendo.com>
1772
1773         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1774         (gst_base_src_loop), (gst_base_src_change_state):
1775         Always push non-flushing serialized events in the streaming 
1776         thread.
1777
1778 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1779
1780         * gst/gsterror.c: (_gst_stream_errors_init):
1781           Add a missing error string.
1782
1783 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1784
1785         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1786         Add applied_rate to the debug
1787
1788         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1789         Copy applied_rate into the outgoing NEWSEGMENT event
1790
1791 2006-05-08  Wim Taymans  <wim@fluendo.com>
1792
1793         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1794
1795         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1796         (gst_base_sink_change_state):
1797         call ::unlock before taking the PREROLL_LOCK so we can safely
1798         handle elements that lock in ::render.
1799         Fixes #340174.
1800
1801 2006-05-08  Edward Hervey  <edward@fluendo.com>
1802
1803         * autogen.sh: (CONFIGURE_DEF_OPT): 
1804         Darwin's libtoolize is in fact called glibtoolize.
1805         Adding glibtoolize to the list of accepted names for libtoolize.
1806
1807 2006-05-08  Wim Taymans  <wim@fluendo.com>
1808
1809         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1810         Unify error handling, don't post an error message
1811         when a push() returns EOS but perform our normal EOS
1812         handling code. Fixes #340772.
1813
1814 2006-05-08  Wim Taymans  <wim@fluendo.com>
1815
1816         * docs/design/part-overview.txt:
1817         Make upsteam/downstream concepts more clear.
1818         Give an example of serialized/non-serialized events.
1819
1820         * docs/design/part-events.txt:
1821         * docs/design/part-streams.txt:
1822         Mention applied_rate.
1823
1824         * docs/design/part-trickmodes.txt:
1825         Mention applied rate, flesh out some more use cases.
1826
1827         * gst/gstevent.c: (gst_event_new_new_segment),
1828         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1829         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1830         (gst_event_parse_tag), (gst_event_new_buffer_size),
1831         (gst_event_parse_buffer_size), (gst_event_new_qos),
1832         (gst_event_parse_qos), (gst_event_parse_seek),
1833         (gst_event_new_navigation):
1834         * gst/gstevent.h:
1835         Add applied_rate field to NEWSEGMENT event.
1836         API: gst_event_new_new_segment_full()
1837         API: gst_event_parse_new_segment_full()
1838
1839         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1840         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1841         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1842         * gst/gstsegment.h:
1843         Add applied_rate to GstSegment structure.
1844         Make calculation of stream_time and running_time more correct
1845         wrt rate/applied_rate.
1846         Add some more docs.
1847         API: GstSegment::applied_rate field
1848         API: gst_segment_set_newsegment_full();
1849
1850         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1851         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1852         * libs/gst/base/gstbasetransform.c:
1853         (gst_base_transform_sink_eventfunc),
1854         (gst_base_transform_handle_buffer):
1855         Parse and use applied_rate in the GstSegment field.
1856
1857         * tests/check/gst/gstevent.c: (GST_START_TEST):
1858         Add check for applied_rate field.
1859
1860         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1861         (gstsegments_suite):
1862         Add more checks for various GstSegment operations.
1863
1864 2006-05-08  Wim Taymans  <wim@fluendo.com>
1865
1866         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1867         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1868         (gst_base_sink_get_position), (gst_base_sink_change_state):
1869         Store the sync time of the buffer end position separatly in a
1870         new variable eos_rtime so we can properly sync the EOS event.
1871         Fixes #340697.
1872         Fix the docs for gst_base_sink_set_qos_enabled().
1873         Don't set segment start to invalid value when we receive a 
1874         non TIME newsegment.
1875         get closer to handling position reporting for negative rates 
1876         correctly.
1877
1878 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1879
1880         * gst/gstcaps.c:
1881         Docs about how to print caps for debug purposes.
1882
1883         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1884         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1885
1886 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1887
1888         * gst/gstelement.c:
1889           use full enum names and preprend a '%' in docs strings to make recent 
1890           gtk-doc turn that into a link
1891
1892 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1893
1894         * docs/manual/basics-bins.xml:
1895         * docs/manual/basics-bus.xml:
1896         * docs/manual/basics-pads.xml:
1897           Some typo fixes, some additions, some clarifications. 
1898
1899 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1900
1901         * tools/gst-inspect.c: (main):
1902         * tools/gst-launch.c: (main):
1903         * tools/gst-run.c: (main):
1904         * tools/gst-typefind.c: (main):
1905         * tools/gst-xmlinspect.c: (main):
1906           Use the string passed to g_option_context_new() for
1907           what it's intended for - the program name is already
1908           printed elsewhere.
1909
1910 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1911
1912         * tools/Makefile.am:
1913         * tools/gst-inspect.c: (main):
1914         * tools/gst-launch.c: (main):
1915         * tools/gst-xmlinspect.c: (main):
1916         * tools/tools.h:
1917           Add back --version command line option (#340460).
1918
1919         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1920           Add --version option and use GOption for argument parsing; refactor a
1921           bit; accept directories as arguments and recurse into them; lastly,
1922           print a decent error message when things go wrong.
1923
1924 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1925
1926         * docs/manual/basics-bins.xml:
1927         Don't mention GstThread (#340611)
1928         * docs/manual/basics-elements.xml:
1929         Update link to GObject tutorial (#340607)
1930         
1931 2006-05-05  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/gstbuffer.h:
1934         * gst/gstminiobject.c:
1935         Add note about refcounting and miniobject/buffer writeability
1936         to docs. Fixes #340604
1937
1938         * gst/gstelementfactory.h:
1939         Added some explanation about @klass.
1940
1941 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1942
1943         * docs/manual/intro-motivation.xml:
1944         * docs/manual/manual.xml:
1945         Avoid CORBA & Bonobo references (#340598)
1946
1947 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1948
1949         * docs/manual/basics-bus.xml:
1950         * docs/manual/basics-pads.xml:
1951         Fix up some inaccuracies and omissions (#340609)
1952         
1953 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1954
1955         * gst/gstghostpad.c:
1956           Small typo in docs (#340625)
1957
1958 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1959
1960         * gst/parse/Makefile.am:
1961           Make 'make -j' proof (see #340698).
1962
1963 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1964
1965         * configure.ac:
1966           Require GLib-2.8 here as well.
1967
1968 2006-05-05  Wim Taymans  <wim@fluendo.com>
1969
1970         * gst/glib-compat.c:
1971         * gst/gst.c: (init_pre):
1972         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1973         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1974         (gst_object_dispatch_properties_changed):
1975         * gst/gstobject.h:
1976         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1977         * gst/gststructure.c: (gst_structure_set_valist):
1978         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1979         Remove pre glib2.8 compatibility, fixes #340508
1980
1981 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1982
1983         * gst/gsttaglist.h:
1984           Mention type of tags in doc blurbs.
1985
1986 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1987
1988         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1989         (gst_pad_configure_src), (gst_pad_push):
1990         Restore acceptcaps checking behaviour now that good plugins have
1991         been released.
1992
1993 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1994
1995         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1996
1997         * gst/gst.c:
1998         * gst/gstbus.c:
1999         * gst/gstclock.c:
2000         * gst/gstevent.c:
2001         * gst/gstformat.c:
2002         * gst/gstmessage.c:
2003         * gst/gstparse.c:
2004         * gst/gstquery.c:
2005         * gst/gstutils.c:
2006         * gst/parse/Makefile.am:
2007         * libs/gst/base/gstadapter.c:
2008         * libs/gst/base/gstbasesrc.c:
2009         * libs/gst/base/gstpushsrc.c:
2010         * libs/gst/base/gsttypefindhelper.c:
2011         * plugins/elements/gstfakesrc.c:
2012         * plugins/elements/gstidentity.c:
2013           Make sure gstprivate.h and/or config.h are
2014           always included first, otherwise some of our
2015           defines (like _FILE_OFFSET_BITS) might be
2016           redefined in the system headers. Fixes build
2017           on opensolaris (#340016).
2018
2019 2006-05-04  Wim Taymans  <wim@fluendo.com>
2020
2021         * docs/libs/gstreamer-libs-sections.txt:
2022         API: addition: gst_adapter_take_buffer()
2023         
2024         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2025         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2026         (gst_adapter_available_fast):
2027         * libs/gst/base/gstadapter.h:
2028         Prepare for optimizing the hell out of this hugely inefficient
2029         piece of code. 
2030         Added gst_adapter_take_buffer() so we can at least start thinking
2031         about subbuffering and merging.
2032         Added some comments.
2033
2034         * tests/check/Makefile.am:
2035         * tests/check/libs/adapter.c: (GST_START_TEST),
2036         (gst_adapter_suite), (main):
2037         Added GstAdapter check.
2038
2039 2006-05-04  Wim Taymans  <wim@fluendo.com>
2040
2041         * docs/design/part-overview.txt:
2042         Fix some typos, add blurb about buffer flags.
2043
2044 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2045
2046         * docs/libs/gstreamer-libs-sections.txt:
2047           make sure GstBaseTransformClass shows up in the docs
2048         * libs/gst/base/gstbasetransform.c:
2049         * libs/gst/base/gstbasetransform.h:
2050           move docs so gtk-doc picks it up now
2051
2052 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2053
2054         * docs/libs/gstreamer-libs-sections.txt:
2055           add missing symbols to docs
2056
2057 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2058
2059         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2060           back out the newsegment handling change, see #340060 for ongoing
2061           discussion
2062
2063 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2064
2065         * tools/gst-run.c: (get_candidates), (main):
2066           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2067           work); fix typo in error message. Fixes #340079.
2068
2069 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2070
2071         * common/Makefile.am:
2072         * docs/Makefile.am:
2073         * docs/faq/Makefile.am:
2074         * docs/gst/Makefile.am:
2075         * docs/libs/Makefile.am:
2076         * docs/manual/Makefile.am:
2077         * docs/plugins/Makefile.am:
2078         * docs/pwg/Makefile.am:
2079         * docs/slides/Makefile.am:
2080         * docs/upload.mak:
2081         * common/upload.mak:
2082           move upload.mak to common
2083
2084 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2085
2086         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2087           add more asserts on refcounts
2088           do more cleanup at end of tests
2089           fix test leaks showing in FC5
2090
2091 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2092
2093         * plugins/elements/gsttypefindelement.c:
2094         (gst_type_find_element_handle_event):
2095         reverted wrong change and reflowed code to avoid others falling into
2096         this trap
2097
2098 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2099
2100         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2101           fix changelog entry about last collectpads change,
2102           add notes about proper fix
2103
2104 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2105
2106         * gst/gst.c:
2107         * gst/gstregistry.c: (gst_registry_scan_path_level),
2108         (gst_registry_scan_path):
2109         * gst/gstregistry.h:
2110           only write out registry if it has changed, fixes #338339
2111
2112 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2113
2114         * gst/gstbin.c:
2115         * gst/gstpipeline.c:
2116         * plugins/elements/gstcapsfilter.c:
2117         * plugins/elements/gstfakesink.c:
2118         * plugins/elements/gstfakesrc.c:
2119         * plugins/elements/gstfdsink.c:
2120         * plugins/elements/gstfdsrc.c:
2121         * plugins/elements/gstfilesink.c:
2122         * plugins/elements/gstfilesrc.c:
2123         * plugins/elements/gstidentity.c:
2124         * plugins/elements/gstqueue.c:
2125         * plugins/elements/gsttee.c:
2126         * plugins/elements/gsttypefindelement.c:
2127         (gst_type_find_element_handle_event):
2128           make GstElementDetails const
2129
2130 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2131
2132         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2133         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2134         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2135           more detailed debug and formatting cleanup,
2136           forward newsegments to src-pad (so that e.g. adder not eats them)
2137
2138 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2139
2140         * gst/gstutils.c: (gst_element_link_pads):
2141           cleanup double code
2142
2143 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2144
2145         * libs/gst/controller/gstcontroller.c:
2146         (gst_controller_sync_values):
2147           some little tuning
2148         * tests/check/libs/controller.c: (GST_START_TEST),
2149         (gst_controller_suite):
2150           a new test for live value handling
2151
2152 2006-04-28  Wim Taymans  <wim@fluendo.com>
2153
2154         * gst/gstutils.c: (push_and_ref):
2155         Added some more docs.
2156         Fix refcount issue whith gst_element_found_tags() helper 
2157         function. Fixes #338335
2158
2159         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2160         Added testsuite for gst_element_found_tags().
2161
2162 2006-04-28  Michael Smith  <msmith@fluendo.com>
2163
2164         * gst/gstvalue.c: (gst_value_serialize_flags):
2165           Avoid NULL dereference when trying to serialize flags containing
2166           invalid values.
2167
2168 2006-04-28  Michael Smith  <msmith@fluendo.com>
2169
2170         * plugins/elements/gsttypefindelement.c:
2171         (gst_type_find_element_handle_event):
2172           If we get EOS before any data is accumulated, don't use
2173           uninitialised local variables.
2174
2175 2006-04-28  Michael Smith  <msmith@fluendo.com>
2176
2177         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2178         (gst_dp_event_from_packet):
2179           Fixes in reading/writing events over GDP (not currently used?) - 
2180           dereferencing NULL events for unknown/invalid event types, memory
2181           leak, and change g_warning to GST_WARNING.
2182
2183 2006-04-28  Wim Taymans  <wim@fluendo.com>
2184
2185         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2186         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2187         (gst_base_sink_get_position), (gst_base_sink_change_state):
2188         When frame dropping is enabled, we should not ignore frames
2189         without a duration.
2190         Update some documentation.
2191
2192 2006-04-28  Wim Taymans  <wim@fluendo.com>
2193
2194         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2195         (gst_base_src_send_event), (gst_base_src_change_state):
2196         Documentation updates.
2197
2198 2006-04-28  Wim Taymans  <wim@fluendo.com>
2199
2200         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2201         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2202         handle EAGAIN, EINTR and short writes correctly. Also clean
2203         up some error cases, avoid a deadlock on bad file descriptors and
2204         use GST_DEBUG_OBJECT.
2205         Fixes #339843
2206
2207 2006-04-28  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstvalue.c: (gst_value_serialize_buffer),
2210         (gst_value_deserialize_buffer):
2211         Don't try to serialize a GValue with a NULL buffer. 
2212         Fixes #339821.
2213
2214         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2215         Added check for serialisation of NULL buffers.
2216
2217 2006-04-28  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/gstminiobject.c: (gst_value_take_mini_object):
2220         Taking a NULL miniobject is valid, fix the case where
2221         we try to unref the NULL miniobject.
2222
2223 2006-04-28  Wim Taymans  <wim@fluendo.com>
2224
2225         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2226
2227         * gst/gstbin.c: (gst_bin_handle_message_func):
2228         Update docs.
2229         Don't leak bin refcount when a state recalc is
2230         in progress and we delay another one #339808.
2231
2232 2006-04-28  Wim Taymans  <wim@fluendo.com>
2233
2234         * docs/design/part-TODO.txt:
2235         Mention QoS as an ongoing work item.
2236
2237         * docs/design/part-buffering.txt:
2238         New doc about buffering that needs to be fleshed out
2239         at some point.
2240
2241         * docs/design/part-qos.txt:
2242         More QoS policy for decoders/demuxers/transforms
2243
2244         * docs/design/part-trickmodes.txt:
2245         Small update.
2246
2247 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2248
2249         * configure.ac:
2250           back to HEAD
2251
2252 === release 0.10.5 ===
2253
2254 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2255
2256         * configure.ac:
2257           releasing 0.10.5, "Fogo"
2258
2259 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2260
2261         patch by: Wim Taymans
2262
2263         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2264         (gst_pad_configure_src), (gst_pad_push):
2265         * gst/gstpipeline.c: (gst_pipeline_init):
2266           Fix internal data flow errors.  Fixes #338711.
2267
2268 2006-04-12  Wim Taymans  <wim@fluendo.com>
2269
2270         * tests/check/gst/gstelement.c: (GST_START_TEST):
2271         Don't leak the factory.
2272
2273 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2274
2275         * configure.ac:
2276         * win32/common/config.h:
2277           prerelease
2278
2279 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2280
2281         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2282         (gst_controller_unset_all):
2283           Free allocated GstTimedValues when freeing list nodes.
2284           Should fix leaks 'make check-valgrind' complains about.
2285
2286         * win32/common/libgstcontroller.def:
2287           Add gst_controller_unset_all.
2288
2289 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2290
2291         * docs/libs/gstreamer-libs-sections.txt:
2292         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2293         (gst_controller_unset_all):
2294         * libs/gst/controller/gstcontroller.h:
2295         API: Added new method gst_controller_unset_all()
2296         fixed gst_controller_unset()
2297         * tests/check/libs/controller.c: (GST_START_TEST),
2298         (gst_controller_suite):
2299         Added two testcases for new and fixed method
2300
2301 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2302
2303         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2304           MSG_DONTWAIT is not defined on Cygwin, so work
2305           around that (fixes #317048).
2306           
2307 2006-04-11  Wim Taymans  <wim@fluendo.com>
2308
2309         * gst/gstelementfactory.c: (gst_element_register),
2310         (gst_element_factory_create), (gst_element_factory_make):
2311         Some cleanups.
2312         Fixed a FIXME.
2313         Updated docs (Fixes #131079)
2314
2315         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2316         Small cleanups.
2317
2318         * tests/check/gst/gstelement.c: (GST_START_TEST),
2319         (gst_element_suite):
2320         Added testcase for elementfactory class field.
2321
2322 2006-04-10  Wim Taymans  <wim@fluendo.com>
2323
2324         * gst/gstsegment.c:
2325         Added some more docs.
2326
2327         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2328         (gst_base_sink_reset_qos):
2329         Calculate more accurate rate values.
2330
2331 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2332
2333         * gst/gst_private.h:
2334           add a new #ifdef to use __declspec(dllimport) only for
2335           other modules and not for gstreamer core
2336         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2337           use gst_guint64_to_gdouble for conversion
2338         * win32/common/libgstreamer.def:
2339           add new exported functions
2340         * win32/vs6/gst_inspect.dsp:
2341         * win32/vs6/gst_launch.dsp:
2342         * win32/vs6/libgstbase.dsp:
2343         * win32/vs6/libgstcontroller.dsp:
2344         * win32/vs6/libgstcoreelements.dsp:
2345         * win32/vs6/libgstdataprotocol.dsp:
2346         * win32/vs6/libgstnet.dsp:
2347           update project files
2348
2349 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2352         * gst/gstclock.c: (gst_clock_class_init):
2353         * gst/gstelement.c: (gst_element_class_init):
2354         * gst/gstindex.c: (gst_index_class_init):
2355         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2356         * gst/gstobject.c: (gst_object_class_init),
2357         (gst_signal_object_class_init):
2358         * gst/gstpad.c: (gst_pad_class_init):
2359         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2360         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2361         * gst/gstregistry.c: (gst_registry_class_init):
2362         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2363         * gst/gsttask.c: (gst_task_class_init):
2364         * gst/gstxml.c: (gst_xml_class_init):
2365         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2366         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2367         (gst_base_src_loop):
2368         * libs/gst/controller/gstcontroller.c:/
2369         (_gst_controller_class_init):
2370         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2371         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2372         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2373         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2374         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2375         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2376
2377 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * gst/gstpad.c: (gst_pad_link):
2380           Must set peer pads before calling the link function, otherwise
2381           a task started from a link function might get a flow-not-linked
2382           result when trying to push because the other thread where the
2383           linking happens hasn't had a chance to set the peers yet. This
2384           might happen for example when a queue gets linked to a downstream
2385           element, as queue starts a streaming task when its source pad
2386           gets linked. Happens in real life when playing back flac/musepack
2387           files in playbin (#332390).
2388           
2389 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2390
2391         * gst/gstindex.h:
2392         * gst/gstxml.h:
2393         * libs/gst/base/gstadapter.h:
2394         * libs/gst/base/gstbasesink.h:
2395         * libs/gst/base/gstbasesrc.h:
2396         * libs/gst/base/gstbasetransform.h:
2397         * libs/gst/base/gstcollectpads.h:
2398         * libs/gst/base/gstpushsrc.h:
2399         Fix broken GObject macros
2400
2401 2006-04-07  Wim Taymans  <wim@fluendo.com>
2402
2403         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2404         Initialize start and stop times, thanks valgrind.
2405
2406 2006-04-07  Wim Taymans  <wim@fluendo.com>
2407
2408         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2409         Be a bit nicer to badly behaving upstream elements that expect
2410         us to deal with non TIME segments and timestamps (such as fakesrc
2411         in the testsuite).
2412
2413 2006-04-07  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/gstbus.c:
2416         Small documentation clarification about the signal watch.
2417
2418         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2419         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2420         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2421         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2422         (gst_base_sink_get_position_last),
2423         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2424         Convert and store timestamps in stream time and running time, the
2425         raw timestamps are not usefull, also document this better.
2426         Use different window sizes for good and bad QoS observations so
2427         we react to badness a little quicker.
2428         Keep track of the amount of rendered and dropped buffers.
2429         Send QoS timestamps in running time.
2430
2431         * libs/gst/base/gstbasetransform.c:
2432         (gst_base_transform_sink_eventfunc),
2433         (gst_base_transform_handle_buffer):
2434         Compare QoS timestamps against running time.
2435
2436 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2437
2438         * gst/gstpad.c:
2439           Typo fixes in docs.
2440
2441 2006-04-06  Michael Smith  <msmith@fluendo.com>
2442
2443         * gst/gstpad.c: (gst_pad_set_property):
2444           Use g_value_get_object() instead of g_value_dup_gst_object(),
2445           to avoid double-reffing the pad template (which we then sink,
2446           so this worked previously if (and only if) the pad template
2447           was floating.
2448
2449         * gst/gstpadtemplate.c: (gst_pad_template_init),
2450         (gst_pad_template_pad_created):
2451           Never return floating references to pad templates, create
2452           them as initially-sunken.
2453
2454           Document an extra function (and make this stop sinking our
2455           pad template, since that is now guaranteed to do nothing,
2456           since we created it sunken).
2457
2458         * gst/gstghostpad.c:
2459           Fix docs typo.
2460
2461 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2462
2463         * gst/gstinfo.c: (__gst_in_valgrind):
2464           Add some newlines.
2465
2466         * plugins/elements/gsttypefindelement.c:
2467         (gst_type_find_element_chain):
2468           Don't leak buffer caps.
2469
2470 2006-04-06  Michael Smith  <msmith@fluendo.com>
2471
2472         * gst/parse/grammar.y:
2473           Fix a leak in parse-launch for any source-or-sink named element 
2474           references used.
2475
2476         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2477           Unref the pipeline if it exists after we've failed parsing.
2478
2479 2006-04-05  Michael Smith  <msmith@fluendo.com>
2480
2481         * gst/gstpipeline.c: (gst_pipeline_init):
2482           When we create a pipeline bus, initially create it in flushing mode.
2483           Fixes leaks in at least one test, and makes a new pipeline work the
2484           same as one that has gone to READY and then back to NULL.
2485
2486         * gst/gstelement.c:
2487           Typo fix in docs.
2488
2489 2006-04-05  Michael Smith  <msmith@fluendo.com>
2490
2491         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2492           Unref a pad we reffed.
2493         * tests/check/gst/gstutils.c: (GST_START_TEST):
2494           Unref bins
2495
2496 2006-04-05  Michael Smith  <msmith@fluendo.com>
2497
2498         * gst/gstquery.c: (gst_query_set_formats),
2499         (gst_query_set_formatsv):
2500           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2501
2502 2006-04-05  Michael Smith  <msmith@fluendo.com>
2503
2504         * tests/check/generic/sinks.c: (GST_START_TEST):
2505           Fix a variety of memleaks in sinks check, which are only sometimes 
2506           shown by running the tests under valgrind (weird?).
2507
2508 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2509
2510         * docs/version.entities.in:
2511           Fix the substituted entity name after thomas' changes on the
2512           weekend.
2513
2514 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2515
2516         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2517         VALGRIND_PRINTF
2518         
2519 2006-04-05  Andy Wingo  <wingo@pobox.com>
2520
2521         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2522
2523         * libs/gst/base/gstbasetransform.c
2524         (gst_base_transform_sink_eventfunc): When resetting our segment on
2525         FLUSH_STOP, also update the flag saying we haven't seen a
2526         newsegment.
2527
2528 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2529
2530         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2531
2532         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2533         (gst_plugin_check_license):
2534           minor clean-ups: G_DEFINE_TYPE already takes care of the
2535           parent_class stuff, no need to do it twice. Mark array of
2536           license strings as constant. (#337103)
2537           
2538 2006-04-04  Michael Smith  <msmith@fluendo.com>
2539
2540         * tools/gst-inspect.c: (print_element_list):
2541           Free the right plugin list; fixes a memory leak.
2542
2543 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2544
2545         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2546
2547         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2548           Don't error out on empty buffers (#336945).
2549           
2550 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2551
2552         * docs/libs/gstreamer-libs-sections.txt:
2553         * gst/gsttaglist.c:
2554         * libs/gst/base/gstbasesink.c:
2555         * libs/gst/base/gstbasesink.h:
2556         * libs/gst/base/gstbasesrc.c:
2557         * libs/gst/base/gstbasesrc.h:
2558           Documentation updates. Make BaseSink and BaseSrc docs contain the
2559           class structure so that people can actually see the prototypes for
2560           virtual functions they're supposed to be overriding.
2561
2562 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2563
2564         * plugins/elements/gsttypefindelement.c:
2565         (gst_type_find_element_chain):
2566           More debug info; when skipping typefinding, send cached
2567           events in all cases.
2568
2569 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2570
2571         * configure.ac:
2572           use new AS_VERSION and AS_NANO macros
2573         * gst/gst-i18n-lib.h:
2574         * gst/gst.c:
2575         * gst/gsterror.c:
2576         * gst/gstversion.h.in:
2577         * win32/common/config.h:
2578         * win32/common/config.h.in:
2579           update accordingly
2580
2581 2006-03-31  Michael Smith  <msmith@fluendo.com>
2582
2583         * plugins/elements/gsttypefindelement.c:
2584         (gst_type_find_element_chain):
2585           Do not typefind content if the buffers already have caps.
2586           Neccesary for icydemux (#333657), and the right thing to do anyway.
2587
2588 2006-03-30  Wim Taymans  <wim@fluendo.com>
2589
2590         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2591         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2592         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2593         (gst_base_sink_record_qos_observation),
2594         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2595         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2596         (gst_base_sink_change_state):
2597         More QoS measurements as described in the design doc.
2598         Get rid of ringbuffer with observations, running average is
2599         more simple and equally good.
2600         Calculates valid proportion now.
2601         Added beginning of flood measurement.
2602
2603 2006-03-29  Wim Taymans  <wim@fluendo.com>
2604
2605         * docs/design/part-qos.txt:
2606         * gst/gstclock.c:
2607         Small documentation updates and additions.
2608
2609 2006-03-29  Wim Taymans  <wim@fluendo.com>
2610
2611         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2612         (gst_base_src_send_event), (gst_base_src_loop),
2613         (gst_base_src_change_state):
2614         Perform the EOS logic when we reach the segment stop position.
2615         Fix compilation on gcc4.1
2616
2617 2006-03-29  Wim Taymans  <wim@fluendo.com>
2618
2619         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2620
2621         * plugins/elements/gstqueue.c: (gst_queue_init),
2622         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2623         (gst_queue_set_property):
2624         * plugins/elements/gstqueue.h:
2625         In queue, when EOS is received, if minimum threshold > max_size -
2626         current_level, there is chance that queue blocks forever in conditional
2627         item del wait. This is because the queue is not emptied completely due
2628         to minimum threshold.  Here is another approach. Instead of setting
2629         cur_levels to max in EOS, just zero all minimum threshold levels. This
2630         should make sure that queue gives out all data. When going to READY
2631         (stop) state, just reset the original minimum threshold levels.
2632         Fixes #336336.
2633
2634 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2635
2636         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2637         (gst_type_find_element_handle_event),
2638         (gst_type_find_element_send_cached_events),
2639         (gst_type_find_element_change_state):
2640         * plugins/elements/gsttypefindelement.h:
2641           When typefinding is done in push mode, we should cache
2642           events we receive during typefinding instead of just
2643           dropping them (e.g. newsegment, custom events from
2644           dvdreadsrc etc.) and then send them out once we've
2645           determined the type of the stream (and decodebin
2646           has had a chance to plug in a decoder/demuxer).
2647           
2648 2006-03-27  Wim Taymans  <wim@fluendo.com>
2649
2650         * docs/design/part-qos.txt:
2651         First QoS ideas.
2652
2653 2006-03-27  Wim Taymans  <wim@fluendo.com>
2654
2655         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2656
2657         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2658         (gst_base_src_send_event), (gst_base_src_change_state):
2659         Handle element seek correctly when we are streaming.
2660         Fixes #326998.
2661
2662 2006-03-24  Michael Smith  <msmith@fluendo.com>
2663
2664         * docs/faq/gst-uninstalled:
2665           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2666           allow you to correctly run intalled applications built against old 
2667           core, using plugins that require updated core (e.g. running
2668           installed totem against a full uninstalled gstreamer stack)
2669
2670 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2671
2672         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2673         more debug details
2674
2675 2006-03-24  Wim Taymans  <wim@fluendo.com>
2676
2677         * docs/gst/gstreamer-sections.txt:
2678         Rearrange the order of the methods so that related methods
2679         are grouped together in sections.
2680
2681 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2682
2683         * gst/gstelement.c:
2684           Little clarification in the docs
2685
2686 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2687
2688         * docs/README:
2689         formatting fix
2690         * plugins/elements/gstidentity.c:
2691         * plugins/elements/gstqueue.c:
2692         * plugins/elements/gsttee.c:
2693         * plugins/elements/gsttypefindelement.c:
2694         GST_ELEMENT_DETAILS formatting
2695
2696 2006-03-24  Wim Taymans  <wim@fluendo.com>
2697
2698         * libs/gst/base/gstbasesink.h:
2699         Only add fields, not insert or we break ABI.
2700
2701 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2702
2703         * win32/common/libgstbase.def:
2704         * win32/common/libgstreamer.def:
2705           Update, add recently added functions.
2706
2707 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2708
2709         * docs/gst/gstreamer-sections.txt:
2710         * gst/gstutils.c: (gst_pad_query_peer_position),
2711         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2712         * gst/gstutils.h:
2713           API: add some new utility functions:
2714            - gst_pad_query_peer_position()
2715            - gst_pad_query_peer_duration()
2716            - gst_pad_query_peer_convert()
2717           
2718 2006-03-23  Wim Taymans  <wim@fluendo.com>
2719
2720         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2721         (gst_base_sink_init), (gst_base_sink_finalize),
2722         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2723         (gst_base_sink_set_property), (gst_base_sink_get_property),
2724         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2725         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2726         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2727         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2728         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2729         (gst_base_sink_preroll_object), (gst_base_sink_event),
2730         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2731         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2732         (gst_base_sink_query), (gst_base_sink_change_state):
2733         Decouple max-lateness and the fact that QoS messages are generated
2734         with a new property (qos).
2735         added API: GstBaseSink::async_play()
2736         Add vmethod so subclasses can be notified of ASYNC playing
2737         state changes.
2738         Collect timestamp start and stop to report better current
2739         position in EOS/PLAYING/PAUSED/READY/NULL.
2740         Refactor QoS/frame dropping and other measurements.
2741         API: GstBaseSrc::qos
2742         Fixes #326311
2743
2744         * libs/gst/base/gstbasesink.h:
2745         Added Private struct.
2746         API: gst_base_sink_set_qos_enabled()
2747         API: gst_base_sink_is_qos_enabled()
2748
2749 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2750
2751         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2752           If compiling against GLib-2.8 or newer, try to read the
2753           registry file using GMappedFile first before falling back
2754           to fopen() + fread() (#332151).
2755
2756 2006-03-22  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstinfo.c: (gst_debug_set_active),
2759         (gst_debug_category_set_threshold):
2760         Disable debugging unless explicitly activated.
2761         Fixes #335480.
2762
2763 2006-03-22  Wim Taymans  <wim@fluendo.com>
2764
2765         * gst/gstelement.c: (gst_element_set_locked_state),
2766         (gst_element_dispose):
2767         Cleanup the error case.
2768
2769         * gst/gstobject.c: (gst_object_dispose):
2770         print a critical when some object was disposed with
2771         a parent, also revive the object since it might
2772         crash the parent.
2773
2774 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * tools/gst-launch.1.in:
2777           Fix another typo.
2778
2779 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2780
2781         * configure.ac:
2782         * tests/check/Makefile.am:
2783           disable some tests when we don't have a registry
2784         * tests/check/gst/gstutils.c: (gst_utils_suite):
2785           don't build the part that needs parsing
2786
2787 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2788
2789         * gst/Makefile.am
2790         * tests/examples/Makefile.am:
2791           fix --disable-parse build
2792
2793 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2794
2795         * tools/gst-feedback.1.in:
2796           Fix typo: s/feeback/feedback/ (#133494).
2797
2798 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2799
2800         * tools/Makefile.am:
2801         * tools/gst-launch.1.in:
2802           Add FILES section and correct entry about GST_REGISTRY_PATH
2803           environment variable (#133495; #133494).
2804
2805 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * tools/Makefile.am:
2808         * tools/gst-md5sum.1.in:
2809         * tools/gst-md5sum.c:
2810           Remove gst-md5sum and man page (the md5sink element
2811           required was removed ages ago)
2812
2813 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2814
2815         * gst/gststructure.c: (gst_structure_id_set_value):
2816           Make sure that string fields in structures/taglists
2817           contain valid UTF-8 - we don't want to pass rubbish to
2818           applications because of a buggy plugin (cp. #334167).
2819
2820 2006-03-21  Edward Hervey  <edward@fluendo.com>
2821
2822         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2823         (gst_bin_handle_message_func):
2824         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2825         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2826         (gst_element_set_bus_func):
2827         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2828         * gst/gstminiobject.c: (gst_value_set_mini_object),
2829         (gst_value_take_mini_object):
2830         * gst/gstpad.c: (gst_pad_set_pad_template):
2831         * gst/gstpipeline.c: (gst_pipeline_dispose),
2832         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2833         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2834         (gst_collect_pads_chain):
2835         * libs/gst/net/gstnettimeprovider.c:
2836         (gst_net_time_provider_set_property):
2837         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2838         It's in fact all issues with gst_*object_replace().
2839
2840 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2843         
2844         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2845         * pkgconfig/gstreamer-check.pc.in:
2846           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2847
2848 2006-03-21  Edward Hervey  <edward@fluendo.com>
2849
2850         * gst/gstbuffer.h:
2851         * gst/gstevent.h:
2852         * gst/gstmessage.h:
2853         gst_[buffer|event|message]_ref() macros are replaced by a static
2854         inline functions because gcc-4.1 will about if the return value
2855         isn't used.
2856         * tests/check/gst/gstevent.c: (event_probe):
2857         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2858
2859 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2860
2861         * gst/gstutils.h:
2862         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2863         the type' case. (Closes: #335195 for now). In the future, when we
2864         depend on GLib 2.10, we could also intern the type name using
2865         g_intern_static_string()
2866
2867 2006-03-20  Wim Taymans  <wim@fluendo.com>
2868
2869         * gst/gstbin.c: (gst_bin_handle_message_func),
2870         (bin_query_max_init), (bin_query_position_fold),
2871         (bin_query_position_done), (gst_bin_query):
2872         Position query should also take max of all streams.
2873
2874 2006-03-20  Wim Taymans  <wim@fluendo.com>
2875
2876         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2877         (gst_fake_src_finalize):
2878         Fix leaks in fakesrc.
2879
2880         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2881         Fix leaks in the testcase.
2882
2883 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2884
2885         * gst/gst_private.h:
2886           add win32 specific import decoration(__declspec(dllimport)) 
2887           for all extern GstDebugCategory * variables
2888         * win32/common/libgstbase.def:
2889         * win32/common/libgstcontroller.def:
2890         * win32/common/libgstreamer.def:
2891           Add some exports, remove empty lines
2892         * win32/common/libgstdataprotocol.def:
2893         * win32/common/libgstdataprotocol.dsp:
2894         * win32/common/libgstnet.def:
2895         * win32/common/libgstnet.dsp:
2896           new project files and exportation files added
2897         
2898 2006-03-19  Wim Taymans  <wim@fluendo.com>
2899
2900         * tests/check/libs/basesrc.c: (eos_event_counter):
2901         Use proper return value for probe.
2902
2903 2006-03-17  Wim Taymans  <wim@fluendo.com>
2904
2905         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2906         (gst_pad_push):
2907         Don't leak buffers, caps and pads on negotiation errors.
2908
2909 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2910
2911         * docs/faq/cvs.xml:
2912         * docs/faq/dependencies.xml:
2913         * docs/faq/developing.xml:
2914         * docs/faq/faq.xml:
2915         * docs/faq/general.xml:
2916         * docs/faq/getting.xml:
2917         * docs/faq/legal.xml:
2918         * docs/faq/troubleshooting.xml:
2919         * docs/faq/using.xml:
2920         Faq review and update.
2921
2922 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2923
2924         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2925         (gst_pad_push):
2926         Don't pound the cpu to pieces by checking get_caps when accept_caps
2927         is called with the same caps as the pad already has.
2928         Use GST_DEBUG_OBJECT when outputting caps change information.
2929
2930 2006-03-15  Wim Taymans  <wim@fluendo.com>
2931
2932         * gst/gstclock.c: (gst_clock_class_init):
2933         Fix docs.
2934
2935 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2936
2937         * gst/gstbuffer.h:
2938         Documentation fix.
2939
2940         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2941         (gst_pad_accept_caps), (gst_pad_configure_sink),
2942         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2943         Make the default acceptcaps behaviour be to check the requested 
2944         caps against the gst_pad_get_caps output. 
2945
2946         Ensure that gst_pad_accept_caps is used to check caps when a pad
2947         doesn't have a setcaps function, so that pads automatically refuse 
2948         caps that they don't allow in their pad template. (Fixes #332986)
2949
2950         When a buffer with attached caps is pushed, ensure that the source 
2951         pad receives those caps even if the element didn't call
2952         gst_pad_set_caps first.
2953
2954 2006-03-15  Wim Taymans  <wim@fluendo.com>
2955
2956         * libs/gst/base/gstadapter.c:
2957         Add some docs.
2958
2959 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2960
2961         * win32/common/libgstbase.def:
2962         * win32/common/libgstcontroller.def:
2963         * win32/common/libgstreamer.def:
2964           Add a whole bunch of missing functions (#334434).
2965
2966 2006-03-14  Wim Taymans  <wim@fluendo.com>
2967
2968         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2969         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2970         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2971         Better debug info when we receive a segment event.
2972         Reorganize a bit so we can pass the get_times() results around.
2973         Use the segment format when calculating the running time.
2974         Don't do QoS is sync is disabled or we have no clock or the
2975         element does not want us to sync to the clock.
2976         Don't drop buffers if QoS is disabled for now.
2977
2978 2006-03-14  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2981         Marked the stats property as unimplemented so people don't get
2982         wild ideas.
2983         Add debug message when regression goes wrong.
2984         Added some more docs.
2985
2986 2006-03-14  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/gstsegment.c: (gst_segment_to_stream_time):
2989         Return correct return type in case of errors.
2990
2991 2006-03-14  Wim Taymans  <wim@fluendo.com>
2992
2993         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2994           Don't segfault on invalid formats.
2995
2996 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2997
2998         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2999           Can't use gst_segment_to_running_time() when the segment
3000           is not in GST_TIME_FORMAT (like with filesink, for example).
3001           Stops flac encoding pipelines from spewing critical warnings
3002           at EOS (#331248).
3003           
3004 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3005
3006         * gst/gstpipeline.c: (gst_pipeline_class_init):
3007           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3008
3009         * plugins/elements/gsttypefindelement.c:
3010         (gst_type_find_element_handle_event):
3011           Don't try to typefind empty streams.
3012
3013 2006-03-14  Wim Taymans  <wim@fluendo.com>
3014
3015         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3016         (gst_base_sink_do_qos):
3017         Separate QoS calculation.
3018         Only drop buffers when lateness is bigger than the 
3019         duration of the buffer.
3020
3021 2006-03-13  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/gstpipeline.c: (gst_pipeline_set_property),
3024         (gst_pipeline_get_property), (do_pipeline_seek),
3025         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3026         (gst_pipeline_get_delay):
3027         Don't deadlock when reading properties.
3028
3029 2006-03-13  Wim Taymans  <wim@fluendo.com>
3030
3031         * libs/gst/base/gstbasetransform.c:
3032         (gst_base_transform_class_init), (gst_base_transform_init),
3033         (gst_base_transform_sink_event),
3034         (gst_base_transform_sink_eventfunc),
3035         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3036         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3037         (gst_base_transform_set_property),
3038         (gst_base_transform_get_property),
3039         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3040         (gst_base_transform_set_qos_enabled),
3041         (gst_base_transform_is_qos_enabled):
3042         * libs/gst/base/gstbasetransform.h:
3043         Make basetransform virtual method for src events too.
3044         Handle QOS in basetransform.
3045         API: gst_base_transform_update_qos()
3046         API: gst_base_transform_set_qos_enabled()
3047         API: gst_base_transform_is_qos_enabled()
3048
3049 2006-03-13  Wim Taymans  <wim@fluendo.com>
3050
3051         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3052         (gst_base_sink_do_sync):
3053         Small cleanups.
3054         Use QOS debug category.
3055
3056 2006-03-13  Wim Taymans  <wim@fluendo.com>
3057
3058         * plugins/elements/gstqueue.c:
3059         Very small doc update.
3060
3061 2006-03-13  Wim Taymans  <wim@fluendo.com>
3062
3063         * gst/gst_private.h:
3064         * gst/gstinfo.c: (_gst_debug_init):
3065         Added QOS debug category
3066
3067 2006-03-13  Wim Taymans  <wim@fluendo.com>
3068
3069         * docs/gst/gstreamer-sections.txt:
3070         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3071         * gst/gstbin.h:
3072         * gst/gstbus.c: (gst_bus_class_init):
3073         * gst/gstbus.h:
3074         * gst/gstclock.c:
3075         * gst/gstelement.c: (gst_element_set_locked_state):
3076         * gst/gstsegment.c:
3077         Documentation updates.
3078
3079         * gst/gstpipeline.c: (gst_pipeline_get_type),
3080         (gst_pipeline_class_init), (gst_pipeline_init),
3081         (gst_pipeline_dispose), (gst_pipeline_set_property),
3082         (gst_pipeline_get_property), (do_pipeline_seek),
3083         (gst_pipeline_send_event), (gst_pipeline_change_state),
3084         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3085         (gst_pipeline_get_delay):
3086         * gst/gstpipeline.h:
3087         Added methods for setting the delay.
3088         API: gst_pipeline_set_delay()
3089         API: gst_pipeline_get_delay()
3090         Add pipeline debug category
3091         Various cleanups.
3092         Updated docs.
3093         Don't reset stream time when seek failed.
3094
3095 2006-03-13  Wim Taymans  <wim@fluendo.com>
3096
3097         * docs/design/draft-klass.txt:
3098         * docs/design/part-clocks.txt:
3099         * docs/design/part-events.txt:
3100         * docs/design/part-gstbin.txt:
3101         * docs/design/part-gstpipeline.txt:
3102         * docs/design/part-messages.txt:
3103         * docs/design/part-negotiation.txt:
3104         * docs/design/part-overview.txt:
3105         * docs/design/part-preroll.txt:
3106         * docs/design/part-seeking.txt:
3107         * docs/design/part-states.txt:
3108         * docs/design/part-streams.txt:
3109         Documentation updates.
3110
3111 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3112
3113         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3114         us to leak strings...
3115
3116 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * libs/gst/net/gstnettimeprovider.c:
3119           fix docs
3120         * win32/common/config.h:
3121           update
3122
3123 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3126
3127         * configure.ac:
3128           Don't check for libgnomeui (leftover from old examples
3129           that aren't built or disted any longer) (#334303).
3130           
3131 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3132
3133         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3134         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3135           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3136           there's no space left on the device.
3137
3138 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3139
3140         * gst/gstclock.h:
3141           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3142           to cast the input to GstClockTime before comparing with
3143           another GstClockTime value.
3144
3145 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * configure.ac:
3148           back to trunk
3149
3150 === release 0.10.4 ===
3151
3152 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3153
3154         * configure.ac:
3155           releasing 0.10.4, "Light"
3156
3157 2006-03-10  Michael Smith  <msmith@fluendo.com>
3158
3159         * libs/gst/dataprotocol/dataprotocol.c:
3160           Fix docs for dataprocotol to not get the return types completely
3161           wrong for a few functions.
3162
3163 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3164
3165         * docs/gst/gstreamer-sections.txt:
3166         * gst/gstpipeline.c: (gst_pipeline_class_init),
3167         (gst_pipeline_init), (gst_pipeline_set_property),
3168         (gst_pipeline_get_property), (gst_pipeline_change_state),
3169         (gst_pipeline_set_auto_flush_bus),
3170         (gst_pipeline_get_auto_flush_bus):
3171         * gst/gstpipeline.h:
3172           Add new API: gst_pipeline_set_auto_flush_bus() and
3173           gst_pipeline_get_auto_flush_bus() to disable automatic
3174           flushing of the pipeline's GstBus when going from READY
3175           to NULL state (#332045).
3176
3177 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3178
3179         * docs/gst/gstreamer-sections.txt:
3180         * gst/gsturi.c: (gst_uri_has_protocol):
3181         * gst/gsturi.h:
3182            Add new API: gst_uri_has_protocol() (#333779).
3183
3184 2006-03-09  Wim Taymans  <wim@fluendo.com>
3185
3186         * gst/gstclock.c: (gst_clock_entry_new),
3187         (gst_clock_id_compare_func), (gst_clock_id_wait),
3188         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3189         (gst_clock_init), (gst_clock_get_internal_time),
3190         (gst_clock_set_master), (do_linear_regression),
3191         (gst_clock_add_observation), (gst_clock_set_property):
3192         * gst/gstclock.h:
3193         Review docs.
3194         Small cleanups.
3195         Fix a possible segfault when the window-size is made smaller.
3196         Calculate jitter before performing the clock wait. Ideally
3197         the clock implementation should calculate jitter but we need
3198         API breakage for that.
3199
3200         * gst/gstsystemclock.c: (gst_system_clock_init):
3201         Docs review.
3202         
3203         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3204         Remove leftover else
3205
3206         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3207         (gst_systemclock_suite):
3208         Added check to test GST_CLOCK_DIFF.
3209
3210 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3211
3212         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3213         (gst_type_find_helper_get_range):
3214           If we are provided with the size, we should implement
3215           GstTypeFind::get_length, so that typefind functions who
3216           want to can actually peek at the middle of a file.
3217
3218 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * docs/manual/advanced-dataaccess.xml:
3221           Add some very very basic error checking.
3222
3223         * docs/pwg/appendix-checklist.xml:
3224           Some updates to the list of things to check when writing an element.
3225
3226 2006-03-08  Wim Taymans  <wim@fluendo.com>
3227
3228         * docs/design/part-element-transform.txt:
3229         Added some docs about the design of tranform elements.
3230
3231         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3232         (gst_base_src_loop), (gst_base_src_change_state):
3233         Mark buffers with the DISCONT flag.
3234
3235 2006-03-08  Michael Smith  <msmith@fluendo.com>
3236
3237         * gst/gstregistry.h:
3238         * gst/gstregistryxml.c: (gst_registry_save),
3239         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3240         (gst_registry_xml_save_pad_template),
3241         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3242         (gst_registry_xml_write_cache):
3243           Rewrite registry-saving to avoid race conditions and check for
3244           failed writes.
3245
3246 2006-03-08  Wim Taymans  <wim@fluendo.com>
3247
3248         * libs/gst/base/gstbasetransform.c:
3249         (gst_base_transform_transform_caps),
3250         (gst_base_transform_transform_size),
3251         (gst_base_transform_prepare_output_buffer),
3252         (gst_base_transform_get_unit_size),
3253         (gst_base_transform_buffer_alloc),
3254         (gst_base_transform_handle_buffer),
3255         (gst_base_transform_change_state):
3256         Cleanups, separate normal flow from errors, add sensible
3257         DEBUG lines.
3258         Don't try to renegotiate when allocating an output buffer.
3259         Also copy DISCONT buffer flag when copying a buffer.
3260         Reset the transform after we finish streaming, not during.
3261
3262 2006-03-08  Wim Taymans  <wim@fluendo.com>
3263
3264         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3265         Use last buffer timestamp in qos message.
3266
3267 2006-03-07  Wim Taymans  <wim@fluendo.com>
3268
3269         Patch by: Christophe Fergeau
3270
3271         * docs/pwg/advanced-tagging.xml:
3272         * docs/pwg/building-pads.xml:
3273           fixes #333416
3274
3275 2006-03-07  Wim Taymans  <wim@fluendo.com>
3276
3277         * docs/libs/gstreamer-libs-sections.txt:
3278         Added basesink new methods.
3279
3280         * gst/gstevent.c:
3281         * gst/gstevent.h:
3282         Docs updates. Flesh out the QoS docs.
3283
3284         * libs/gst/base/gstadapter.c:
3285         Small doc clarification about ownership and flushing.
3286
3287         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3288         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3289         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3290         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3291         * libs/gst/base/gstbasesink.h:
3292         API additions: 
3293         Added new methods to allow subclass to control max-lateness 
3294         and sync.
3295         Generate very basic QoS events based on last sync observation.
3296         Updated docs, fix typo, added some QoS blurb.
3297
3298         * libs/gst/base/gstbasesrc.c:
3299         Remove obsolete _get_state() calls from docs.
3300
3301 2006-03-07  Wim Taymans  <wim@fluendo.com>
3302
3303         * docs/libs/gstreamer-libs-sections.txt:
3304         * libs/gst/base/gstbasetransform.h:
3305         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3306         Fix docs for GstBaseSrc.
3307
3308 2006-03-07  Wim Taymans  <wim@fluendo.com>
3309
3310         * docs/gst/gstreamer-sections.txt:
3311         * gst/gstbuffer.h:
3312         * gst/gstvalue.c:
3313         * libs/gst/base/gstbasetransform.h:
3314         Small documentation fixes.
3315
3316 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3317
3318         * gst/gstvalue.c:
3319           Document thread-unsafety of gst_value_register_foo_func()
3320           when used at the same time as gst_value_foo() (#322628).
3321
3322 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3323
3324         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3325         (gst_push_src_check_get_range):
3326           Push sources don't support pull mode by default.
3327
3328 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3331         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3332         (gst_base_src_default_check_get_range):
3333         * libs/gst/base/gstbasesrc.h:
3334           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3335           provide default implementation, and rename
3336           gst_base_src_check_get_range() to
3337           gst_base_src_pad_check_get_range() for clarity.
3338
3339 2006-03-06  Wim Taymans  <wim@fluendo.com>
3340
3341         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3342         Make property overridable.
3343
3344 2006-03-06  Wim Taymans  <wim@fluendo.com>
3345
3346         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3347         (gst_base_sink_init), (gst_base_sink_set_property),
3348         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3349         * libs/gst/base/gstbasesink.h:
3350         API addition: Make max-lateness a property.
3351
3352 2006-03-06  Wim Taymans  <wim@fluendo.com>
3353
3354         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3355         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3356         Don't ever draw a frame that is >10ms late.
3357
3358 2006-03-06  Michael Smith  <msmith@fluendo.com>
3359
3360         * gst/gstmessage.c: (_gst_message_copy):
3361           When copying a message, set the parent_refcount of the enclosed
3362           structure to point at the copy, not the original message.
3363
3364 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         Patch by: Christophe Fergeau
3367
3368         * gst/gstutils.h:
3369           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3370           usable in c++ code (#333417)
3371
3372 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * gst/gstclock.h:
3375           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3376
3377 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3378
3379         * libs/gst/base/gstbasetransform.c:
3380         (gst_base_transform_transform_caps):
3381           Make sure caps are writable before passing them to
3382           gst_caps_append().
3383
3384 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3385
3386         * gst/gsterror.h:
3387           Fix some minor docs errors.
3388
3389 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3390
3391           Patch by: Ross Burton <ross at burtonini dot com>
3392
3393         * gst/gsterror.c: (_gst_resource_errors_init):
3394         * gst/gsterror.h:
3395           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3396
3397 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3398
3399         * gst/gst.c:
3400         Add a check and output a g_warning when GStreamer is built
3401         against GLib 2.6 but running against 2.8 or higher, and vice 
3402         versa. (Closes: #323542)
3403
3404 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3405
3406         * gst/parse/parse.l:
3407           Commit patch for parse_launch syntax from #331255. Removes 
3408           support for quoted strings and mimetypes when writing filtered 
3409           caps. See the bug report for more details - I'm pretty sure this
3410           obscure feature is not in use by _anyone_ anywhere.
3411
3412           With this simple change, the size of the gstreamer.so here 
3413           drops from 2193KB to 1565KB.
3414
3415 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3416
3417         * plugins/elements/gsttypefindelement.h:
3418         * plugins/elements/gsttypefindelement.c:
3419         (gst_type_find_element_src_event), (start_typefinding),
3420         (stop_typefinding), (gst_type_find_element_handle_event),
3421         (gst_type_find_element_chain),
3422         (gst_type_find_element_chain_do_typefinding):
3423           Use gst_type_find_helper_for_buffer() for chain-based
3424           typefinding.
3425
3426 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3427
3428         * plugins/elements/gsttypefindelement.c:
3429         (gst_type_find_element_class_init),
3430         (gst_type_find_element_set_property),
3431         (gst_type_find_element_get_property):
3432           Deprecate "maximum" property (not only was it only taken into
3433           account for typefinding in push-mode anyway, it also was never
3434           actually possible to set it in the first place because the
3435           property was registered with the numeric property ID for the
3436           "minimum" property). Register "maximum" property correctly,
3437           for the sake of future copy'n'pasters. Remove some cruft
3438           from property get/set functions.
3439
3440 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3441
3442         * plugins/elements/gsttypefindelement.c:
3443         (gst_type_find_element_activate):
3444           Use gst_type_find_helper_get_range() here, so we
3445           can honour the "minimum" property and also emit
3446           the signal with the correct probability of the found caps.
3447
3448 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3449
3450         * docs/libs/gstreamer-libs-sections.txt:
3451         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3452         (helper_find_suggest), (gst_type_find_helper_get_range),
3453         (gst_type_find_helper):
3454         * libs/gst/base/gsttypefindhelper.h:
3455           New API: gst_type_find_helper_get_range() (#333042).
3456
3457 2006-03-02  Michael Smith  <msmith@fluendo.com>
3458
3459         * gst/gstregistryxml.c: (load_feature):
3460           Asserting on a failure to read part of the registry is Not Cool.
3461           Just log a warning and return NULL (which is already handled)
3462
3463 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3464
3465         * win32/common/libgstbase.def:
3466           added export of gst_type_find_helper_for_buffer
3467         * win32/common/libgstbase.def:
3468           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3469           gst_ghost_pad_get_target
3470
3471 2006-02-28  Wim Taymans  <wim@fluendo.com>
3472
3473         * docs/design/draft-klass.txt:
3474         We use Filter now.
3475         Added Connector to mark elements that are only used to
3476         allow pipeline connections.
3477         Moved Debug to extra feature since most of them are 
3478         functionally something else.
3479
3480 2006-02-28  Wim Taymans  <wim@fluendo.com>
3481
3482         * docs/design/draft-klass.txt:
3483         Some updates and clarifications.
3484
3485 2006-02-28  Wim Taymans  <wim@fluendo.com>
3486
3487         * docs/design/draft-klass.txt:
3488         Proposal for klass field values.
3489
3490         * docs/design/part-streams.txt:
3491         Start of a doc describing stream anatomy.
3492
3493 2006-02-28  Wim Taymans  <wim@fluendo.com>
3494
3495         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3496         Help the compiler a bit with type registration.
3497         Use existing forward cod path instead of duplicating it when 
3498         handling a message.
3499         
3500         * gst/gstbus.c: (gst_bus_get_type):
3501         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3502         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3503         * gst/gstclock.c: (gst_clock_get_type):
3504         * gst/gstelement.c: (gst_element_get_type),
3505         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3506         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3507         * gst/gstminiobject.c: (gst_mini_object_get_type):
3508         * gst/gstpad.c: (gst_pad_get_type):
3509         * gst/gstsegment.c: (gst_segment_get_type):
3510         * gst/gststructure.c: (gst_structure_get_type):
3511         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3512         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3513         * gst/gstvalue.c:
3514         Help compiler with type registration.
3515
3516         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3517         Small doc update.
3518
3519 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3520
3521         * plugins/elements/gsttypefindelement.c:
3522         (gst_type_find_element_handle_event):
3523           When we get an EOS event and have not found a type yet
3524           (most likely because we had not yet accumulated
3525           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3526           type given the data we have so far. Fixes typefinding
3527           for very short streams again, most notably quicktime
3528           redirections as used on Apple's trailer site (#331701).
3529
3530 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3531
3532         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3533         (gst_type_find_helper):
3534           Try typefinding factories with the highest rank first.
3535
3536 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * docs/libs/gstreamer-libs-docs.sgml:
3539         * docs/libs/gstreamer-libs-sections.txt:
3540         * libs/gst/base/gsttypefindhelper.c:
3541           Add section for typefind helper and add documentation
3542           for the old and the new function.
3543
3544 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3545
3546         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3547         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3548         (gst_type_find_helper_for_buffer):
3549         * libs/gst/base/gsttypefindhelper.h:
3550           New API: gst_type_find_helper_for_buffer() (#332723).
3551           
3552 2006-02-27  Michael Smith  <msmith@fluendo.com>
3553
3554         Patch by: Loïc Minier
3555
3556         * configure.ac:
3557         * docs/Makefile.am:
3558         * docs/slides/Makefile.am:
3559           prevent CVS directories getting disted.
3560
3561 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3562
3563         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3564           Use the REFCOUNTING category for caps refcounting.
3565           
3566 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3567
3568         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3569           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3570
3571 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * plugins/elements/gsttypefindelement.c:
3574         (gst_type_find_element_activate):
3575           Use gst_pad_check_pull_range() before _activate_pull()
3576           to avoid unnecessary open/close (see #331690).
3577
3578 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3579
3580         * gst/gstutils.c:
3581           Docs enhancement: make it crystal clear what the
3582           gst_pad_add_*_probe() callbacks should look like.
3583
3584 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3585
3586         * libs/gst/base/gstbasesrc.c:
3587           Document how applications can stop recording from
3588           live sources (see #330996).
3589
3590 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         * tests/check/Makefile.am:
3593         * tests/check/libs/basesrc.c: (eos_event_counter),
3594         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3595         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3596         (gst_basesrc_suite), (main):
3597           ... and add some tests for the base source EOS stuff.
3598
3599 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3602           Test case originally showed the problem fixed below,
3603           but was then amended. Add checks back at the place
3604           where they used to be.
3605
3606 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3607
3608         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3609         (gst_base_src_init), (gst_base_src_loop),
3610         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3611         (gst_base_src_change_state):
3612         * libs/gst/base/gstbasesrc.h:
3613           Don't unconditionally send EOS when going from PAUSED to
3614           READY state, esp. make sure we don't send two EOS events
3615           in some cases (e.g. one when reaching EOS and one when
3616           going from PAUSED to READY). Also, we don't want to send
3617           EOS events when operating in pull mode. However, we do
3618           want to send an EOS event when shutting down a live
3619           source explicitly, for example (fixes #330996).
3620           
3621 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3622
3623         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3624           Update src->read_position after a seek when not using mmap.
3625           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3626
3627 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3628
3629         * gst/Makefile.am:
3630         * gst/gstparse.h:
3631         * gst/gstutils.c:
3632         * gst/gstutils.h:
3633         Make things work with --disable-parse as they do with 
3634         --disable-load-save - the symbols involved disappear, but the
3635         header is still installed and GST_DISABLE_PARSE is included via
3636         gstconfig.h
3637
3638 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3639
3640         * libs/gst/base/gstbasetransform.c:
3641         (gst_base_transform_change_state): Fix a stupid bug. I was 
3642         sure I compiled that.
3643
3644 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3645
3646         * gst/gstpad.c: (gst_pad_set_blocked_async):
3647         * gst/gstutils.c: (gst_pad_add_data_probe),
3648         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3649         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3650         (gst_pad_remove_buffer_probe): Make those function act on the
3651         ghostpad target when it's a ghostpad. (Closes #331727)
3652
3653 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3654
3655         * libs/gst/base/gstbasetransform.c:
3656         (gst_base_transform_change_state): Make basetransform reusable.
3657         (Closes #331898)
3658
3659 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3660
3661         * docs/random/release:
3662         Move the current documentation of how to do a release to the top
3663         of the file.
3664
3665         * gst/gstbin.c: (gst_bin_class_init),
3666         (gst_bin_handle_message_func):
3667         Allow multiple state-recalculation threads. (Closes #328873)
3668
3669 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3670
3671         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3672         * gst/gstpad.c: (gst_pad_set_event_function),
3673         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3674         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3675         2 strings. You can't use the STR_NULL macro on that.
3676
3677 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3678
3679         * gst/gstpad.c: (gst_pad_set_event_function),
3680         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3681         (gst_pad_set_getcaps_function)
3682         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3683           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3684           So now, we can use --gst-debug-level=5 on Windows
3685         * win32/common/libgstcontroller.def:
3686           Added export of gst_controller_init
3687         * win32/vs6/libgstcontroller.dsp:
3688           Fixed Release post build configuration
3689
3690 2006-02-17  Wim Taymans  <wim@fluendo.com>
3691
3692         * tests/check/gst/gstquery.c: (GST_START_TEST):
3693         Added another check.
3694
3695 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3696
3697         * plugins/elements/gsttypefindelement.c: (find_peek):
3698           We can do peeks at non-zero offsets, as long as they
3699           fall within the buffer we have.
3700
3701 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3702
3703         * tests/check/Makefile.am:
3704         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3705         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3706         (parse_suite), (main):
3707           Add testsuite for parse launch syntax
3708
3709 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3710
3711         * plugins/elements/gsttypefindelement.c:
3712         (gst_type_find_element_chain):
3713           When typefinding is unsuccessful in the chain function, don't
3714           error out immediately. Only error out with NO_CAPS_FOUND if
3715           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3716           otherwise simply wait for more data so we can try typefinding
3717           again with more data later. Also, don't attempt to typefind
3718           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3719           this should improve typefinding from network sources where the
3720           size of the first buffer can be somewhat random.
3721
3722 2006-02-14  Wim Taymans  <wim@fluendo.com>
3723
3724         * docs/gst/gstreamer-sections.txt:
3725         * gst/gstpadtemplate.c:
3726         * gst/gstpadtemplate.h:
3727         Fix padtemplate docs, fixes #328805.
3728
3729 2006-02-14  Wim Taymans  <wim@fluendo.com>
3730
3731         * tools/gst-launch.c: (main):
3732         NO_PREROLL is not an ERROR so don't send confusing messages
3733         to the user.
3734
3735 2006-02-14  Wim Taymans  <wim@fluendo.com>
3736
3737         Patch by: Torsten Schoenfeld
3738
3739         * gst/gstregistry.c: (gst_registry_get_default),
3740         (_gst_registry_cleanup):
3741         Protect default registry with lock and ref/sink it.
3742         Fixes #324818
3743
3744 2006-02-14  Wim Taymans  <wim@fluendo.com>
3745
3746         * gst/gstbuffer.c:
3747         * gst/gstquery.c: (gst_query_list_add_format),
3748         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3749         (gst_query_parse_formats_nth):
3750         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3751         Docs fixes.
3752
3753 2006-02-14  Wim Taymans  <wim@fluendo.com>
3754
3755         * docs/gst/gstreamer-sections.txt:
3756         Reworked query docs.
3757
3758         * gst/gstquery.c: (gst_query_new_formats),
3759         (gst_query_list_add_format), (gst_query_set_formats),
3760         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3761         (gst_query_parse_formats_nth):
3762         * gst/gstquery.h:
3763         Flesh out formats query, added some new methods.
3764         Fix part of #324398.
3765
3766         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3767         Added query creation tests.
3768
3769 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3770
3771         * gst/gstpad.c: (fixate_value):
3772         Add a default fixation for fraction lists.
3773
3774 2006-02-13  Wim Taymans  <wim@fluendo.com>
3775
3776         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3777         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3778         (gst_task_join):
3779         * gst/gsttask.h:
3780         Detect and warn for obvious deadlocks. fixes #320340
3781         Fix error case where lock was not released.
3782
3783         * tests/check/Makefile.am:
3784         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3785         (task_func), (gst_element_suite), (main):
3786         Add task check.
3787
3788 2006-02-13  Wim Taymans  <wim@fluendo.com>
3789
3790         * docs/gst/gstreamer-sections.txt:
3791         * gst/gstbus.c:
3792         Add new functions to docs.
3793
3794 2006-02-13  Wim Taymans  <wim@fluendo.com>
3795
3796         * docs/design/part-TODO.txt:
3797         Updated TODO list, basesrc supports seeking to non-bytes
3798         formats.
3799
3800         * docs/design/part-element-sink.txt:
3801         Update docs.
3802
3803         * gst/gstbin.c: (bin_replace_message),
3804         (gst_bin_handle_message_func):
3805         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3806         * gst/gstevent.c: (gst_event_finalize):
3807         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3808         (gst_pad_send_event):
3809         Use shiny new _TYPE_NAME macros.
3810
3811         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3812         Move debug statement up.
3813
3814         * gst/gstelement.c: (gst_element_set_locked_state):
3815         Add some debugging.
3816
3817 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3818
3819         * docs/gst/gstreamer-sections.txt:
3820         * gst/gstmessage.h:
3821         * gst/gstquery.h:
3822           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3823           macros (#330906). Also, document the already existing
3824           GST_QUERY_TYPE macro.
3825
3826 2006-02-13  Wim Taymans  <wim@fluendo.com>
3827
3828         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3829         (event_probe), (GST_START_TEST):
3830         Only events up to the pipeline EOS are counted, there are
3831         some more when going to NULL currently which we don't care
3832         about for now.
3833
3834 2006-02-13  Wim Taymans  <wim@fluendo.com>
3835
3836         * gst/gstpad.c: (gst_pad_send_event):
3837         Correctly check flushing and emit probes. fixes #330125
3838
3839 2006-02-10  Andy Wingo  <wingo@pobox.com>
3840
3841         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3842         structure.
3843         (gst_bus_init): Cache the location of the private data in the
3844         instance structure.
3845         (gst_bus_enable_sync_message_emission) 
3846         (gst_bus_disable_sync_message_emission): Implement new public
3847         functions.
3848         (gst_bus_post): Emit the sync-message signal if the user asked for
3849         it. Fixes #330684.
3850
3851         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3852         location of the bus-private structure.
3853         (gst_bus_enable_sync_message_emission)
3854         (gst_bus_disable_sync_message_emission): API addition
3855
3856 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3857
3858         Patch by: Vincent Torri
3859
3860         * docs/pwg/building-boiler.xml:
3861         PWG patch from #326800
3862
3863 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * configure.ac:
3866         * docs/Makefile.am:
3867         * docs/design/Makefile.am:
3868           Dist design docs.
3869
3870 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3871
3872         * configure.ac:
3873           back to CVS
3874
3875 === release 0.10.3 ===
3876
3877 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3878
3879         * configure.ac:
3880           releasing 0.10.3, "Like a virgin"
3881
3882 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3883
3884         * configure.ac:
3885           2nd prerelease of 0.10.3
3886           Bump libtool versioning.
3887
3888 2006-02-07  Andy Wingo  <wingo@pobox.com>
3889
3890         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3891         update last_stop if we're in TIME format and the timestamp is
3892         valid.
3893
3894         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3895         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3896         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3897         If we get a new newsegment with a different format, adapt
3898         accordingly.
3899
3900         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3901         of 0. Not a problem, really.
3902
3903         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3904         warn if sync=true.
3905
3906 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3907
3908         * configure.ac:
3909           Prelease of 0.10.3
3910
3911 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3912
3913         * win32/vs7:
3914           project files updated to the default vs7 configuration
3915         * win32/common/libgstbase.def:
3916         * win32/common/libgstreamer.def:
3917           added new symbols,
3918           removed empty lines,
3919           sorted all exported symbols alphabetically
3920         * win32/common/dirent.c:
3921         * win32/common/dirent.h:
3922         * win32/common/gchar.h:
3923           use windows line end.
3924           
3925 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3926
3927         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3928           Send EOS event when stopping.
3929
3930 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * docs/README:
3933           Tell folks what to do if the plugin-foobar.xml file
3934           hasn't been generated for a newly-added plugin.
3935
3936 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3937
3938         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3939         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3940         (gst_collect_pads_start), (gst_collect_pads_stop),
3941         (gst_collect_pads_event): Collectpads now holds a reference
3942         to the GstPad that was added. Indeed we don't want to look
3943         at pads that might just go away with no warning...
3944
3945 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3946
3947         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3948         (gst_collect_pads_start), (gst_collect_pads_stop),
3949         (gst_collect_pads_event), (gst_collect_pads_chain):
3950         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3951         Mark Nauwelaerts's patch on bug #328491.
3952
3953 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3956         (gst_utils_suite):
3957           Add some simple tests for gst_parse_bin_from_description() and
3958           gst_bin_find_unconnected_pad() (#329069).
3959
3960 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3961
3962         * tools/gst-launch.c: (event_loop), (main):
3963           Catch errors during preroll (#320084).
3964
3965 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3966
3967         * plugins/elements/gsttypefindelement.c:
3968         (gst_type_find_element_activate):
3969           Post TYPE_NOT_FOUND error message when typefinding
3970           is unsuccessful in the activate function as well.
3971
3972 2006-02-02  Wim Taymans  <wim@fluendo.com>
3973
3974         * docs/design/part-element-sink.txt:
3975         Updated doc.
3976
3977 2006-02-02  Wim Taymans  <wim@fluendo.com>
3978
3979         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3980         (gst_base_sink_render_object),
3981         (gst_base_sink_queue_object_unlocked):
3982         Only keep track of prerollable items when we are 
3983         prerolling.
3984         Before rendering after preroll, always check if we
3985         have queued items.
3986         Added some more debugging.
3987
3988 2006-02-02  Wim Taymans  <wim@fluendo.com>
3989
3990         * gst/gstelement.c: (gst_element_continue_state),
3991         (gst_element_set_state_func), (gst_element_change_state):
3992         Fixed #326576, been running this for quite some time with
3993         no regressions at all.
3994
3995 2006-02-02  Wim Taymans  <wim@fluendo.com>
3996
3997         * common/gst.supp:
3998         Added more suppressions
3999
4000 2006-02-02  Wim Taymans  <wim@fluendo.com>
4001
4002         * docs/design/part-element-sink.txt:
4003         Updated document.
4004
4005         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4006         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4007         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4008         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4009         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4010         (gst_base_sink_preroll_object),
4011         (gst_base_sink_queue_object_unlocked),
4012         (gst_base_sink_queue_object), (gst_base_sink_event),
4013         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4014         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4015         (gst_base_sink_get_position), (gst_base_sink_change_state):
4016         * libs/gst/base/gstbasesink.h:
4017         Totally refactored matching the design doc.
4018         Use two segments, one to clip incomming buffers and another to
4019         perform sync.
4020         Handle queueing correctly, bypass the queue when playing.
4021         Make EOS cancelable.
4022         Handle errors correctly when operating in pull based mode.
4023
4024         * tests/check/elements/fakesink.c: (GST_START_TEST),
4025         (fakesink_suite):
4026         Added new check for sinks.
4027
4028 2006-02-02  Wim Taymans  <wim@fluendo.com>
4029
4030         * gst/gstsegment.c: (gst_segment_clip):
4031         No reason to refuse to clip when start == -1
4032
4033 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4034
4035         * docs/README:
4036         * docs/manual/intro-basics.xml:
4037         * docs/manual/intro-preface.xml:
4038         * docs/manual/manual.xml:
4039         * docs/pwg/advanced-dparams.xml:
4040         * docs/pwg/intro-basics.xml:
4041         * docs/pwg/intro-preface.xml:
4042         * docs/pwg/pwg.xml:
4043           describe dparams (controller) for plugins
4044           unify docs a little more
4045
4046 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4047
4048         * docs/gst/gstreamer-sections.txt:
4049         * gst/gstutils.c: (element_find_unconnected_pad),
4050         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4051         * gst/gstutils.h:
4052           Add new API: gst_parse_bin_from_description() and
4053           gst_bin_find_unconnected_pad() (#329069).
4054
4055 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4056
4057         * docs/manual/README:
4058           uncover a nasty detail of the docs build
4059
4060 2006-01-31  Wim Taymans  <wim@fluendo.com>
4061
4062         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4063         Don't cache duration messages if we're not going to use or
4064         free them.
4065
4066 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4067
4068         * docs/manual/advanced-dparams.xml:
4069         * docs/pwg/advanced-dparams.xml:
4070           more dparam docs
4071         * gst/gstindex.c:
4072           fix docs
4073         * libs/gst/controller/lib.c: (gst_controller_init):
4074           init just once
4075
4076 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4077
4078         * gst/gstelement.c: (gst_element_message_full):
4079           also show file/line/func if no additional debug was given
4080
4081 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4082         
4083         * win32/vs7/grammar.vcproj:
4084           activate copy of autogenerated files for Release mode
4085
4086 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4087         
4088         * win32/common/libgstreamer.def:
4089           export gst_value_compare
4090
4091 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4092
4093         * plugins/elements/Makefile.am:
4094         * plugins/elements/gstelements.c:
4095         * plugins/elements/gstfdsink.c: (_do_init),
4096         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4097         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4098         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4099         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4100         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4101         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4102         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4103         * plugins/elements/gstfdsink.h:
4104         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4105
4106 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4107
4108         * docs/manual/advanced-dparams.xml:
4109           describe controller
4110         * docs/manual/advanced-position.xml:
4111         * docs/manual/basics-init.xml:
4112         * docs/manual/manual.xml:
4113         * docs/manual/titlepage.xml:
4114         * docs/pwg/pwg.xml:
4115         * docs/pwg/titlepage.xml:
4116           cleanup xml (more to come)
4117         * libs/gst/controller/gstcontroller.c:
4118           fix typo
4119
4120 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4121         
4122         * win32/vs6/grammar.dsp:
4123           add autogen of gstmarshal.c,h for Release mode
4124                 
4125 2006-01-30  Wim Taymans  <wim@fluendo.com>
4126
4127         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4128         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4129         (gst_base_sink_handle_object), (gst_base_sink_event),
4130         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4131         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4132         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4133         (gst_base_sink_deactivate), (gst_base_sink_activate),
4134         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4135         (gst_base_sink_query), (gst_base_sink_change_state):
4136         Basesink cleanups, remove some old code.
4137         Handle the case where a subclass can preroll in the render
4138         method (mostly audiosinks).
4139         Handle more events.
4140         Remove some locks around variables that are now protected
4141         with the PREROLL_LOCK (clock_id, flushing, ..).
4142         Optimize position query some more, do correct locking.
4143         Remove old code to push queue in state change, this is not
4144         needed anymore since preroll blocks on all prerollable items 
4145         now.
4146         Almost implemented as described in design doc.
4147
4148 2006-01-30  Wim Taymans  <wim@fluendo.com>
4149
4150         * tests/check/gst/gstbin.c: (GST_START_TEST):
4151         Wait for refcount to settle down before checking.
4152
4153 2006-01-30  Wim Taymans  <wim@fluendo.com>
4154
4155         * docs/design/part-element-sink.txt:
4156         Pseudo code overview of desired sink behaviour regarding
4157         preroll.
4158
4159 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4160         * win32/vs6/grammar.dsp:
4161           fix some bugs in Release mode for autogenerated files
4162                 
4163 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4164         * win32/common/libgstbase.def:
4165         * win32/common/libgstreamer.def:
4166           export some new symbols: gst_base_src_set_format,
4167           gst_iterator_next, gst_structure_set_valist
4168
4169 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4170
4171         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4172         Set pad functions unconditionally. Fixes #329105.
4173
4174 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4175         * win32/vs8:
4176           add vs8 project files created by Sergey Scobich
4177
4178 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4179
4180         * gst/gstutils.c: (gst_element_unlink_pads):
4181         Don't leak pad references.
4182
4183         * tests/check/elements/fakesink.c: (GST_START_TEST):
4184         * tests/check/generic/sinks.c: (GST_START_TEST):
4185         * tests/check/generic/states.c: (GST_START_TEST):
4186         * tests/check/gst/gstbin.c: (GST_START_TEST):
4187         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4188         * tests/check/gst/gstelement.c: (GST_START_TEST):
4189         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4190         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4191         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4192         Fix a bunch of leaks. Make generic/sinks.c
4193         use a bit less cpu by slowing the buffer rate
4194         between fakesrc and fakesink.
4195         
4196 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4197         * gst/gstcaps.c:
4198         * gst/gstelement.c: (gst_element_send_event):
4199         * gst/gstevent.c:
4200         * gst/gstinfo.c:
4201         * gst/gstiterator.c:
4202         * gst/gstiterator.h:
4203         * gst/gstpad.c: (gst_pad_send_event):
4204         * gst/gststructure.c:
4205         * gst/gsturi.c:
4206         * gst/gstutils.c:
4207         * gst/gstvalue.c:
4208         * libs/gst/base/gstadapter.c:
4209           doc fixes, to link to function, just write gst_cool_function(), don't
4210           prefix with '#'
4211
4212 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4213
4214         * plugins/elements/gsttee.c: (gst_tee_do_push),
4215         (gst_tee_handle_buffer):
4216         Always prefer an actual return value from a src
4217         pad in place of NOT_LINKED. This means we return
4218         WRONG_STATE when all src pads are WRONG_STATE
4219         instead of NOT_LINKED.
4220
4221         Lock when replacing the last message to prevent
4222         racing with the get_property method.
4223
4224         Add debug output
4225
4226 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4227
4228         * tests/check/Makefile.am:
4229         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4230         (main):
4231         Add a very simple check that should have caught the memleak I fixed
4232         last night (if not for the slice allocator hiding it)
4233
4234 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4235
4236         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4237         (gst_bin_remove_func), (gst_bin_handle_message_func),
4238         (bin_query_duration_fold), (bin_query_generic_fold):
4239         Clean up references to the clock provider when disposed or when
4240         handling a clock-lost message from it.
4241
4242         Unref sinks when performing a query via gst_iterator_fold, as the
4243         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4244
4245         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4246         (gst_clock_set_master):
4247         Drop our reference to the master clock, if any, when we are disposed.
4248
4249         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4250         Chain up in dispose. 
4251
4252 2006-01-26  Wim Taymans  <wim@fluendo.com>
4253
4254         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4255         Add some debugging.
4256
4257 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4258
4259         * plugins/elements/gsttee.c: (gst_tee_do_push),
4260         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4261         handles pad being NOT_LINKED or in WRONG_STATE.
4262
4263 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4264
4265         * win32/MANIFEST:
4266           more updating
4267
4268 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4269
4270         * win32/MANIFEST:
4271           remove obsolete entry
4272
4273 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4274
4275         * docs/gst/gstreamer-sections.txt:
4276         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4277         (gst_bin_iterate_sources), (gst_bin_send_event):
4278         * gst/gstbin.h:
4279         * gst/gstelement.c: (gst_element_send_event):
4280         * gst/gstevent.c:
4281         * gst/gstpad.c: (gst_pad_send_event):
4282           added code for downstream events, reviewed docs in gstevent.c
4283
4284 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4285
4286         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4287         We only query position using the clock in the playing state.
4288         Query peer in the other cases.
4289         * win32/common/config.h: Updates.
4290
4291 2006-01-24  Wim Taymans  <wim@fluendo.com>
4292
4293         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4294         A clock entry that is scheduled for the exact time of the
4295         clock is still in time.
4296
4297         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4298         (gst_base_sink_do_sync):
4299         Add some more debug info.
4300
4301 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4302
4303         * win32/vs7:
4304           Add new vs7 project files and solution.
4305
4306 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4307
4308         * win32/vs7:
4309           all files removed as they were out-dated.
4310
4311 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4312
4313         * docs/random/release:
4314           update notes
4315         * gst/gstbin.c: (gst_bin_init):
4316         * gst/gstbus.c: (gst_bus_new):
4317         * gst/gstbus.h:
4318         * gst/gstpipeline.c: (gst_pipeline_init):
4319           use gst_bus_new(), improve logging, fix docs
4320         * win32/common/config.h:
4321           update for cvs build
4322
4323 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4324
4325         * autogen.sh:
4326           up required version of automake to 1.7
4327
4328 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4329
4330         * win32/common/libgstreamer.def:
4331           export gst_buffer_is_metadata_writable
4332
4333 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4334
4335         * docs/gst/gstreamer-sections.txt:
4336         * gst/gstevent.h:
4337           Add gst_event_replace() (#327001)
4338
4339 2006-01-20  Wim Taymans  <wim@fluendo.com>
4340
4341         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4342         Make it actually compile too..
4343
4344 2006-01-20  Wim Taymans  <wim@fluendo.com>
4345
4346         * gst/gstcaps.c:
4347         Clarify behaviour of _is_equal() when passing NULL parameters.
4348
4349         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4350         (gst_pad_set_caps):
4351         Cleanups. Don't unref NULL caps.
4352         When setting the same caps, protect caps of the pad with
4353         proper lock.
4354         Use full functionality of _is_equal() when comparing caps.
4355
4356 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4357
4358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4359         Don't loop infinitely if there are no buffers to present. Partially
4360         fixes #327197, but collectpads is just broken for reusing elements
4361         to do multiple encodes atm.
4362
4363 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4364
4365         * tools/gst-inspect.c: (print_element_features):
4366         * tools/gst-xmlinspect.c: (main):
4367         URL_HANDLER is not a plugin feature we can search for in
4368         the registry.
4369
4370 2006-01-19  Edward Hervey  <edward@fluendo.com>
4371
4372         * gst/gstelement.c: (gst_element_pads_activate): 
4373         When activating, do src pads first, then sink pads.
4374         When de-activating, do sink pads first, then src pads.
4375
4376 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4377
4378         * docs/gst/gstreamer-sections.txt:
4379         Add gst_index_add_associationv to the docs
4380
4381 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4382
4383         * gst/gstevent.c:
4384           Fix docs typo
4385
4386         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4387         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4388           Do some refactoring. Doesn't actually change functionality,
4389           but makes landing the DRAIN event easier later.
4390
4391 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4392
4393         * docs/pwg/advanced-scheduling.xml:
4394           Update from 0.9.x to 0.10 API and make example a bit
4395           clearer.
4396
4397 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4398
4399         * docs/gst/gstreamer-sections.txt:
4400         Add gst_buffer_(is|make)_metadata_writable methods.
4401
4402 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4403
4404         * docs/design/part-sparsestreams.txt:
4405         Update sparse streams doc, hopefully for greater clarity
4406
4407 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4408
4409         * docs/design/part-events.txt:
4410         Remove mention of FILLER events.
4411         Add DRAIN event.
4412
4413         * docs/design/part-sparsestreams.txt:
4414         Write some things about using NEWSEGMENT to keep sparse streams
4415         flowing.
4416
4417 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4418
4419         * gst/gstbin.c: (gst_bin_dispose):
4420           Guard gst_object_unref call against a NULL object (dispose
4421           can theoretically be called multiple times).
4422           
4423 2006-01-18  Wim Taymans  <wim@fluendo.com>
4424
4425         * gst/gstbin.c: (gst_bin_element_set_state):
4426         * gst/gstclock.c: (gst_clock_id_wait):
4427         Added some more debug info.
4428
4429         * libs/gst/base/gstadapter.c:
4430         Added more docs.
4431
4432         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4433         (gst_base_sink_do_sync), (gst_base_sink_chain):
4434         Added some comments.
4435
4436 2006-01-18  Wim Taymans  <wim@fluendo.com>
4437
4438         * tests/check/Makefile.am:
4439         * tests/check/elements/fakesink.c: (chain_async_buffer),
4440         (chain_async), (chain_async_return), (GST_START_TEST),
4441         (fakesink_suite), (main):
4442         Added fakesink test that checks prerolling and clipping
4443         behaviour.
4444
4445         * tests/check/gst/gstutils.c: (GST_START_TEST):
4446         Make check run faster so that buildbots don't timeout.
4447
4448 2006-01-18  Wim Taymans  <wim@fluendo.com>
4449
4450         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4451         (gst_base_sink_do_sync):
4452         Some cleanups.
4453         When the sink finishes blocking on the preroll buffer, it can
4454         immediatly render it instead of rendering when the next buffer
4455         arrives.
4456
4457 2006-01-18  Wim Taymans  <wim@fluendo.com>
4458
4459         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4460         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4461         (gst_base_sink_chain):
4462         Small cleanups.
4463         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4464         Don't store _last_stop if the buffer is dropped.
4465
4466 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4467
4468         * plugins/elements/gsttypefindelement.c:
4469         (gst_type_find_element_class_init):
4470           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4471           object method handler that sets the caps on the pad and we want
4472           that to happen before we emit the signal (fixes e.g. feeding a
4473           plain text file to decodebin).
4474
4475 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4476
4477         * gst/gstplugin.c: Add MPL and Proprietary as license options
4478
4479 2006-01-18  Andy Wingo  <wingo@pobox.com>
4480
4481         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4482         symbol was exported before, it appears this was just an oversight.
4483         Fixes #168703.
4484         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4485
4486         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4487         prototype to gint. OK since this prototype was not in the header.
4488
4489 2006-01-17  Andy Wingo  <wingo@pobox.com>
4490
4491         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4492         registry while we remove plugins.
4493
4494         * tools/gst-inspect.c (print_element_info): Don't unref the
4495         factory arg, that should be the responsibility of whatever code
4496         received the ref. Fixes a double-free when called from
4497         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4498         (main): Unref the factory if we have one.
4499         (print_element_list): No change -- relies on the
4500         plugin_feature_list_free to free the list of features.
4501
4502 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4503
4504         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4505         (gst_buffer_make_metadata_writable):
4506         * gst/gstbuffer.h:
4507         * libs/gst/base/gstbasetransform.c:
4508         (gst_base_transform_prepare_output_buf):
4509         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4510         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4511           Replace gst_buffer_(make|is)_metadata_writable patch now
4512           that the release is out.
4513
4514 2006-01-17  Andy Wingo  <wingo@pobox.com>
4515
4516         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4517         in the present tense without reference to versions.
4518
4519         * gst/gstregistry.c (gst_registry_add_plugin)
4520         (gst_registry_remove_plugin, gst_registry_remove_feature)
4521         (gst_registry_find_feature, gst_registry_get_feature_list)
4522         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4523         (gst_registry_lookup, gst_registry_scan_path)
4524         (_gst_registry_remove_cache_plugins)
4525         (gst_registry_get_feature_list_by_plugin): Add argument
4526         validation.
4527
4528 === release 0.10.2 ===
4529
4530 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4531
4532         * configure.ac:
4533           releasing 0.10.2, "If man is five"
4534
4535 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4536
4537         * gst/gstbuffer.c:
4538         * gst/gstbuffer.h:
4539         * libs/gst/base/gstbasetransform.c:
4540         (gst_base_transform_prepare_output_buf):
4541         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4542         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4543           Back out patch until after the release.
4544
4545 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4546
4547         * gst/gstminiobject.c:
4548           Spelling fix in docs.
4549         * ChangeLog - remove conflict indicator
4550
4551 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4552
4553         Reviewed By: Andy Wingo
4554
4555         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4556         (gst_buffer_make_metadata_writable):
4557         * gst/gstbuffer.h:
4558           Add gst_buffer_(is|make)_metadata_writable as analogues of
4559           gst_buffer_(is|make)_writable.
4560
4561         * libs/gst/base/gstbasetransform.c:
4562         (gst_base_transform_prepare_output_buf):
4563         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4564           Use name gst_buffer_(is|make)_metadata_writable functions.
4565
4566         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4567           Test gst_buffer_(is|make)_metadata_writable
4568         
4569           (Closes: #324162)
4570
4571 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4572
4573         * docs/manual/Makefile.am:
4574           don't do parallel make
4575         * configure.ac:
4576           AC_SUBST HOST_CPU
4577         * win32/common/config.h.in:
4578           add generations for HOST_CPU and GST_MAJORMINOR
4579         * win32/common/config.h:
4580           commit generated result
4581
4582 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * docs/manual/appendix-integration.xml:
4585           Update GNOME integration section to use gst_init_get_option_group()
4586           instead of the old popt stuff (#322911). Also, GNOME applications
4587           should  now use gconf*sink and gconf*src instead of the old gconf
4588           helper lib we had.
4589
4590 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4591
4592
4593         * docs/gst/gstreamer-docs.sgml:
4594         * docs/gst/gstreamer-sections.txt:
4595         * docs/libs/gstreamer-libs-sections.txt:
4596           add new API entries to the docs
4597         * libs/gst/controller/Makefile.am:
4598         * libs/gst/controller/gstcontroller.c:
4599         * libs/gst/controller/gstcontroller.h:
4600         * libs/gst/controller/gstcontrollerprivate.h:
4601         * libs/gst/controller/gsthelper.c:
4602         * libs/gst/controller/gstinterpolation.c:
4603           move private structs to private header
4604         * po/README:
4605           gstreamer-0.7 -> gstreamer-0.10
4606         * tests/check/libs/struct_i386.h:
4607           remove private structs
4608
4609 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4610
4611         * plugins/indexers/Makefile.am:
4612           Fixes as part of #317048
4613
4614 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * plugins/indexers/Makefile.am:
4617           fix #316086 - compilation when mmap is missing
4618
4619 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4620
4621         * libs/gst/base/gstbasesink.c:
4622           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4623           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4624         * win32/common/config.h:
4625           added some defines GST_MAJORMINOR and HOST_CPU
4626         * win32/common/libgstbase.def:
4627         * win32/common/libgstreamer.def:
4628           added some exported functions.
4629
4630 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4631
4632         * libs/gst/controller/gstcontroller.c:
4633         (gst_controlled_property_set_interpolation_mode),
4634         (gst_controlled_property_new):
4635         * libs/gst/controller/gstcontroller.h:
4636         * libs/gst/controller/gstinterpolation.c:
4637         (interpolate_none_get_string_value_array):
4638           make G_TYPE_STRING controlable
4639
4640 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4641
4642         * tools/README:
4643         * tools/gst-feedback.1.in:
4644         * tools/gst-inspect.1.in:
4645         * tools/gst-launch.1.in:
4646         * tools/gst-md5sum.1.in:
4647         * tools/gst-typefind.1.in:
4648         * tools/gst-xmlinspect.1.in:
4649         * tools/gst-xmllaunch.1.in:
4650           cleanup man-pages, remove reference to gst-register, document env-vars
4651
4652 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4653
4654         * gst/gstbuffer.c: (gst_buffer_span):
4655           gst_buffer_span should copy the timestamp of the first buffer
4656           if they were both originally overlapping subbuffers of the 
4657           same parent, using the same logic as the 'slow copy' case.
4658
4659 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4660
4661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4662           Need to awaken ALL the pads when we pop a buffer, otherwise
4663           collectpads only works when there is 2 input streams.
4664
4665 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4666
4667         * docs/random/ensonic/media-device-daemon.txt:
4668           more ideas (dbus)
4669         * gst/gstbuffer.c:
4670           fix doc example, add clarification
4671         * tools/gst-launch.1.in:
4672           add initial info about GST_PLUGIN_PATH, needs more work
4673
4674 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4675
4676         * docs/manual/basics-bins.xml:
4677         * docs/manual/basics-elements.xml:
4678         * docs/manual/intro-basics.xml:
4679           Some more minor docs additions and updates.
4680
4681 2006-01-11  Wim Taymans  <wim@fluendo.com>
4682
4683         * docs/manual/basics-bins.xml:
4684         * docs/manual/basics-elements.xml:
4685         Some small fixes as pointed out by Ser-ver on IRC.
4686
4687 2006-01-10  Edward Hervey  <edward@fluendo.com>
4688
4689         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4690         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4691         the single-segment mode.
4692
4693 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4694
4695         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4698         (gst_base_src_perform_seek), (gst_base_src_send_event),
4699         (gst_base_src_set_property), (gst_base_src_get_property),
4700         (gst_base_src_loop), (gst_base_src_start),
4701         (gst_base_src_activate_push):
4702         * libs/gst/base/gstbasesrc.h:
4703           Name (private) union; makes Sun's Forte compiler happy (#324900).
4704
4705 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4706
4707         * README:
4708           gst-register is gone.
4709
4710 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4711
4712         * gst/gstvalue.c: (_gst_value_initialize):
4713           make the G_TYPE_DATE instantiation work if debug is disabled
4714
4715 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4716
4717         * gst/gstmessage.c: (gst_message_parse_tag),
4718         (gst_message_parse_error), (gst_message_parse_warning):
4719           Don't crash when return location for error/warning debug
4720           string is NULL; add fact that return locations can be
4721           NULL to docs where appropriate.
4722
4723 2006-01-05  Wim Taymans  <wim@fluendo.com>
4724
4725         * gst/gstplugin.c: (gst_plugin_load_file):
4726         Replace strdup by g_strdup.
4727
4728 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * docs/pwg/advanced-types.xml:
4731           fix doc borkage
4732
4733 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         submitted by: Abel Cheung
4736
4737         * po/LINGUAS:
4738         * po/zh_TW.po:
4739           Added Chinese (traditional) translation
4740
4741 2006-01-04  Wim Taymans  <wim@fluendo.com>
4742
4743         * docs/manual/basics-pads.xml:
4744         * docs/plugins/Makefile.am:
4745         * docs/plugins/gstreamer-plugins-docs.sgml:
4746         * docs/plugins/gstreamer-plugins-sections.txt:
4747         * docs/pwg/advanced-clock.xml:
4748         * docs/pwg/advanced-scheduling.xml:
4749         * docs/pwg/advanced-types.xml:
4750         * plugins/elements/gstfdsink.c:
4751         * plugins/elements/gstfdsrc.c:
4752         * plugins/elements/gstfdsrc.h:
4753         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4754         * plugins/elements/gstidentity.h:
4755         * plugins/elements/gstqueue.h:
4756         * plugins/elements/gsttee.c:
4757         * plugins/elements/gsttee.h:
4758         * plugins/elements/gsttypefindelement.c:
4759         (gst_type_find_element_class_init):
4760         * plugins/elements/gsttypefindelement.h:
4761         Small updates to various docs.
4762         Added core plugins to docs.
4763
4764 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4765
4766         * common/gst.supp:
4767           add a suppression for liboil's uninitialized variable
4768
4769 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4770
4771         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * gst/gstutils.h:
4774           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4775           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4776           compiler switch is being used (#325429).
4777
4778 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * gst/gstbin.c: (gst_bin_query):
4781           Disable duration query caching in bins until it gets
4782           fixed (see #324807).
4783
4784 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4785
4786         * tools/gst-inspect.c: (print_element_properties_info):
4787           Handle properties of POINTER and BOXED type.
4788
4789 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         * gst/gst.c: (init_post):
4792           Init tags stuff and some other things before loading
4793           any static plugins (there may be other static plugins
4794           than just the GStreamer ones, and they may want to
4795           register their own tags or formats or whatever, and
4796           preferably without segfaulting).
4797
4798         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4799           Print at least a warning in the debug logs if we drop a
4800           query just because we don't know how to adjust the value
4801           in the particular format.
4802
4803 2005-12-24  David Schleef  <ds@schleef.org>
4804
4805         * tools/gstreamer-completion:
4806           Replacement for gst-complete written in sh and sed.  Only
4807           completes names of features, but that's 90% of what I want
4808           it for.  Properties are not available in registry.xml.  (Maybe
4809           they should be...)
4810
4811 === release 0.10.1 ===
4812
4813 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4814
4815         * configure.ac:
4816           releasing 0.10.1, "Nollaig chridheil"
4817
4818 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4819
4820         * docs/faq/cvs.xml:
4821           Add missing quote, should be make ERROR_CFLAGS="".
4822
4823 2005-12-20  Wim Taymans  <wim@fluendo.com>
4824
4825         * docs/design/part-trickmodes.txt:
4826         More documentation on trickmodes.
4827
4828 2005-12-20  Edward Hervey  <edward@fluendo.com>
4829
4830         * gst/gstcaps.c: (gst_static_caps_get_type):
4831         * gst/gstcaps.h:
4832           API addition: GST_TYPE_STATIC_CAPS
4833         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4834         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4835         * gst/gstpadtemplate.h:
4836           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4837         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4838         bindings.
4839
4840 2005-12-18  Wim Taymans  <wim@fluendo.com>
4841
4842         * libs/gst/base/gstadapter.c:
4843         * libs/gst/base/gstadapter.h:
4844         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4845         (gst_base_sink_get_position):
4846         * libs/gst/base/gstbasesink.h:
4847         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4848         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4849         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4850         (gst_base_src_send_event), (gst_base_src_update_length),
4851         (gst_base_src_get_range), (gst_base_src_loop),
4852         (gst_base_src_start):
4853         * libs/gst/base/gstbasesrc.h:
4854         * libs/gst/base/gstbasetransform.h:
4855         * libs/gst/base/gstcollectpads.h:
4856         * libs/gst/base/gstpushsrc.c:
4857         * libs/gst/base/gstpushsrc.h:
4858         * libs/gst/dataprotocol/dataprotocol.c:
4859         * libs/gst/dataprotocol/dataprotocol.h:
4860         * libs/gst/net/gstnetclientclock.h:
4861         * libs/gst/net/gstnettimeprovider.h:
4862         Documentation updates.
4863
4864 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4865
4866         * docs/manual/basics-helloworld.xml:
4867           Remove superfluous closing bracket in helloworld example.
4868
4869 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4870
4871         * tools/gst-launch.1.in:
4872           Update gst-launch man page; add a section with useful
4873           environment variables. Fixes #323882.
4874
4875 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4876
4877         * gst/gst.c:
4878         * gst/gst_private.h:
4879           change some char* into char[]
4880
4881 2005-12-16  Wim Taymans  <wim@fluendo.com>
4882
4883         * gst/gstregistryxml.c: (load_feature):
4884         Cleanups.
4885         Don't use g_object_unref on GstObjects so that we avoid
4886         leaks on unsafe glibs.
4887
4888 2005-12-16  Wim Taymans  <wim@fluendo.com>
4889
4890         * gst/gstbin.c: (gst_bin_recalc_state):
4891         Small doc updates.
4892
4893 2005-12-16  Wim Taymans  <wim@fluendo.com>
4894
4895         * common/check.mak:
4896         Added make forever target for check.
4897
4898 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gst.c: (init_post):
4901           make the registry cache file HOST_CPU-dependent
4902
4903 2005-12-16  Andy Wingo  <wingo@pobox.com>
4904
4905         * plugins/elements/gstbufferstore.c
4906         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4907         return value.
4908
4909         * tests/check/gst/gstobject.c
4910         (test_fake_object_name_threaded_unique): Pay attention to
4911         g_list_sort return value.
4912
4913 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4914
4915         * tools/gst-feedback-m.m:
4916           Update for 0.9/0.10 (fixes #323870).
4917
4918 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4919
4920         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4921           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4922           
4923         * tests/check/gst/gstminiobject.c: (my_foo_init),
4924         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4925         (test_value_collection), (gst_mini_object_suite):
4926           Add test to ensure refcounts end up as expected when passing
4927           GstMiniObjects through g_object_get() and g_object_set().
4928
4929 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4930
4931         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4932         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4933         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4934         of collectpads. This version removes a lot of races without
4935         touching API/ABI. Yay !
4936
4937 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4938
4939         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4940           Don't allow activation of a srcpad in pull_range if it has no
4941           getrange function.
4942           Change some debug statements to be a little clearer
4943
4944         * plugins/elements/gsttypefindelement.c:
4945         (gst_type_find_handle_src_query):
4946           Check that we have a peer before executing queries thereupon.
4947
4948         * tests/examples/metadata/read-metadata.c: (message_loop):
4949           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4950           immediately return us any available message with 0 timeout.
4951
4952 2005-12-12  Michael Smith  <msmith@fluendo.com>
4953
4954         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4955           Don't unref factories after calling them.
4956         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4957         * plugins/elements/gsttypefindelement.c:
4958         (gst_type_find_element_chain):
4959           Free lists of factories after using them. Fixing typefinding memory
4960           leaks.
4961
4962 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4965         (gst_plugin_feature_load):
4966           more meaningful debug output
4967         * configure.ac:
4968         * tests/Makefile.am:
4969         * tests/old/examples/Makefile.am:
4970           make make distcheck happy again
4971
4972 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4975           Catch the special case where we are operating chain-based,
4976           but the downstream peer pad has no chain function. Emit a
4977           custom error message in this case instead of letting the
4978           core generate one implying that this is some sort of core
4979           bug. It's not, it just means that whatever got plugged
4980           into the pipeline downstream when we announced the type
4981           can only operate pull-based, while our source can only
4982           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4983           Error string has not been marked for translation yet, as
4984           it probably needs some more work first.
4985
4986         (gst_type_find_element_get_best_possibility):
4987           Add helper function to find the best of all available
4988           found possibilities that qualify given the min. threshold.
4989
4990         (gst_type_find_element_handle_event):
4991           Fix the case where we get an EOS while still in TYPEFIND
4992           mode (we want to chose the best of all possible types,
4993           not just the first type that happens to be in our unsorted
4994           list of possible types).
4995
4996         (gst_type_find_element_chain):
4997           Make sure we return GST_FLOW_ERROR when we errored out
4998           in stop_typefinding(); also, don't just find the best of
4999           all found type entries and then use the last examined
5000           type entry, but actually use the best entry.
5001
5002 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * tests/examples/typefind/typefind.c: (type_found):
5005         * tests/examples/xml/runxml.c: (xml_loaded):
5006           More gcc4 fixes and a mem leak fix.
5007
5008 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5009
5010         * tests/examples/xml/createxml.c: (object_saved):
5011           gcc 4 fixes
5012
5013 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5014
5015         * tests/Makefile.am:
5016           enable the examples even more
5017
5018 2005-12-12  Andy Wingo  <wingo@pobox.com>
5019
5020         * libs/gst/net/gstnettimeprovider.c
5021         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5022         (gst_net_time_provider_set_property)
5023         (gst_net_time_provider_get_property):
5024         API addition: Export "active" as a GObject property.
5025         (gst_net_time_provider_thread): Only respond to time queries if
5026         the time provider is active.
5027
5028         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5029         NetTimeProvider, preserving binary compat.
5030
5031 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5032
5033         * tests/examples/controller/audio-example.c: (main):
5034         * tests/examples/launch/Makefile.am:
5035           convert comments again
5036
5037 2005-12-12  Wim Taymans  <wim@fluendo.com>
5038
5039         * libs/gst/base/gstpushsrc.c:
5040         Fix typo.
5041
5042 2005-12-12  Wim Taymans  <wim@fluendo.com>
5043
5044         * docs/libs/gstreamer-libs-sections.txt:
5045         Added new symbol to docs.
5046
5047         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5048         (gst_base_src_init), (gst_base_src_set_format),
5049         (gst_base_src_default_query), (gst_base_src_query),
5050         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5051         (gst_base_src_perform_seek), (gst_base_src_send_event),
5052         (gst_base_src_default_event), (gst_base_src_event_handler),
5053         (gst_base_src_set_property), (gst_base_src_get_property),
5054         (gst_base_src_wait), (gst_base_src_do_sync),
5055         (gst_base_src_update_length), (gst_base_src_get_range),
5056         (gst_base_src_check_get_range), (gst_base_src_loop),
5057         (gst_base_src_default_negotiate), (gst_base_src_start),
5058         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5059         (gst_base_src_change_state):
5060         * libs/gst/base/gstbasesrc.h:
5061         Implement seeking to other formats than _BYTES.
5062         Implement more seeking methods correctly.
5063         Doc updates.
5064         Added query vmethod.
5065         Added do_seek vmethod to make life easier for subclasses
5066         when seeking.
5067         API addition: gst_base_src_set_format()
5068
5069 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5070
5071         * tests/examples/Makefile.am:
5072           added that too
5073
5074 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5075
5076         * configure.ac:
5077         * docs/random/ensonic/media-device-daemon.txt:
5078         * tests/examples/controller/.cvsignore:
5079         * tests/examples/controller/Makefile.am:
5080         * tests/examples/controller/audio-example.c: (main):
5081         * tests/examples/helloworld/.cvsignore:
5082         * tests/examples/helloworld/Makefile.am:
5083         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5084         * tests/examples/launch/.cvsignore:
5085         * tests/examples/launch/Makefile.am:
5086         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5087         * tests/examples/metadata/.cvsignore:
5088         * tests/examples/metadata/Makefile.am:
5089         * tests/examples/metadata/read-metadata.c: (message_loop),
5090         (make_pipeline), (print_tag), (main):
5091         * tests/examples/queue/.cvsignore:
5092         * tests/examples/queue/Makefile.am:
5093         * tests/examples/queue/queue.c: (event_loop), (main):
5094         * tests/examples/typefind/.cvsignore:
5095         * tests/examples/typefind/Makefile.am:
5096         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5097         (main):
5098         * tests/examples/xml/.cvsignore:
5099         * tests/examples/xml/Makefile.am:
5100         * tests/examples/xml/createxml.c: (object_saved), (main):
5101         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5102         * tests/old/examples/Makefile.am:
5103         * tests/old/examples/TODO:
5104         * tests/old/examples/controller/.cvsignore:
5105         * tests/old/examples/controller/Makefile.am:
5106         * tests/old/examples/controller/audio-example.c:
5107         * tests/old/examples/helloworld/.cvsignore:
5108         * tests/old/examples/helloworld/Makefile.am:
5109         * tests/old/examples/helloworld/helloworld.c:
5110         * tests/old/examples/launch/.cvsignore:
5111         * tests/old/examples/launch/Makefile.am:
5112         * tests/old/examples/launch/mp3parselaunch.c:
5113         * tests/old/examples/launch/mp3play:
5114         * tests/old/examples/manual/Makefile.am:
5115         * tests/old/examples/metadata/Makefile.am:
5116         * tests/old/examples/metadata/read-metadata.c:
5117         * tests/old/examples/queue/.cvsignore:
5118         * tests/old/examples/queue/Makefile.am:
5119         * tests/old/examples/queue/queue.c:
5120         * tests/old/examples/typefind/.cvsignore:
5121         * tests/old/examples/typefind/Makefile.am:
5122         * tests/old/examples/typefind/typefind.c:
5123         * tests/old/examples/xml/.cvsignore:
5124         * tests/old/examples/xml/Makefile.am:
5125         * tests/old/examples/xml/createxml.c:
5126         * tests/old/examples/xml/runxml.c:
5127           applied some simple fixing to some examples
5128           re-enabled the working examples
5129
5130 2005-12-12  Wim Taymans  <wim@fluendo.com>
5131
5132         * gst/gstsegment.c: (gst_segment_init),
5133         (gst_segment_set_last_stop), (gst_segment_set_seek),
5134         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5135         (gst_segment_to_running_time):
5136         Added more documentation.
5137         Make sure the last_pos value is updated properly.
5138         Make sure to_stream_time and to_running_time don't
5139         operate on wrong values.
5140
5141         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5142         Update check.
5143
5144 2005-12-12  Michael Smith  <msmith@fluendo.com>
5145
5146         * plugins/elements/gsttypefindelement.c: (free_entry),
5147         (gst_type_find_element_chain):
5148           Now that we're not leaking factories, make sure we keep references
5149           to them while we need them.
5150
5151 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5152
5153         * tests/check/gst/struct_i386.h:
5154           ifdef out the XML structs
5155
5156 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5157
5158         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5159           floor is not needed, F is always positive; this obviates the
5160           need for adding -lm when building without libxml
5161
5162 2005-12-12  Wim Taymans  <wim@fluendo.com>
5163
5164         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5165         Take current playback rate into account when reporting
5166         the position.
5167
5168 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5169
5170         * docs/manual/mime-world.fig:
5171           Let's try this again, this time with a file that is
5172           actually in XFig format.
5173
5174 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5175
5176         * docs/manual/mime-world.fig:
5177           Add audioconvert element to diagram so that it
5178           matches the text and the code (fixes #319526).
5179
5180 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5181
5182         * docs/pwg/building-chainfn.xml:
5183         * docs/pwg/building-pads.xml:
5184         * docs/pwg/building-state.xml:
5185         * docs/pwg/other-source.xml:
5186           Update state change stuff for 0.10 (fixes #322969).
5187
5188 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5189
5190         * docs/manual/advanced-dataaccess.xml:
5191         * docs/manual/appendix-checklist.xml:
5192         * docs/manual/appendix-programs.xml:
5193         * docs/manual/basics-pads.xml:
5194         * docs/manual/highlevel-components.xml:
5195         * docs/manual/manual.xml:
5196           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5197           add converters in front of pipelines; remove curly
5198           brackets for threads stuff, they no longer exist; use
5199           GST_TYPE_FRACTION for framerates; update some pieces of
5200           code to 0.10, but there's plenty more to do.
5201
5202         * docs/manual/appendix-porting.xml:
5203           Expand on asynchroneous state changes; s/0.9/0.10/;
5204           mention disappearance of gst_init_get_popt_table()
5205           (fixes #322916).
5206
5207 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * docs/faq/using.xml:
5210           Spider no longer exists, and neither does gst-launch-ext.
5211           Update examples to use decodebin and playbin and put
5212           converters in front of sinks (fixes #323726).
5213
5214 2005-12-09  Michael Smith  <msmith@fluendo.com>
5215
5216         * plugins/elements/gsttypefindelement.c: (find_peek),
5217         (gst_type_find_element_chain):
5218           Fix leaking element factories in typefinding.
5219           Fix problem where we forgot about a probable type on non-seekable
5220           files, and thus later mis-typefound it.
5221
5222 2005-12-09  Michael Smith  <msmith@fluendo.com>
5223
5224         * common/m4/gst-makecontext.m4:
5225         * common/m4/gst-mcsc.m4:
5226         * configure.ac:
5227         * win32/common/config.h:
5228         * win32/common/config.h.in:
5229           Remove makecontext stuff; not used in 0.10 and causes problems on
5230           HPUX according to bug #322441
5231
5232 2005-12-07  Wim Taymans  <wim@fluendo.com>
5233
5234         * tests/check/Makefile.am:
5235         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5236         (main):
5237         * tests/check/libs/struct_i386.h:
5238         Added ABI check for libs
5239
5240 2005-12-07  Wim Taymans  <wim@fluendo.com>
5241
5242         * tests/check/Makefile.am:
5243         And add the struct_i386.h to dist.
5244
5245 2005-12-07  Wim Taymans  <wim@fluendo.com>
5246
5247         * tests/check/Makefile.am:
5248         * tests/check/gst/.cvsignore:
5249         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5250         (main):
5251         * tests/check/gst/struct_i386.h:
5252         Added check for ABI compatibility.
5253
5254 2005-12-07  Wim Taymans  <wim@fluendo.com>
5255
5256         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5257         (gst_fake_src_get_times), (gst_fake_src_create):
5258         Fix broken sync option, fixes #323259
5259
5260 2005-12-07  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/gstbuffer.c:
5263         Small docs update.
5264
5265         * gst/gstcaps.c: (gst_caps_is_equal):
5266         Don't assert on NULL <--> X. Fixes #323260
5267
5268         * gst/gstminiobject.c: (gst_mini_object_replace):
5269         If we're doing atomic operations, we might just as well use
5270         the proper way to get an atomic pointer.
5271
5272         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5273         Clean up debugging.
5274
5275 2005-12-07  Michael Smith  <msmith@fluendo.com>
5276
5277         * gst/parse/grammar.y:
5278           Remove handling of { } for threads.
5279
5280 2005-12-06  David Schleef  <ds@schleef.org>
5281
5282         * libs/gst/base/gstbasetransform.c: speling fix.
5283
5284 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * docs/libs/tmpl/gstdataprotocol.sgml:
5287         * docs/random/omega/testing/gstobject.c:
5288         * gst/gst.c:
5289         * gst/gstclock.c:
5290         * gst/gstelement.c:
5291         * gst/gstelementfactory.c:
5292         * gst/gsterror.c:
5293         * gst/gstevent.c:
5294         * gst/gstghostpad.c:
5295         * gst/gstinfo.c:
5296         * gst/gstpadtemplate.c:
5297         * gst/gstregistryxml.c:
5298         * gst/gsttaglist.c:
5299         * gst/gsttagsetter.c:
5300         * gst/gsttypefind.c:
5301         * gst/gstvalue.c:
5302         * libs/gst/base/gstbasesrc.c:
5303         * libs/gst/net/gstnetclientclock.c:
5304         * libs/gst/net/gstnettimeprovider.c:
5305         * plugins/elements/gstfakesrc.c:
5306         * plugins/elements/gstfdsrc.c:
5307         * plugins/elements/gstfilesrc.c:
5308         * plugins/elements/gstidentity.c:
5309         * plugins/elements/gstqueue.c:
5310         * plugins/elements/gsttypefindelement.c:
5311         * plugins/indexers/gstfileindex.c:
5312         * plugins/indexers/gstmemindex.c:
5313         * tests/check/gst/gsttag.c:
5314         * tests/old/examples/cutter/cutter.c:
5315         * tests/old/examples/mixer/mixer.c:
5316         * tests/old/examples/xml/runxml.c: (main):
5317         * tests/old/testsuite/caps/normalisation.c:
5318         * tests/old/testsuite/debug/global.c:
5319         * tests/old/testsuite/parse/parse1.c:
5320         * tools/gst-xmlinspect.c:
5321         * win32/common/dirent.c:
5322           expand tabs
5323
5324 === release 0.10.0 ===
5325
5326 2005-12-05   <thomas (at) apestaart (dot) org>
5327
5328         * configure.ac:
5329           releasing 0.10.0, "Maroilles"
5330
5331 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5332
5333         submitted by: Funda Wang <fundawang@linux.net.cn>
5334
5335         * po/LINGUAS:
5336         * po/zh_CN.po:
5337           added Chinese (Traditional) translation
5338
5339 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * docs/gst/gstreamer-sections.txt:
5342         * docs/libs/tmpl/gstdataprotocol.sgml:
5343         * docs/random/thomasvs/TODO:
5344         * gst/gstutils.c:
5345         * gst/gstutils.h:
5346           fix docs
5347
5348 2005-12-05  Andy Wingo  <wingo@pobox.com>
5349
5350         patch by: Wim Taymans <wim@fluendo.com>
5351
5352         * libs/gst/base/gstbasetransform.c
5353         (gst_base_transform_prepare_output_buf)
5354         (gst_base_transform_buffer_alloc):
5355         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5356         alloc_buffer_and_set_caps.
5357
5358         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5359         set_caps on the source pad.
5360         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5361         alloc_buffer used to do. Fixes #322874.
5362
5363         * docs/gst/gstreamer-sections.txt: 
5364         * docs/design/part-negotiation.txt: 
5365         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5366         changes.
5367
5368 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5369
5370         patch by: Sebastien Moutte
5371
5372         * win32/MANIFEST:
5373         * win32/common/config.h.in:
5374         * win32/vs6/libgstcontroller.dsp:
5375           win32 build fixes
5376
5377 2005-12-05  Wim Taymans  <wim@fluendo.com>
5378
5379         * gst/gstcaps.c: (gst_caps_is_equal):
5380         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5381         (gst_fake_src_create):
5382         Back out previous code changes, leave doc updates, file bugs 
5383         instead. 
5384
5385 2005-12-05  Wim Taymans  <wim@fluendo.com>
5386
5387         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5388         (gst_fake_src_get_times), (gst_fake_src_create):
5389         * plugins/elements/gstfakesrc.h:
5390         Fix broken sync code.
5391
5392 2005-12-05  Wim Taymans  <wim@fluendo.com>
5393
5394         * gst/gstcaps.c: (gst_caps_is_equal):
5395         Comparing NULL against !NULL yields different caps, not a
5396         failure.
5397
5398 2005-12-05  Wim Taymans  <wim@fluendo.com>
5399
5400         * gst/gstpipeline.c:
5401         Fix small typo in docs.
5402
5403 2005-12-05  Andy Wingo  <wingo@pobox.com>
5404
5405         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5408         registries/plugins with a MAJORMINOR one.
5409         (plugin_desc): Rename library from gstcoreleements to
5410         staticelements. Fixes #323222.
5411
5412 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5413
5414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5415           Change debug category to 'collectpads' from 'collect_pads'
5416           (fixes #323250).
5417
5418 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         patch by: Sebastien Moutte
5421
5422         * libs/gst/controller/gstinterpolation.c:
5423           use convert function for uint64/double
5424         * win32/vs6/libgstcontroller.dsp:
5425           link to GLib
5426
5427 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5428
5429         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5430         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5431         * gst/gstutils.h:
5432         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5433           add tests that seem to show that the guint64/gdouble conversions
5434           are correct.
5435
5436 2005-12-02  Wim Taymans  <wim@fluendo.com>
5437
5438         * gst/gstregistry.c: (gst_registry_add_path):
5439         * gst/gstregistry.h:
5440         * gst/gstregistryxml.c:
5441         Fix docs again.
5442
5443 2005-12-02  Wim Taymans  <wim@fluendo.com>
5444
5445         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5446         (gst_util_uint64_scale_int):
5447         Small cleanup.
5448
5449         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5450         Add debug log line.
5451
5452         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5453         Add FIXME.
5454
5455 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5456
5457         * win32/MANIFEST:
5458         * win32/common/config.h:
5459         * win32/vs6/gstreamer.dsw:
5460         * win32/vs6/libgstcoreelements.dsp:
5461         * win32/vs6/libgstelements.dsp:
5462           renamed core elements plugin
5463
5464 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5467         (get_candidates):
5468           do piece-wise major/minor comparison so 0.9 < 0.10
5469           also allow .exe extensions for tools
5470
5471 2005-12-02  Michael Smith  <msmith@fluendo.com>
5472
5473         * gst/gst.c:
5474           Escape a % to make gtkdoc happier; bug 322958.
5475
5476 === release 0.9.7 ===
5477
5478 2005-12-01   <thomas (at) apestaart (dot) org>
5479
5480         * configure.ac:
5481           releasing 0.9.7, "My Dog Has No Nose"
5482
5483 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5484
5485         * common/gst-xmlinspect.py:
5486         * configure.ac:
5487         * docs/libs/tmpl/gstdataprotocol.sgml:
5488         * docs/random/release:
5489         * po/af.po:
5490         * po/az.po:
5491         * po/bg.po:
5492         * po/ca.po:
5493         * po/cs.po:
5494         * po/de.po:
5495         * po/en_GB.po:
5496         * po/fr.po:
5497         * po/it.po:
5498         * po/nb.po:
5499         * po/nl.po:
5500         * po/ru.po:
5501         * po/sq.po:
5502         * po/sr.po:
5503         * po/sv.po:
5504         * po/tr.po:
5505         * po/uk.po:
5506         * po/vi.po:
5507         * win32/common/config.h:
5508         * win32/common/config.h.in:
5509         * win32/vs6/gst_inspect.dsp:
5510         * win32/vs6/gst_launch.dsp:
5511         * win32/vs6/libgstbase.dsp:
5512         * win32/vs6/libgstelements.dsp:
5513         * win32/vs6/libgstreamer.dsp:
5514         * win32/vs7/GStreamer.vcproj:
5515         * win32/vs7/gst-inspect.vcproj:
5516         * win32/vs7/gst-launch.vcproj:
5517         * win32/vs7/libgstbase.vcproj:
5518           bump GST_MAJORMINOR to 0.10
5519           reset libtool version
5520
5521 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5522
5523         * po/LINGUAS:
5524         * po/bg.po:
5525           Added Bulgarian translation by (Alexander Shopov)
5526
5527 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5528
5529         * tests/check/gst/gstplugin.c:
5530           fix test
5531
5532 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5533
5534         * common/gst-xmlinspect.py:
5535         * common/gtk-doc-plugins.mak:
5536         * configure.ac:
5537         * docs/Makefile.am:
5538         * docs/gst/Makefile.am:
5539         * docs/gst/gstreamer-docs.sgml:
5540         * docs/gst/gstreamer-sections.txt:
5541         * docs/gst/gstreamer.types:
5542         * docs/gst/gstreamer.types.in:
5543         * docs/plugins/Makefile.am:
5544         * docs/plugins/gstreamer-plugins-docs.sgml:
5545         * docs/plugins/gstreamer-plugins-sections.txt:
5546         * docs/plugins/gstreamer-plugins.types:
5547         * docs/plugins/inspect.stamp:
5548         * docs/plugins/inspect/plugin-coreelements.xml:
5549         * docs/plugins/inspect/plugin-coreindexers.xml:
5550         * docs/plugins/scanobj-build.stamp:
5551         * gstreamer.spec.in:
5552         * plugins/elements/Makefile.am:
5553         * plugins/elements/gstelements.c:
5554         * plugins/elements/gstfakesink.c:
5555         * plugins/elements/gstfakesrc.c:
5556         * plugins/elements/gstfilesink.c:
5557         * plugins/elements/gstfilesrc.c:
5558         * plugins/elements/gstqueue.c:
5559         * plugins/indexers/Makefile.am:
5560         * plugins/indexers/gstindexers.c:
5561           document core plugins in a separate document just like all the
5562           others
5563           rename these plugins to something starting with core
5564
5565 2005-12-01  Andy Wingo  <wingo@pobox.com>
5566
5567         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5568         padding here before, but it missed the commit.
5569
5570 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * libs/gst/controller/gstinterpolation.c:
5573           whitespace prices have crashed, we should feel free to use some now
5574           use gst_guint64_to_gdouble
5575
5576 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * libs/gst/controller/gstcontroller.c:
5579         * libs/gst/controller/gsthelper.c:
5580         * libs/gst/controller/gstinterpolation.c:
5581         * libs/gst/controller/lib.c:
5582           wrap config.h include
5583
5584 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5585
5586         * docs/gst/gstreamer-sections.txt:
5587           update docs
5588
5589 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * plugins/elements/gstelements.c:
5592         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5593         (gst_fd_sink__class_init), (gst_fd_sink__init),
5594         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5595         (gst_fd_sink__get_property):
5596         * plugins/elements/gstfdsink.h:
5597         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5598         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5599         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5600         (gst_fd_src_unlock), (gst_fd_src_set_property),
5601         (gst_fd_src_get_property), (gst_fd_src_create),
5602         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5603         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5604         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5605         (gst_fd_src_uri_handler_init):
5606         * plugins/elements/gstfdsrc.h:
5607         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5608           more anal cleanup
5609
5610 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5611
5612         * docs/gst/Makefile.am:
5613         * docs/gst/gstreamer.types.in:
5614         * gst/Makefile.am:
5615           fix the docs build
5616
5617 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5618
5619         * configure.ac:
5620         * gst/Makefile.am:
5621         * gst/gst.c:
5622         * gst/gstplugin.h:
5623         * gst/gstregistry.h:
5624         * tests/benchmarks/complexity.c:
5625         * tests/benchmarks/mass-elements.c:
5626         * tests/check/Makefile.am:
5627         * tools/Makefile.am:
5628         * tools/gst-inspect.c:
5629         * tools/gst-xmlinspect.c:
5630           various fixes to make
5631           --disable-nls --disable-registry --disable-loadsave
5632           --disable-parse --disable-gst-debug
5633           work and get the core .so down to 360444 bytes after stripping
5634
5635 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5636
5637         * Makefile.am:
5638         * configure.ac:
5639           descend into tests
5640         * docs/random/thomasvs/TODO:
5641         * tests/Makefile.am:
5642         * tests/README:
5643           add a README
5644
5645 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * win32/GStreamer.vcproj:
5648         * win32/MANIFEST:
5649         * win32/Makefile:
5650         * win32/Makefile.inspect:
5651         * win32/Makefile.launch:
5652         * win32/Makefile.register:
5653         * win32/README.txt:
5654         * win32/gst-inspect.vcproj:
5655         * win32/gst-launch.vcproj:
5656         * win32/gst-register.vcproj:
5657         * win32/gstelements.vcproj:
5658         * win32/gstgetbits.def:
5659         * win32/gstgetbits.vcproj:
5660         * win32/gstreamer-dbg.def:
5661         * win32/gstreamer.def:
5662         * win32/libgstbase.def:
5663         * win32/libgstbase.vcproj:
5664         * win32/link_oldruntime.c:
5665         * win32/mman.c:
5666         * win32/mman.h:
5667         * win32/mman.inl:
5668         * win32/msvc71.sln:
5669           move even more stuff, win32/ is nice and clean now
5670
5671 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5672
5673         * libs/gst/control/.cvsignore:
5674         * win32/MANIFEST:
5675         * win32/config.h:
5676         * win32/dirent.c:
5677         * win32/dirent.h:
5678         * win32/gstbytestream.def:
5679         * win32/gstbytestream.vcproj:
5680         * win32/gstconfig.h:
5681         * win32/gstenumtypes.c:
5682         * win32/gstenumtypes.h:
5683         * win32/gstoptimalscheduler.vcproj:
5684         * win32/gstversion.h:
5685         * win32/gtchar.h:
5686         * win32/testsuite/bins.vcproj:
5687         * win32/testsuite/bytestream.vcproj:
5688         * win32/testsuite/caps.vcproj:
5689         * win32/testsuite/cleanup.vcproj:
5690         * win32/testsuite/clock.vcproj:
5691         * win32/testsuite/debug.vcproj:
5692         * win32/testsuite/dlopen.vcproj:
5693         * win32/testsuite/dynparams.vcproj:
5694         * win32/testsuite/elements.vcproj:
5695         * win32/testsuite/ghostpads.vcproj:
5696         * win32/testsuite/indexers.vcproj:
5697         * win32/testsuite/negotiation.vcproj:
5698         * win32/testsuite/parse.vcproj:
5699         * win32/testsuite/plugin.vcproj:
5700         * win32/testsuite/refcounting.vcproj:
5701         * win32/testsuite/schedulers.vcproj:
5702         * win32/testsuite/states.vcproj:
5703         * win32/testsuite/tags.vcproj:
5704         * win32/testsuite/threads.vcproj:
5705           remove old win32 stuff that isn't maintained and should be
5706           reorganized
5707
5708 2005-11-30  Andy Wingo  <wingo@pobox.com>
5709
5710         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5711         loading the gst.interfaces python module bork.
5712
5713         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5714         available since GLib 2.2. Fixes #318031.
5715
5716 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5717
5718         * Makefile.am:
5719         * check/.cvsignore:
5720         * check/Makefile.am:
5721         * check/elements/.cvsignore:
5722         * check/elements/fakesrc.c:
5723         * check/elements/fdsrc.c:
5724         * check/elements/identity.c:
5725         * check/generic/.cvsignore:
5726         * check/generic/states.c:
5727         * check/gst-libs/.cvsignore:
5728         * check/gst-libs/controller.c:
5729         * check/gst-libs/gdp.c:
5730         * check/gst/.cvsignore:
5731         * check/gst/capslist.h:
5732         * check/gst/gst.c:
5733         * check/gst/gstbin.c:
5734         * check/gst/gstbuffer.c:
5735         * check/gst/gstbus.c:
5736         * check/gst/gstcaps.c:
5737         * check/gst/gstelement.c:
5738         * check/gst/gstevent.c:
5739         * check/gst/gstghostpad.c:
5740         * check/gst/gstiterator.c:
5741         * check/gst/gstmessage.c:
5742         * check/gst/gstminiobject.c:
5743         * check/gst/gstobject.c:
5744         * check/gst/gstpad.c:
5745         * check/gst/gstpipeline.c:
5746         * check/gst/gstplugin.c:
5747         * check/gst/gstsegment.c:
5748         * check/gst/gststructure.c:
5749         * check/gst/gstsystemclock.c:
5750         * check/gst/gsttag.c:
5751         * check/gst/gstutils.c:
5752         * check/gst/gstvalue.c:
5753         * check/net/.cvsignore:
5754         * check/net/gstnetclientclock.c:
5755         * check/net/gstnettimeprovider.c:
5756         * check/pipelines/.cvsignore:
5757         * check/pipelines/cleanup.c:
5758         * check/pipelines/simple_launch_lines.c:
5759         * check/pipelines/stress.c:
5760         * check/states/.cvsignore:
5761         * check/states/sinks.c:
5762         * configure.ac:
5763         * examples/Makefile.am:
5764         * examples/appreader/.cvsignore:
5765         * examples/appreader/Makefile.am:
5766         * examples/appreader/appreader.c:
5767         * examples/controller/.cvsignore:
5768         * examples/controller/Makefile.am:
5769         * examples/controller/audio-example.c:
5770         * examples/cutter/.cvsignore:
5771         * examples/cutter/Makefile.am:
5772         * examples/cutter/cutter.c:
5773         * examples/cutter/cutter.h:
5774         * examples/events/Makefile.am:
5775         * examples/events/seek.c:
5776         * examples/helloworld/.cvsignore:
5777         * examples/helloworld/Makefile.am:
5778         * examples/helloworld/helloworld.c:
5779         * examples/helloworld2/.cvsignore:
5780         * examples/helloworld2/Makefile.am:
5781         * examples/helloworld2/helloworld2.c:
5782         * examples/launch/.cvsignore:
5783         * examples/launch/Makefile.am:
5784         * examples/launch/mp3parselaunch.c:
5785         * examples/launch/mp3play:
5786         * examples/manual/.cvsignore:
5787         * examples/manual/Makefile.am:
5788         * examples/manual/extract.pl:
5789         * examples/metadata/Makefile.am:
5790         * examples/metadata/read-metadata.c:
5791         * examples/mixer/.cvsignore:
5792         * examples/mixer/Makefile.am:
5793         * examples/mixer/mixer.c:
5794         * examples/mixer/mixer.h:
5795         * examples/pingpong/.cvsignore:
5796         * examples/pingpong/Makefile.am:
5797         * examples/pingpong/pingpong.c:
5798         * examples/plugins/.cvsignore:
5799         * examples/plugins/Makefile.am:
5800         * examples/plugins/example.c:
5801         * examples/plugins/example.h:
5802         * examples/pwg/.cvsignore:
5803         * examples/pwg/Makefile.am:
5804         * examples/pwg/extract.pl:
5805         * examples/queue/.cvsignore:
5806         * examples/queue/Makefile.am:
5807         * examples/queue/queue.c:
5808         * examples/queue2/.cvsignore:
5809         * examples/queue2/Makefile.am:
5810         * examples/queue2/queue2.c:
5811         * examples/queue3/.cvsignore:
5812         * examples/queue3/Makefile.am:
5813         * examples/queue3/queue3.c:
5814         * examples/queue4/.cvsignore:
5815         * examples/queue4/Makefile.am:
5816         * examples/queue4/queue4.c:
5817         * examples/retag/.cvsignore:
5818         * examples/retag/Makefile.am:
5819         * examples/retag/retag.c:
5820         * examples/retag/transcode.c:
5821         * examples/thread/.cvsignore:
5822         * examples/thread/Makefile.am:
5823         * examples/thread/thread.c:
5824         * examples/typefind/.cvsignore:
5825         * examples/typefind/Makefile.am:
5826         * examples/typefind/typefind.c:
5827         * examples/xml/.cvsignore:
5828         * examples/xml/Makefile.am:
5829         * examples/xml/createxml.c:
5830         * examples/xml/runxml.c:
5831         * tests/Makefile.am:
5832         * tests/check/Makefile.am:
5833         * testsuite/.cvsignore:
5834         * testsuite/Makefile.am:
5835         * testsuite/Rules:
5836         * testsuite/caps/.cvsignore:
5837         * testsuite/caps/Makefile.am:
5838         * testsuite/caps/app_fixate.c:
5839         * testsuite/caps/audioscale.c:
5840         * testsuite/caps/caps.c:
5841         * testsuite/caps/caps.h:
5842         * testsuite/caps/caps_strings:
5843         * testsuite/caps/compatibility.c:
5844         * testsuite/caps/deserialize.c:
5845         * testsuite/caps/enumcaps.c:
5846         * testsuite/caps/eratosthenes.c:
5847         * testsuite/caps/filtercaps.c:
5848         * testsuite/caps/fixed.c:
5849         * testsuite/caps/fraction-convert.c:
5850         * testsuite/caps/fraction-multiply-and-zero.c:
5851         * testsuite/caps/intersect2.c:
5852         * testsuite/caps/intersection.c:
5853         * testsuite/caps/normalisation.c:
5854         * testsuite/caps/random.c:
5855         * testsuite/caps/renegotiate.c:
5856         * testsuite/caps/sets.c:
5857         * testsuite/caps/simplify.c:
5858         * testsuite/caps/string-conversions.c:
5859         * testsuite/caps/structure.c:
5860         * testsuite/caps/subtract.c:
5861         * testsuite/caps/union.c:
5862         * testsuite/debug/.cvsignore:
5863         * testsuite/debug/Makefile.am:
5864         * testsuite/debug/category.c:
5865         * testsuite/debug/commandline.c:
5866         * testsuite/debug/global.c:
5867         * testsuite/debug/output.c:
5868         * testsuite/debug/printf_extension.c:
5869         * testsuite/dlopen/.cvsignore:
5870         * testsuite/dlopen/Makefile.am:
5871         * testsuite/dlopen/dlopen_gst.c:
5872         * testsuite/dlopen/loadgst.c:
5873         * testsuite/elements/.cvsignore:
5874         * testsuite/elements/Makefile.am:
5875         * testsuite/elements/gst-inspect-check.in:
5876         * testsuite/elements/struct_i386.h:
5877         * testsuite/elements/struct_size.c:
5878         * testsuite/indexers/.cvsignore:
5879         * testsuite/indexers/Makefile.am:
5880         * testsuite/indexers/cache1.c:
5881         * testsuite/indexers/indexdump.c:
5882         * testsuite/parse/.cvsignore:
5883         * testsuite/parse/Makefile.am:
5884         * testsuite/parse/parse1.c:
5885         * testsuite/parse/parse2.c:
5886         * testsuite/plugin/.cvsignore:
5887         * testsuite/plugin/Makefile.am:
5888         * testsuite/plugin/README:
5889         * testsuite/plugin/dynamic.c:
5890         * testsuite/plugin/linked.c:
5891         * testsuite/plugin/loading.c:
5892         * testsuite/plugin/registry.c:
5893         * testsuite/plugin/static.c:
5894         * testsuite/plugin/static2.c:
5895         * testsuite/plugin/testplugin.c:
5896         * testsuite/plugin/testplugin2.c:
5897         * testsuite/plugin/testplugin2_s.c:
5898         * testsuite/plugin/testplugin_s.c:
5899         * testsuite/refcounting/.cvsignore:
5900         * testsuite/refcounting/Makefile.am:
5901         * testsuite/refcounting/bin.c:
5902         * testsuite/refcounting/element.c:
5903         * testsuite/refcounting/element_pad.c:
5904         * testsuite/refcounting/mainloop.c:
5905         * testsuite/refcounting/mem.c:
5906         * testsuite/refcounting/mem.h:
5907         * testsuite/refcounting/object.c:
5908         * testsuite/refcounting/pad.c:
5909         * testsuite/refcounting/sched.c:
5910         * testsuite/refcounting/thread.c:
5911         * testsuite/states/.cvsignore:
5912         * testsuite/states/Makefile.am:
5913         * testsuite/states/bin.c:
5914         * testsuite/states/locked.c:
5915         * testsuite/states/parent.c:
5916         * testsuite/threads/.cvsignore:
5917         * testsuite/threads/159566.c:
5918         * testsuite/threads/159852.c:
5919         * testsuite/threads/Makefile.am:
5920         * testsuite/threads/queue.c:
5921         * testsuite/threads/signals.c:
5922         * testsuite/threads/staticrec.c:
5923         * testsuite/threads/thread.c:
5924         * testsuite/threads/threadb.c:
5925         * testsuite/threads/threadc.c:
5926         * testsuite/threads/threadd.c:
5927         * testsuite/threads/threade.c:
5928         * testsuite/threads/threadf.c:
5929         * testsuite/threads/threadg.c:
5930         * testsuite/threads/threadh.c:
5931         * testsuite/threads/threadi.c:
5932           move all of these under tests
5933
5934 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * configure.ac:
5937         * tests/Makefile.am:
5938           fix distcheck
5939
5940 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * docs/gst/gstreamer-sections.txt:
5943         * tests/sched/.cvsignore:
5944         * tests/sched/Makefile.am:
5945         * tests/sched/cases/(fs-fs).xml:
5946         * tests/sched/cases/(fs-i-fs).xml:
5947         * tests/sched/cases/(fs-i-i-fs).xml:
5948         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5949         * tests/sched/dynamic-pipeline.c:
5950         * tests/sched/interrupt1.c:
5951         * tests/sched/interrupt2.c:
5952         * tests/sched/interrupt3.c:
5953         * tests/sched/runtestcases:
5954         * tests/sched/runxml.c:
5955         * tests/sched/sched-stress.c:
5956         * tests/sched/sort.c:
5957         * tests/sched/testcases:
5958         * tests/sched/testcases1.tc:
5959         * tests/seeking/.cvsignore:
5960         * tests/seeking/Makefile.am:
5961         * tests/seeking/seeking1.c:
5962         * tests/threadstate/.cvsignore:
5963         * tests/threadstate/Makefile.am:
5964         * tests/threadstate/test1.c:
5965         * tests/threadstate/test2.c:
5966         * tests/threadstate/threadstate1.c:
5967         * tests/threadstate/threadstate2.c:
5968         * tests/threadstate/threadstate3.c:
5969         * tests/threadstate/threadstate4.c:
5970         * tests/threadstate/threadstate5.c:
5971           remove obsolete tests
5972         * configure.ac:
5973         * tests/bench-complexity.scm:
5974         * tests/bench-mass_elements.scm:
5975         * tests/complexity.c:
5976         * tests/complexity.gnuplot:
5977         * tests/instantiate/.cvsignore:
5978         * tests/instantiate/Makefile.am:
5979         * tests/instantiate/caps.c:
5980         * tests/mass_elements.c:
5981         * tests/network-clock-utils.scm:
5982         * tests/network-clock.scm:
5983         * tests/plot-data:
5984         First pass at cleaning up tests/ dir before moving the rest
5985         Combined with CVS surgery
5986
5987 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5988
5989         * po/POTFILES.in:
5990           queue has moved, update
5991
5992 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * docs/gst/gstreamer-sections.txt:
5995           remove double entries from the docs
5996         * gst/gst_private.h:
5997         * gst/gstinfo.c: (_gst_debug_init):
5998           remove the THREAD debug category
5999         * gst/Makefile.am:
6000         * gst/gstqueue.c:
6001         * gst/gstqueue.h:
6002         * docs/gst/gstreamer.types:
6003         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6004         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6005           completely move queue and fix up debugging categories
6006
6007 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6010           make initialization portable, using LL is not
6011
6012 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6013
6014         * win32/common/gstconfig.h:
6015           add large padding
6016
6017 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         * win32/common/libgstreamer.def:
6020           rename symbols; sort base section
6021
6022 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6023
6024         * gst/gstclock.c: (do_linear_regression):
6025           remove crack non-portable handrolled DEBUG macro
6026
6027 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         * docs/random/release:
6030           update notes
6031         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6032         (gst_object_flags_get_type), (register_gst_bin_flags),
6033         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6034         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6035         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6036         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6037         (gst_caps_flags_get_type), (register_gst_clock_return),
6038         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6039         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6040         (gst_clock_flags_get_type), (register_gst_state),
6041         (gst_state_get_type), (register_gst_state_change_return),
6042         (gst_state_change_return_get_type), (register_gst_state_change),
6043         (gst_state_change_get_type), (register_gst_element_flags),
6044         (gst_element_flags_get_type), (register_gst_core_error),
6045         (gst_core_error_get_type), (register_gst_library_error),
6046         (gst_library_error_get_type), (register_gst_resource_error),
6047         (gst_resource_error_get_type), (register_gst_stream_error),
6048         (gst_stream_error_get_type), (register_gst_event_type_flags),
6049         (gst_event_type_flags_get_type), (register_gst_event_type),
6050         (gst_event_type_get_type), (register_gst_seek_type),
6051         (gst_seek_type_get_type), (register_gst_seek_flags),
6052         (gst_seek_flags_get_type), (register_gst_format),
6053         (gst_format_get_type), (register_gst_index_certainty),
6054         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6055         (gst_index_entry_type_get_type),
6056         (register_gst_index_lookup_method),
6057         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6058         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6059         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6060         (gst_index_flags_get_type), (register_gst_debug_level),
6061         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6062         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6063         (gst_iterator_result_get_type), (register_gst_iterator_item),
6064         (gst_iterator_item_get_type), (register_gst_message_type),
6065         (gst_message_type_get_type), (register_gst_mini_object_flags),
6066         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6067         (gst_pad_link_return_get_type), (register_gst_flow_return),
6068         (gst_flow_return_get_type), (register_gst_activate_mode),
6069         (gst_activate_mode_get_type), (register_gst_pad_direction),
6070         (gst_pad_direction_get_type), (register_gst_pad_flags),
6071         (gst_pad_flags_get_type), (register_gst_pad_presence),
6072         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6073         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6074         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6075         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6076         (gst_plugin_flags_get_type), (register_gst_rank),
6077         (gst_rank_get_type), (register_gst_query_type),
6078         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6079         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6080         (gst_tag_flag_get_type), (register_gst_task_state),
6081         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6082         (gst_alloc_trace_flags_get_type),
6083         (register_gst_type_find_probability),
6084         (gst_type_find_probability_get_type), (register_gst_uri_type),
6085         (gst_uri_type_get_type), (register_gst_parse_error),
6086         (gst_parse_error_get_type):
6087         * win32/common/gstenumtypes.h:
6088         * win32/common/gstversion.h:
6089           update visual studio generated files
6090
6091 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6092
6093         * win32/vs6/libgstbase.dsp:
6094         * win32/vs6/libgstelements.dsp:
6095           update project files for new locations
6096
6097 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6098
6099         * Makefile.am:
6100           remove some files
6101         * README:
6102           reinstate and update
6103         * DEVEL:
6104         * REQUIREMENTS:
6105           removed
6106         * LICENSE:
6107         * docs/random/LICENSE:
6108           moved to random
6109
6110 2005-11-30  Edward Hervey  <edward@fluendo.com>
6111
6112         * gst/gsttypefind.c: (gst_type_find_register):
6113         * gst/gsttypefind.h:
6114         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6115         (gst_type_find_factory_dispose):
6116         * gst/gsttypefindfactory.h:
6117         Fix memory leak in GstTypeFindFactory.
6118
6119 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6120
6121         * gst/gst.c:
6122         * plugins/elements/Makefile.am:
6123         * plugins/elements/gstelements.c:
6124         * plugins/elements/gstqueue.c:
6125           move queue from core to the elements plugin
6126
6127 2005-11-29  Andy Wingo  <wingo@pobox.com>
6128
6129         * libs/gst/base/gstbasetransform.h: 
6130         * libs/gst/base/gstbasesrc.h: 
6131         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6132
6133         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6134         of pointers by which to pad very extensible base classes (like the
6135         ones in libs/gst/base).
6136
6137 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6138
6139         * docs/gst/gstreamer-docs.sgml:
6140         * docs/gst/gstreamer-sections.txt:
6141         * docs/libs/gstreamer-libs-docs.sgml:
6142         * docs/libs/gstreamer-libs-sections.txt:
6143           moving documentation from core to lib
6144
6145 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6146
6147         * check/Makefile.am:
6148         * configure.ac:
6149         * docs/gst/Makefile.am:
6150         * gst/Makefile.am:
6151         * gst/base/.cvsignore:
6152         * gst/base/Makefile.am:
6153         * gst/base/README:
6154         * gst/base/gstadapter.c:
6155         * gst/base/gstadapter.h:
6156         * gst/base/gstbasesink.c:
6157         * gst/base/gstbasesink.h:
6158         * gst/base/gstbasesrc.c:
6159         * gst/base/gstbasesrc.h:
6160         * gst/base/gstbasetransform.c:
6161         * gst/base/gstbasetransform.h:
6162         * gst/base/gstcollectpads.c:
6163         * gst/base/gstcollectpads.h:
6164         * gst/base/gstpushsrc.c:
6165         * gst/base/gstpushsrc.h:
6166         * gst/base/gsttypefindhelper.c:
6167         * gst/base/gsttypefindhelper.h:
6168         * gst/check/Makefile.am:
6169         * gst/check/gstcheck.c:
6170         * gst/check/gstcheck.h:
6171         * gst/net/Makefile.am:
6172         * gst/net/gstnet.h:
6173         * gst/net/gstnetclientclock.c:
6174         * gst/net/gstnetclientclock.h:
6175         * gst/net/gstnettimepacket.c:
6176         * gst/net/gstnettimepacket.h:
6177         * gst/net/gstnettimeprovider.c:
6178         * gst/net/gstnettimeprovider.h:
6179         * libs/gst/Makefile.am:
6180         * libs/gst/base/Makefile.am:
6181         * libs/gst/base/gstbasetransform.c:
6182         * libs/gst/check/Makefile.am:
6183         * plugins/elements/Makefile.am:
6184         * po/POTFILES.in:
6185           CVS surgery + support to move base, check, and net out of gst
6186           and into libs/gst
6187
6188 2005-11-29  Andy Wingo  <wingo@pobox.com>
6189
6190         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6191
6192         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6193         padding.
6194
6195         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6196
6197         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6198
6199         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6200
6201         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6202         padding; reduces object size by about 30%. We don't expect
6203         anything else to go into gstobject.
6204
6205         * gst/gstminiobject.h (struct _GstMiniObject)
6206         (struct _GstMiniObjectClass): Only one pointer of padding; the
6207         payload is only a pointer and two ints anyway. For the class there
6208         are only two methods as well.
6209         
6210         * gst/gstelement.h (struct _GstElementClass): Removed
6211         the state_changed signal callback, it is not used.
6212
6213 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6214
6215         * docs/gst/gstreamer.types:
6216           fix includes, though they are a little dinky
6217
6218 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6219
6220         * check/Makefile.am:
6221           look in the right place for elements, a lot more chance of
6222           success
6223         * gst/Makefile.am:
6224           remove indexers and elements subdirs
6225         * plugins/Makefile.am:
6226           make indexers conditional
6227
6228 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6229
6230         * Makefile.am:
6231         * configure.ac:
6232         * plugins/elements/Makefile.am:
6233         * plugins/elements/gstcapsfilter.c:
6234         * plugins/elements/gstfilesink.c:
6235         * plugins/elements/gstfilesrc.c:
6236         * plugins/elements/gstidentity.c:
6237         * plugins/indexers/Makefile.am:
6238           do CVS surgery and related build fixery to move elements
6239           and indexers in a new gstreamer/plugins directory, out of the
6240           gst/ directory
6241
6242 2005-11-29  Andy Wingo  <wingo@pobox.com>
6243
6244         * check/Makefile.am:
6245         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6246         * pkgconfig/gstreamer-net.pc.in:
6247         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6248         #322257.
6249
6250 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6251
6252         * tools/Makefile.am:
6253         * tools/gst-complete.1.in:
6254         * tools/gst-complete.c:
6255         * tools/gst-compprep.1.in:
6256         * tools/gst-compprep.c:
6257           removing -compprep and -complete
6258
6259 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * gst/gstevent.c: (gst_event_new_new_segment),
6262         (gst_event_parse_new_segment):
6263         * gst/gstevent.h:
6264           fix #320529 - clean up new_segment API and structure.
6265           Let's hope everyone was using the methods, and not the structure.
6266
6267 2005-11-29  Edward Hervey  <edward@fluendo.com>
6268
6269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6270         (gst_base_sink_event), (gst_base_sink_do_sync),
6271         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6272         Properly handle non GST_FORMAT_TIME segment
6273         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6274         Properly handle non GST_FORMAT_TIME segment
6275         * gst/gstsegment.c:
6276         This function is valid if the accumulator is 0 and the format
6277         is different from the requested format.
6278         
6279 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6280
6281         * docs/gst/gstreamer-sections.txt:
6282         Add gst_query_new_seeking and gst_query_parse_seeking to the
6283         docs.
6284
6285 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6286
6287         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6288           Treat a pad alloc with new caps the same as if we were not
6289           negotiated, in order to allow a changing upstream output
6290           to produce a new format of data.
6291
6292 2005-11-29  Edward Hervey  <edward@fluendo.com>
6293
6294         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6295         (gst_base_transform_event), (gst_base_transform_eventfunc):
6296         The event virtual method is now properly implemented, with a default
6297         handler
6298         Sub classes should call the parent_class event method. They should
6299         return FALSE if they had a problem handling the given event, or don't
6300         want GstBaseTransform to send that even downstream
6301         * gst/elements/gstidentity.c: (gst_identity_class_init),
6302         (gst_identity_init), (gst_identity_event),
6303         (gst_identity_transform_ip), (gst_identity_set_property),
6304         (gst_identity_get_property):
6305         * gst/elements/gstidentity.h:
6306         Added the single-segment boolean property.
6307         If set to TRUE, it will output a single segment of data, starting from
6308         0, will eat up all incoming newsegment, and modify the timestamp of the
6309         buffers accordingly
6310
6311 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6312
6313         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6314           Don't ref NULL target pad (#322751). Improve docs.
6315
6316 2005-11-29  Michael Smith  <msmith@fluendo.com>
6317
6318         * gst/gstregistryxml.c: (load_plugin):
6319           Don't crash if we failed to load a feature from a plugin. 
6320
6321 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6322
6323         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6324         (GST_START_TEST):
6325           use more check API and less GLib API
6326
6327 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * Makefile.am:
6330           don't run checks if we don't have check
6331         * common/check.mak:
6332           remove the registry when running make torture
6333         * docs/gst/gstreamer-sections.txt:
6334           remove second multiply
6335         * gst/gstqueue.c: (gst_queue_loop):
6336           fix a compile warning when disabling debug
6337
6338 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6339
6340         * gst/gstinfo.h:
6341         Hey! Let's print the pad name if the pointer != NULL instead
6342         of when it == NULL :-)
6343
6344 2005-11-28  Wim Taymans  <wim@fluendo.com>
6345
6346         * check/gst/gstutils.c: (GST_START_TEST):
6347         Updated check, add some scaling accuracy checking code.
6348
6349         * gst/gstutils.c: (gst_util_div128_64),
6350         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6351         (gst_util_uint64_scale_int):
6352         Fix 6 times faster division code. Optimize for common 
6353         1/1 and less common X/1 cases.
6354
6355 2005-11-28  Wim Taymans  <wim@fluendo.com>
6356
6357         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6358         More checks.
6359
6360         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6361         (do_linear_regression), (gst_clock_add_observation):
6362         Cleanups.
6363         Release lock when the clock cannot be slaved.
6364         Catch the case where the regression returned an invalid denominator.
6365
6366         * gst/gstutils.c: (gst_util_div128_64_iterate),
6367         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6368         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6369         Add protentially more performant non-iterative 128/64 divide function
6370         that unfortunatly does not work yet.
6371         Shortcut the trivial 0/X = 0 case.
6372         Remove the warnings on overflow.
6373
6374 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6375
6376         * gst/gstplugin.c: (gst_plugin_register_func):
6377           everything causing a plugin not to load should be at least a WARNING
6378
6379 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6380
6381         * docs/random/ensonic/dparams.txt:
6382           some TODOs for the next dev cycle
6383         * libs/gst/controller/gstcontroller.c:
6384         (gst_controlled_property_set_interpolation_mode),
6385         (gst_controlled_property_new):
6386         * libs/gst/controller/gstcontroller.h:
6387           use base type to assign acccessor functions
6388
6389 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6390
6391         * check/Makefile.am:
6392         Oops, that should have been top_srcdir
6393
6394 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6395
6396         * check/Makefile.am:
6397         * check/elements/fdsrc.c: (GST_START_TEST):
6398         Use a cmdline define to specify the location of a file to use for
6399         testing, to avoid breaking distcheck.
6400
6401 2005-11-28  Andy Wingo  <wingo@pobox.com>
6402
6403         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6404
6405 2005-11-28  Edward Hervey  <edward@fluendo.com>
6406
6407         * tools/gst-launch.c: (main):
6408         Clarify the output strings, makes it easier to translate.
6409         Fixes #322626
6410
6411 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6412
6413         * gst/Makefile.am:
6414           don't try and build net if we don't even have <sys/socket.h>
6415
6416 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6417
6418         * check/Makefile.am:
6419         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6420         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6421           Add tests for fdsrc seekability
6422
6423         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6424         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6425         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6426         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6427         * gst/elements/gstfdsrc.h:
6428           fdsrc should not be a 'live' source.
6429           Implement seeking on seekable fd's.
6430
6431         * gst/gstquery.c: (gst_query_new_seeking),
6432         (gst_query_parse_seeking):
6433         * gst/gstquery.h:
6434           Implement SEEKING query functions: 
6435             *_new_seeking and *_parse_seeking
6436
6437 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6438
6439         * gst/gstelement.c: (gst_element_dispose):
6440           don't loop forever
6441
6442         * gst/gstiterator.c:
6443         * gst/gststructure.c:
6444           doc fixes
6445
6446         * libs/gst/controller/gstcontroller.c:
6447         (gst_controlled_property_set_interpolation_mode):
6448         * libs/gst/controller/gstcontroller.h:
6449         * libs/gst/controller/gstinterpolation.c:
6450         (interpolate_none_get_enum_value_array):
6451           support controlling enums
6452
6453 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6454
6455         * gst/gstvalue.c:
6456           Improve documentation for gst_value_union().
6457
6458         * gst/gstvalue.h:
6459           Change return value for union, intersect and subtract functions
6460           from gint to gboolean.
6461
6462 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6463
6464         * gst/gstvalue.c: (gst_value_serialize_any_list),
6465         (gst_value_transform_any_list_string),
6466         (gst_value_deserialize_list), (gst_value_deserialize_array),
6467         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6468         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6469         (gst_value_set_fraction_range_full),
6470         (gst_value_deserialize_fraction_range),
6471         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6472         (gst_value_deserialize_boolean),
6473         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6474         (gst_value_serialize_float), (gst_value_deserialize_float),
6475         (gst_string_wrap), (gst_value_deserialize_string),
6476         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6477         (gst_value_union_int_range_int_range),
6478         (gst_value_intersect_int_range_int_range),
6479         (gst_value_intersect_double_range_double_range),
6480         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6481         (gst_value_subtract_int_range_int_range),
6482         (gst_value_subtract_double_double_range),
6483         (gst_value_subtract_double_range_double_range),
6484         (gst_value_deserialize_fraction):
6485         * gst/gstvalue.h:
6486           Use gint, gdouble and gchar in our API instead of int, double and
6487           char (and make usage in gstvalue.c more consistent).
6488
6489 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6490
6491         * check/Makefile.am:
6492         * libs/gst/controller/Makefile.am:
6493         * libs/gst/dataprotocol/Makefile.am:
6494           fix up Makefile.am and remove GST_ENABLE_NEW
6495
6496 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * configure.ac:
6499         * gst/Makefile.am:
6500         * gst/base/Makefile.am:
6501         * gst/check/Makefile.am:
6502         * gst/elements/Makefile.am:
6503         * gst/net/Makefile.am:
6504           update LDFLAGS use some more
6505
6506 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * common/m4/gst-doc.m4:
6509           Fixes #312589
6510
6511 2005-11-26  Edward Hervey  <edward@fluendo.com>
6512
6513         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6514         This shouldn't issue a g_warning since it returns NULL if it
6515         couldn't find the plugin, and all functions using this behave
6516         properly on a NULL return. Switching to a GST_WARNING.
6517
6518 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6519
6520         * gst/gstbin.c: (gst_bin_handle_message_func):
6521         Don't leak clock messages.
6522
6523 2005-11-25  Wim Taymans  <wim@fluendo.com>
6524
6525         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6526         (gst_util_uint64_scale_int):
6527         Optimisations, remove unneeded vars.
6528
6529 2005-11-25  Wim Taymans  <wim@fluendo.com>
6530
6531         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6532         Added more checks for the high precision uint64 cases.
6533
6534         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6535         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6536         Implement high precision (guint64 * guint64) / guint64.
6537
6538 2005-11-24  Wim Taymans  <wim@fluendo.com>
6539
6540         * gst/base/gstbasesrc.c: (gst_base_src_query):
6541         Fix wrong percentage query.
6542
6543         * gst/gstutils.c: (gst_util_uint64_scale),
6544         (gst_util_uint64_scale_int):
6545         Add some more common cases that can be handled 
6546         efficiently to _scale.
6547
6548 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6549
6550         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6551         (gst_mini_object_suite):
6552           don't use check calls from threads; check probably isn't
6553           threadsafe and using a lock to make it threadsafe would
6554           defeat the purpose of this check
6555         * gst/check/gstcheck.c:
6556         * gst/check/gstcheck.h:
6557           use GST_DEBUG some more
6558
6559 2005-11-24  Wim Taymans  <wim@fluendo.com>
6560
6561         * gst/gstutils.c: (gst_util_uint64_scale),
6562         (gst_util_uint64_scale_int):
6563         Chain trivial case to _scale_int.
6564
6565 2005-11-24  Wim Taymans  <wim@fluendo.com>
6566
6567         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6568         Added test for scaling.
6569
6570         * gst/gstclock.h:
6571         Small doc fix.
6572
6573         * gst/gstutils.c: (gst_util_uint64_scale_int):
6574         Implemented high precision scaling code.
6575
6576 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6577
6578         * gst/gstinfo.h:
6579           do not crash on pad==NULL
6580
6581 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         Patch by: Stefan Kost
6584
6585         * common/gtk-doc.mak:
6586         * docs/gst/Makefile.am:
6587         * docs/libs/Makefile.am:
6588           Fix distcheck issues for the libraries docs build
6589           Closes #319599.
6590
6591 2005-11-24  Michael Smith <msmith@fluendo.com>
6592
6593         * docs/manual/basics-helloworld.xml:
6594           Fix bug #315027: memory leak in example code in docs.
6595
6596 2005-11-24  Michael Smith <msmith@fluendo.com>
6597
6598         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6599           Unlock the PREROLL_LOCK in a failure case.
6600
6601 2005-11-24  Wim Taymans  <wim@fluendo.com>
6602
6603         * docs/gst/gstreamer-sections.txt:
6604         * gst/base/gstadapter.h:
6605         * gst/base/gstbasesink.h:
6606         * gst/base/gstbasesrc.h:
6607         * gst/base/gstbasetransform.h:
6608         * gst/base/gstpushsrc.h:
6609         * gst/elements/gstfakesink.h:
6610         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6611         * gst/elements/gstfakesrc.h:
6612         * gst/elements/gstfilesink.h:
6613         * gst/elements/gstfilesrc.h:
6614         * gst/gst.c:
6615         * gst/gstbin.c:
6616         * gst/gstbuffer.c: (_gst_buffer_copy):
6617         * gst/gstbus.h:
6618         * gst/gstcaps.c:
6619         * gst/gstchildproxy.c:
6620         * gst/gstclock.c:
6621         * gst/gstelement.c:
6622         * gst/gstelementfactory.c:
6623         * gst/gstelementfactory.h:
6624         * gst/gstevent.c:
6625         * gst/gstghostpad.h:
6626         * gst/gstindex.h:
6627         * gst/gstinterface.h:
6628         * gst/gstminiobject.c:
6629         * gst/gstminiobject.h:
6630         * gst/gstpad.c:
6631         * gst/gstpad.h:
6632         * gst/gstpadtemplate.h:
6633         * gst/gstpipeline.h:
6634         * gst/gstpluginfeature.h:
6635         * gst/gstquery.h:
6636         * gst/gstqueue.h:
6637         * gst/gsttaglist.c:
6638         * gst/gsttaglist.h:
6639         * gst/gsttagsetter.c:
6640         * gst/gsttagsetter.h:
6641         * gst/gsttrace.c:
6642         * gst/gsttrace.h:
6643         * gst/gsttypefind.h:
6644         * gst/gsturi.h:
6645         * gst/gstvalue.c:
6646         * gst/net/gstnetclientclock.c:
6647         * gst/net/gstnetclientclock.h:
6648         * gst/net/gstnettimepacket.c:
6649         * gst/net/gstnettimeprovider.c:
6650         * gst/net/gstnettimeprovider.h:
6651         Doc fixes.
6652
6653 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6654
6655         * configure.ac: back to HEAD
6656
6657 === release 0.9.6 ===
6658
6659 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6660
6661         * configure.ac:
6662           releasing 0.9.6, "Always On Time"
6663
6664 2005-11-23  Wim Taymans  <wim@fluendo.com>
6665
6666         * docs/gst/gstreamer-sections.txt:
6667         * gst/glib-compat.c:
6668         * gst/gsttagsetter.c:
6669         * gst/gstvalue.c:
6670         * gst/net/gstnetclientclock.c:
6671         * gst/net/gstnettimepacket.h:
6672         Doc updates.
6673
6674 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * docs/faq/using.xml:
6677         * docs/libs/tmpl/gstcontrol.sgml:
6678         * docs/manual/advanced-dparams.xml:
6679         * docs/manual/appendix-checklist.xml:
6680         * docs/manual/basics-elements.xml:
6681         * docs/pwg/other-source.xml:
6682         * docs/random/moving-plugins:
6683         * gst/gstpad.c:
6684         * tools/gst-launch.1.in:
6685           remove mentions of sinesrc
6686
6687 2005-11-23  Michael Smith <msmith@fluendo.com>
6688
6689         * docs/gst/gstreamer-sections.txt:
6690           Update for new API and API changes.
6691         * gst/gstobject.h:
6692           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6693         * gst/gstvalue.c:
6694           Documentation typo fix.
6695         * gst/net/gstnettimepacket.c:
6696           Documentation fixes for arguments.
6697
6698 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6699
6700         * gst/gststructure.c: (gst_structure_get_fraction),
6701         (gst_structure_parse_value),
6702         (gst_structure_fixate_field_nearest_fraction):
6703         * gst/gststructure.h:
6704         * gst/gstutils.c: (gst_util_uint64_scale_int):
6705         * gst/gstutils.h:
6706         * scripts/update-funcnames:
6707         API Changes. 
6708         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6709         Make gst_structure_fixate_field_nearest_fraction take a numerator
6710         and denominator argument instead of a GValue
6711         add gst_structure_get_fraction helper function.
6712
6713 2005-11-23  Wim Taymans  <wim@fluendo.com>
6714
6715         * docs/design/part-TODO.txt:
6716         Update TODO.
6717
6718         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6719         * gst/net/gstnetclientclock.h:
6720         Use parent fields for timeout and window_size.
6721
6722 2005-11-23  Andy Wingo  <wingo@pobox.com>
6723
6724         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6725         rate_num/rate_denom change.
6726
6727         * gst/net/gstnetclientclock.c
6728         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6729         OBJECT_LOCK. Don't call add_observation with the lock.
6730
6731         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6732         fraction.
6733         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6734         rate fraction.
6735         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6736         deal with rate as a fraction whose numerator and denominator are
6737         GstClockTime values.
6738         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6739         master; the other fields are protected by the SLAVE_LOCK.
6740         (do_linear_regression): Note that this must be called with the
6741         SLAVE_LOCK.
6742         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6743         OBJECT_LOCK. Call set_calibration instead of touching the
6744         variables directly.
6745         (gst_clock_set_property, gst_clock_get_property): Protect
6746         master/slave parameters with the SLAVE_LOCK.
6747
6748         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6749         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6750         note that all of the instance variables that add_observation and
6751         the set_master functions use are protected by that lock and not
6752         the OBJECT_LOCK.
6753         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6754
6755         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6756         the caller to take the object lock.
6757
6758 2005-11-23  Wim Taymans  <wim@fluendo.com>
6759
6760         * gst/gsterror.c: (_gst_core_errors_init):
6761         * gst/gsterror.h:
6762         Add error for clock stuff.
6763
6764         * gst/gstpipeline.c: (gst_pipeline_change_state),
6765         (gst_pipeline_set_clock):
6766         Post clock error when clock cannot be used in a pipeline.
6767
6768 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6769
6770         * docs/gst/gstreamer-sections.txt:
6771           make two symbols from gstinfo private for the docs
6772         * gst/base/gstcollectpads.h:
6773         * gst/gstutils.c:
6774           fix doc typos, update docs
6775
6776 2005-11-22  Wim Taymans  <wim@fluendo.com>
6777
6778         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6779         (gst_base_sink_wait), (gst_base_sink_do_sync),
6780         (gst_base_sink_handle_event):
6781         * gst/base/gstbasesink.h:
6782         No need to store the clock, the parent element class already
6783         has it.
6784
6785         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6786         Updates for clock_set returning a gboolean
6787
6788         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6789         (gst_clock_id_wait_async), (gst_clock_class_init),
6790         (gst_clock_init), (gst_clock_finalize),
6791         (gst_clock_get_internal_time), (gst_clock_get_time),
6792         (gst_clock_slave_callback), (gst_clock_set_master),
6793         (gst_clock_get_master), (do_linear_regression),
6794         (gst_clock_add_observation), (gst_clock_set_property),
6795         (gst_clock_get_property):
6796         * gst/gstclock.h:
6797         Implement master/slave. When setting a clock as a slave, a
6798         periodic timeout is scheduled to sample master and slave times.
6799         Then the slave clock is recalibrated to match offset and rate
6800         of the master clock.
6801         Update logging a bit.
6802         Add flag so that a clock can state that is cannot be slaved to
6803         another clock.
6804
6805         * gst/gstelement.c: (gst_element_set_clock):
6806         * gst/gstelement.h:
6807         The set clock returns a gboolean for when an element cannot
6808         deal with the selected clock in the pipeline. 
6809
6810         * gst/gstpipeline.c: (gst_pipeline_change_state),
6811         (gst_pipeline_set_clock):
6812         * gst/gstpipeline.h:
6813         Handle the case where the selected clock cannot be set on
6814         the pipeline.
6815
6816         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6817         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6818         (gst_net_client_clock_set_property),
6819         (gst_net_client_clock_get_property),
6820         (gst_net_client_clock_observe_times):
6821         * gst/net/gstnetclientclock.h:
6822         Use regression code in GstClock parent, remove duplicated
6823         functionality.
6824
6825 2005-11-22  Michael Smith <msmith@fluendo.com>
6826
6827         * gst/gstutils.c: (gst_util_clock_time_scale):
6828         * gst/gstutils.h:
6829         * docs/gst/gstreamer-sections.txt:
6830           Rename method to have extra underscore.
6831
6832 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * gst/elements/Makefile.am:
6835         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6836         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6837         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6838         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6839         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6840         * gst/elements/gstfakesrc.h:
6841         * gst/gstqueue.c: (queue_leaky_get_type):
6842           correctly fix GEnumValues so that nick is the short lowercase
6843           dashed tag
6844         * tools/gst-inspect.c: (print_element_properties_info):
6845           also show the nick, since it's useful to use from parse_launch
6846           syntax
6847           Fixes #322139
6848
6849 2005-11-22  Michael Smith <msmith@fluendo.com>
6850
6851         * gst/gstutils.c: (gst_util_clocktime_scale):
6852         * gst/gstutils.h:
6853         * docs/gst/gstreamer-sections.txt:
6854           Add util method for scaling a clocktime by a fraction. Useful 
6855           implementation is left as an exercise for the reader.
6856
6857 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6858
6859         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6860         If needed, allocate storage in the destination value during
6861         collection.
6862
6863 2005-11-22  Edward Hervey  <edward@fluendo.com>
6864
6865         * docs/gst/gstreamer-sections.txt:
6866         * gst/Makefile.am:
6867         * gst/gst.h:
6868         * gst/gsturitype.c:
6869         * gst/gsturitype.h:
6870         * gst/gstutils.c: (gst_util_set_object_arg):
6871         * tools/gst-compprep.c: (main):
6872         * tools/gst-inspect.c: (print_element_properties_info):
6873         Removed GstURI, closes bug #321061
6874
6875 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6876
6877         * check/gst/gststructure.c: (GST_START_TEST):
6878         * gst/gststructure.c: (gst_structure_parse_value):
6879           Oops, broke automatic string type parsing.
6880           Add a test to catch it in future.
6881
6882 2005-11-22  Andy Wingo  <wingo@pobox.com>
6883
6884         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6885         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6886         Actually rename the function implementations. Grr.
6887
6888 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6889
6890         * check/gst/capslist.h:
6891           Comment test cases
6892         * check/gst/gststructure.c: (GST_START_TEST),
6893         (gst_structure_suite):
6894           Test automatic value type detection in gst_structure_from_string.
6895         * gst/gststructure.c: (gst_structure_parse_value):
6896           Add fraction as a type we try and guess automatically in
6897           caps/structure strings.
6898
6899 2005-11-22  Andy Wingo  <wingo@pobox.com>
6900
6901         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6902
6903         * gst/gsttagsetter.h:
6904         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6905         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6906         (gst_tag_setter_add_tag_valist)
6907         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6908         _add_values, _add_valist, and _add_valist_values. Since this is an
6909         interface the function suffixes should be more explicit so
6910         language binding don't end up with element.add_valist ->
6911         gst_tag_setter_add_valist, for example. Fixes #322069.
6912
6913 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6914
6915         * check/gst/gstcaps.c: (GST_START_TEST):
6916           Extend caps string tests to check that a caps to string
6917           conversion is reversible and produces the same caps.
6918
6919         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6920           Output "fraction" as the generic type fraction range, so caps
6921           serialisation and deserialisation works.
6922         * check/gst/capslist.h:
6923         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6924           Support 'MIN' and 'MAX' for deserialising fractions.
6925
6926 2005-11-22  Andy Wingo  <wingo@pobox.com>
6927
6928         * gst/gstevent.h (gst_event_new_new_segment)
6929         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6930         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6931         Renamed from *_newsegment, *_buffersize, *_notarget.
6932
6933         * scripts/update-funcnames: New script, performs the changes
6934         listed above.
6935
6936 2005-11-22  Wim Taymans  <wim@fluendo.com>
6937
6938         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6939         Make sure the GstFlowReturn is returned.
6940
6941         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6942         (gst_bus_add_signal_watch):
6943         * gst/gstbus.h:
6944         add gst_bus_add_signal_watch_full.
6945
6946         * gst/gstplugin.c: (gst_plugin_load_file):
6947         Small style cleanup.
6948
6949 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6950
6951         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6952           Block the fakesrc srcpad when we send an event, to avoid
6953           contention on the stream_lock causing random test failures.
6954
6955 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6956
6957         * check/gst/gstvalue.c: (GST_START_TEST):
6958         * gst/gstvalue.c: (gst_value_fraction_subtract):
6959           Fix subtraction.
6960
6961 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6962
6963         * gst/gst.h:
6964           include "gstchildproxy.h"
6965         * gst/gstchildproxy.h:
6966         * libs/gst/controller/gstcontroller.h:
6967           use G_GNUC_NULL_TERMINATED
6968
6969 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6970
6971         * check/gst/capslist.h:
6972         * check/gst/gstcaps.c: (GST_START_TEST):
6973         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6974         * gst/gststructure.c: (gst_structure_parse_range),
6975         (gst_structure_fixate_field_nearest_fraction):
6976         * gst/gststructure.h:
6977         * gst/gstvalue.c: (gst_value_init_fraction_range),
6978         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6979         (gst_value_collect_fraction_range),
6980         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6981         (gst_value_set_fraction_range_full),
6982         (gst_value_get_fraction_range_min),
6983         (gst_value_get_fraction_range_max),
6984         (gst_value_serialize_fraction_range),
6985         (gst_value_transform_fraction_range_string),
6986         (gst_value_compare_fraction_range),
6987         (gst_value_deserialize_fraction_range),
6988         (gst_value_intersect_fraction_fraction_range),
6989         (gst_value_intersect_fraction_range_fraction_range),
6990         (gst_value_subtract_fraction_fraction_range),
6991         (gst_value_subtract_fraction_range_fraction),
6992         (gst_value_subtract_fraction_range_fraction_range),
6993         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6994         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6995         (gst_value_transform_string_fraction), (_gst_value_initialize):
6996         * gst/gstvalue.h:
6997           Implement fraction ranges and extend GstFraction to support
6998           arithmetic subtraction, as well as deserialization from integer
6999           strings such as "100"
7000           Add a testsuite as for int and double range set operations
7001
7002 2005-11-21  Andy Wingo  <wingo@pobox.com>
7003
7004         * gst/gsttaglist.h: 
7005         * gst/gstcaps.h: 
7006         * gst/gststructure.h: Add glib-compat.h.
7007
7008 2005-11-21  Wim Taymans  <wim@fluendo.com>
7009
7010         * gst/gstbin.c: (gst_bin_change_state_func):
7011         Fix for #321595
7012
7013 2005-11-21  Wim Taymans  <wim@fluendo.com>
7014
7015         * gst/gstsegment.h:
7016         And add a nice define too.
7017
7018 2005-11-21  Wim Taymans  <wim@fluendo.com>
7019
7020         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7021         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7022         (gst_segment_set_duration), (gst_segment_set_last_stop),
7023         (gst_segment_set_seek), (gst_segment_set_newsegment),
7024         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7025         (gst_segment_clip):
7026         * gst/gstsegment.h:
7027         Make binding friendly.
7028
7029 2005-11-21  Andy Wingo  <wingo@pobox.com>
7030
7031         * gst/gsttagsetter.h: 
7032         * gst/gsttaglist.h: 
7033         * gst/gststructure.h: 
7034         * gst/gstcaps.h: 
7035         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7036         #319940.
7037
7038         * gst/gsterror.c (_gst_core_errors_init):
7039         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7040         category.
7041
7042         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7043         (noinst_HEADERS): noinst the -private.
7044
7045 2005-11-21  Michael Smith <msmith@fluendo.com>
7046
7047         * gst/gstplugin.h:
7048         * gst/gstregistry.h:
7049           Remove unimplemented declarations for which we can see no sensible
7050           use.
7051
7052 2005-11-21  Andy Wingo  <wingo@pobox.com>
7053
7054         * gst/gst.h: Include glib-compat.h.
7055
7056         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7057
7058         * gst/glib-compat.c: Include the public and the private header.
7059
7060         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7061
7062         * gst/gstvalue.c: 
7063         * gst/gstpad.c: 
7064         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7065
7066         * check/gst/gstevent.c (create_custom_events): Check that
7067         FLUSH_STOP is serialized.
7068
7069         * check/elements/identity.c (event_func): 
7070         * check/elements/fakesrc.c (event_func): No stream lock, the core
7071         takes it.
7072
7073         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7074         stream lock taking, yay.
7075
7076         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7077         ensure that core takes the stream lock.
7078
7079         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7080         lock name change.
7081
7082         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7083         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7084         it already. For the flush start we do take it though so we get the
7085         right preroll state change messages.
7086
7087         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7088         the stream lock here, the core does it for us.
7089
7090         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7091         GST_STREAM_GET_LOCK.
7092         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7093         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7094         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7095         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7096         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7097         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7098
7099         * gst/gstpad.c: Update for stream lock name change.
7100
7101         * gst/base/gstbasesink.c: Update for preroll lock name change.
7102
7103 2005-11-21  Wim Taymans  <wim@fluendo.com>
7104
7105         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7106         (gst_clock_get_master):
7107         * gst/gstclock.h:
7108         * gst/gstsystemclock.c: (gst_system_clock_init):
7109         Convert Clock flags to object flags.
7110         Added methods to manage master/slave clocks.
7111
7112 2005-11-21  Wim Taymans  <wim@fluendo.com>
7113
7114         * check/gst/gstsegment.c: (GST_START_TEST):
7115         * docs/design/part-TODO.txt:
7116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7117         (gst_base_sink_event), (gst_base_sink_do_sync),
7118         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7119         (gst_base_sink_query), (gst_base_sink_change_state):
7120         * gst/base/gstbasesink.h:
7121         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7122         (gst_base_src_default_newsegment),
7123         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7124         (gst_base_src_get_range), (gst_base_src_loop),
7125         (gst_base_src_change_state):
7126         * gst/base/gstbasesrc.h:
7127         * gst/base/gstbasetransform.c:
7128         (gst_base_transform_prepare_output_buf),
7129         (gst_base_transform_event), (gst_base_transform_change_state):
7130         * gst/base/gstbasetransform.h:
7131         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7132         (gst_collect_pads_event):
7133         * gst/base/gstcollectpads.h:
7134         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7135         (gst_fake_src_create):
7136         * gst/elements/gstfakesrc.h:
7137         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7138         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7139         (gst_segment_set_last_stop), (gst_segment_set_seek),
7140         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7141         (gst_segment_to_running_time), (gst_segment_clip):
7142         * gst/gstsegment.h:
7143         More segment updates, replace code in plugins with segment
7144         helper functions.
7145
7146 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7147
7148         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7149         Don't ignore sscanf results
7150
7151 2005-11-21  Andy Wingo  <wingo@pobox.com>
7152
7153         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7154
7155         * *.h:
7156         * *.c: Ran scripts/update-macros. Oh yes.
7157
7158         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7159         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7160         GST_GET_LOCK, etc.
7161
7162         * scripts/update-macros: New script. Run it on your files to
7163         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7164         well.
7165
7166 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * docs/gst/Makefile.am:
7169         * docs/gst/gstreamer-docs.sgml:
7170         * docs/gst/gstreamer-sections.txt:
7171         * docs/gst/gstreamer.types:
7172         * gst/gstinfo.h:
7173           more docs fixes, add new api to the docs
7174
7175 2005-11-21  Andy Wingo  <wingo@pobox.com>
7176
7177         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7178         state_broadcast call.
7179
7180         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7181
7182 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7183
7184         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7185         function calls for arrays.
7186
7187 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7188
7189         * docs/random/ensonic/media-device-daemon.txt:
7190           wild idea, can this be done?
7191         * docs/gst/gstreamer-sections.txt:
7192         * gst/gsterror.h:
7193         * gst/gstfilter.c:
7194         * gst/gstfilter.h:
7195         * gst/gstplugin.h:
7196         * gst/gstpluginfeature.c:
7197         * gst/gsttrace.c:
7198         * gst/gstvalue.c:
7199         * gst/gstvalue.h:
7200           doc fixes and additions
7201
7202 2005-11-21  Andy Wingo  <wingo@pobox.com>
7203
7204         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7205         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7206         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7207         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7208         private to the basesrc implementation.
7209
7210         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7211         behalf of event function if necessary. It should no longer be
7212         necessary to take the stream lock in pad's event functions. Fixes
7213         #320299.
7214
7215 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7216         * docs/gst/gstreamer-sections.txt:
7217         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7218         (gst_structure_fixate_field_nearest_double),
7219         (gst_structure_fixate_field_boolean):
7220         * gst/gststructure.h:
7221         * win32/common/libgstreamer.def:
7222         * win32/gstreamer.def:
7223
7224         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7225         (#322027)
7226
7227 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7228
7229         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7230         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7231         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7232         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7233         (gst_fdsrc_uri_handler_init):
7234         * gst/elements/gstfdsrc.h:
7235           Port fd:// URI handler from 0.8 to fdsrc
7236
7237 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7238
7239         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7240         (gst_value_serialize_fourcc):
7241         * gst/gstvalue.h:
7242           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7243           consistent with our other format defines (#320324).
7244
7245 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * gst/gstvalue.c: (gst_value_is_fixed):
7248           Revert previous commit. Value lists are by definition
7249           not fixed, as they are a list of possible values.
7250
7251 2005-11-21  Andy Wingo  <wingo@pobox.com>
7252
7253         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7254         during the stable series if we need it. Fixes #319178.
7255
7256         * gst/gstevent.c (gst_event_new_filler): Removed.
7257
7258         * check/gst/gstevent.c: Update comment about filler events.
7259
7260 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7261
7262         * gst/gstvalue.c: (gst_value_is_fixed):
7263           Should handle both value arrays and value lists.
7264
7265 2005-11-21  Andy Wingo  <wingo@pobox.com>
7266
7267         patch by: Alessandro Dessina <alessandro nnva org>
7268
7269         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7270         functions to access arrays. Fixes #321962.
7271
7272 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7273
7274         * docs/gst/gstreamer.types:
7275           gst_collectpads_get_type => gst_collect_pads_get_type.
7276           
7277         * gst/base/gstbasetransform.c:
7278           Remove unused SIGNAL_HANDOFF enum.
7279
7280 2005-11-21  Andy Wingo  <wingo@pobox.com>
7281
7282         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7283         the event type (upstream, downstream, serialized). Renamed
7284         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7285         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7286         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7287
7288         * gst/gstevent.c: Update for new CUSTOM event names.
7289
7290         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7291
7292         * gst/gstevent.h:
7293         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7294         bug #319392.
7295
7296 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7297
7298         * docs/gst/gstreamer-sections.txt:
7299         * win32/common/libgstbase.def:
7300         * win32/libgstbase.def:
7301         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7302         (gst_collect_pads_class_init), (gst_collect_pads_init),
7303         (gst_collect_pads_finalize), (gst_collect_pads_new),
7304         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7305         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7306         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7307         (gst_collect_pads_start), (gst_collect_pads_stop),
7308         (gst_collect_pads_peek), (gst_collect_pads_pop),
7309         (gst_collect_pads_available), (gst_collect_pads_read),
7310         (gst_collect_pads_flush), (gst_collect_pads_event),
7311         (gst_collect_pads_chain):
7312         * gst/base/gstcollectpads.h:
7313           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7314           unimplemented functions as unimplemented. Add padding to
7315           GstCollectData. (#320766, #320423)
7316
7317 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7318
7319         * gst/gstmessage.c:
7320           Improve docs for DURATION message (usage of duration parameter)
7321           (#320113)
7322
7323 2005-11-20  Wim Taymans  <wim@fluendo.com>
7324
7325         * check/Makefile.am:
7326         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7327         (main):
7328         * gst/Makefile.am:
7329         * gst/gst.h:
7330         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7331         (gst_segment_set_seek), (gst_segment_set_newsegment),
7332         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7333         (gst_segment_clip):
7334         * gst/gstsegment.h:
7335         Added segment helper structure and methods. Not fully implemented
7336         yet.
7337         Added segment check.
7338
7339 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7340
7341         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7342           Add a deserialisation test for fractions
7343         * examples/metadata/read-metadata.c: (message_loop),
7344         (make_pipeline), (main):
7345           Fix up metadata reading sample.
7346         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7347           Debug format fix
7348         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7349           Don't try and fixate empty caps
7350         * gst/gst_private.h:
7351           Wrap in G_BEGIN_DECLS/G_END_DECLS
7352         * gst/gstvalue.c: (gst_value_collect_fraction),
7353         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7354         (gst_value_transform_string_fraction),
7355         (gst_value_compare_fraction):
7356           Add some extra guards to ensure that we don't end up 
7357           with an invalid denominator of 0 in a gstfraction and
7358           that fractions always get reduced.
7359
7360 2005-11-20  Wim Taymans  <wim@fluendo.com>
7361
7362         * docs/gst/gstreamer-sections.txt:
7363         * gst/gstbuffer.h:
7364         * gst/gstelement.c:
7365         * gst/gstformat.c:
7366         * gst/gstformat.h:
7367         * gst/gstindex.h:
7368         * gst/gstquery.c:
7369         * gst/gstquery.h:
7370         * gst/gstvalue.c:
7371         Doc fixes.
7372
7373 2005-11-20  Wim Taymans  <wim@fluendo.com>
7374
7375         * docs/design/part-TODO.txt:
7376         * gst/gstcaps.h:
7377         Make a proper enum of the flag.
7378
7379 2005-11-19  Wim Taymans  <wim@fluendo.com>
7380
7381         * docs/design/part-TODO.txt:
7382         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7383         (gst_format_to_quark), (gst_format_register):
7384         * gst/gstformat.h:
7385         * gst/gstquery.c: (_gst_query_initialize),
7386         (gst_query_type_get_name), (gst_query_type_to_quark),
7387         (gst_query_type_register):
7388         * gst/gstquery.h:
7389         Add type to quark and type to string conversions.
7390
7391 2005-11-19  Andy Wingo  <wingo@pobox.com>
7392
7393         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7394         #320097.
7395
7396 2005-11-19  Wim Taymans  <wim@fluendo.com>
7397
7398         * docs/design/part-TODO.txt:
7399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7400         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7401         (gst_bin_handle_message_func):
7402         * gst/gstbin.h:
7403         Make message handling overridable.
7404
7405 2005-11-19  Andy Wingo  <wingo@pobox.com>
7406
7407         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7408
7409         * gst/gstclock.h:
7410         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7411         be a GstClockTime.
7412         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7413         is a GstClockTime. Fixes #321710.
7414
7415         * gst/gstclock.h (GstClock): Remove offset property. Add
7416         internal_calibration and external_calibration. Fix padding. Pad
7417         also by GstClockTime so we don't run into problems.
7418
7419         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7420         (gst_clock_get_rate_offset): Remove.
7421         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7422
7423         * gst/gstutils.h:
7424         * gst/gstutils.c (g_static_rec_cond_wait)
7425         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7426
7427         * gst/gstbin.c: Remove terrible continue_state prototype.
7428
7429         * gst/gstelement.h (gst_element_continue_state): Make public.
7430
7431         * gst/gstelement.h:
7432         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7433         by continue_state. Fixes #319389.
7434
7435         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7436         Really fixes #168438. However I don't see anywhere where the
7437         filter function is called... stupid GStreamer...
7438         
7439         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7440         don't have a dispose function, so it won't get called when the
7441         object is unreffed, but oh well!
7442
7443         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7444         allows a destroy function to be set so user_data can be freed.
7445         Fixes #168438.
7446         (gst_index_set_filter): Call gst_index_set_filter_full.
7447
7448         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7449
7450         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7451         string should produce an error, given the lack of a way to
7452         represent NULL strings. Fixes #165650.
7453         
7454         * gst/gstvalue.h: 
7455         * gst/gstvalue.c (gst_value_array_append_value) 
7456         (gst_value_array_prepend_value, gst_value_array_get_size) 
7457         (gst_value_array_get_value): New API, copied from
7458         gst_value_list_*, only operates on arrays.
7459         (gst_value_list_append_value, gst_value_list_prepend_value) 
7460         (gst_value_list_concat, gst_value_list_get_size) 
7461         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7462
7463         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7464         init_list, because it works on both.
7465         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7466         (gst_value_copy_list_or_array): Renamed from copy_list.
7467         (gst_value_free_list_or_array): Renamed from free_list.
7468         (gst_value_collect_list_or_array): Renamed from collect_list.
7469         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7470         (gst_value_list_or_array_peek_pointer): Renamed from
7471         list_peek_pointer.
7472         (_gst_value_array_value_table, _gst_value_list_value_table):
7473         Update value table functions.
7474         (gst_value_compare_list_or_array): Renamed from compare_list.
7475
7476         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7477         some constness.
7478
7479         * gst/gsttaglist.c:
7480         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7481         GstTagList*. Fixes #143472.
7482
7483         * gst/gststructure.h: Clarify what the foreach/map functions can
7484         or can't do to their arguments.
7485
7486 2005-11-18  Wim Taymans  <wim@fluendo.com>
7487
7488         * gst/gstclock.c: (gst_clock_set_calibration),
7489         (gst_clock_get_calibration):
7490         Doc and API fixes.
7491         Calibration can be set with internal time equal to current
7492         internal time too.
7493
7494 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         * gst/gsterror.c:
7497         * gst/gsterror.h:
7498           document
7499
7500 2005-11-18  Andy Wingo  <wingo@pobox.com>
7501
7502         * configure.ac: 
7503         * pkgconfig/gstreamer-net.pc.in:
7504         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7505         * pkgconfig/Makefile.am: Add net pkgconfig files.
7506
7507 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7508
7509         * gst/gstcaps.c:
7510         * gst/gstghostpad.c:
7511         * gst/gsttrace.c:
7512         * gst/gstvalue.c:
7513         * gst/gstvalue.h:
7514           docs fixes
7515
7516 2005-11-18  Andy Wingo  <wingo@pobox.com>
7517
7518         * gst/net/gstnetclientclock.c: Turn off debugging.
7519
7520         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7521         times connverge somewhat. Can't make a real test.
7522
7523         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7524         integer arithmetic. Return the minimum of the domain, which can be
7525         set as "internal" for gst_clock_set_calibration.
7526         (gst_net_client_clock_observe_times): Call _set_calibration.
7527         (gst_net_client_clock_new): Call _set_calibration instead of
7528         rate_offset.
7529
7530         * check/net/gstnetclientclock.c (test_functioning): Use the right
7531         adjustment api.
7532
7533         * gst/gstclock.h:
7534         * gst/gstclock.c (gst_clock_get_calibration) 
7535         (gst_clock_set_calibration): New functions, obsolete the ones I
7536         added yesterday. Doh. Precision issues mean we have to extrapolate
7537         from a point in the more recent past than 1970.
7538         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7539         obsolete.
7540         (gst_clock_adjust_unlocked): Use the right calibration data.
7541
7542 2005-11-18  Edward Hervey  <edward@fluendo.com>
7543
7544         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7545         Also reset the ->current_* values in READY->PAUSED
7546
7547 2005-11-18  Andy Wingo  <wingo@pobox.com>
7548
7549         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7550         Whoops, check the right fd. Also add some debugging.
7551         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7552         (do_linear_regression): Add a crapload of debugging. Subtract off
7553         the minimum values from the input series to discard unneeded bits.
7554         Use only int arithmetic. There is still double arithmetic when
7555         calculating the intercept that needs fixing. Return boolean to
7556         indicate success; FALSE would mean the domain or range is too
7557         great. Still needs fixes.
7558
7559 2005-11-18  Wim Taymans  <wim@fluendo.com>
7560
7561         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7562         For the current position in stream time, we need to subtract
7563         accumulated time.
7564         
7565         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7566         Release lock before calling the callback function of async
7567         entries.
7568
7569 2005-11-18  Andy Wingo  <wingo@pobox.com>
7570
7571         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7572         Port goes all the way to MAXUINT16.
7573
7574         * gst/net/gstnettimeprovider.c: Make the port range the same as
7575         for the kernel: 0 assigns, otherwise ports are less than
7576         MAXUINT16.
7577
7578         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7579         port change.
7580
7581         * check/net/gstnetclientclock.c (test_functioning): Add the start
7582         of another test. 
7583
7584 2005-11-18  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7587         (gst_bin_remove_func), (bin_bus_handler):
7588         * gst/gstbin.h:
7589         Removing a clock provider from a bin, triggers a clock lost message
7590         so that a new clock will be selected.
7591         Adding a clock to a bin triggers a clock provider message.
7592         Make sure we reselect a clock when we received a clock lost message.
7593         Keep a reference to the element that provided the clock.
7594
7595 2005-11-18  Andy Wingo  <wingo@pobox.com>
7596
7597         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7598         the clock initially so it produces values around the base time.
7599         (gst_net_client_clock_class_init): Typo fix.
7600         (gst_net_client_clock_thread): Add note on when the socket gets
7601         closed.
7602
7603 2005-11-17  Wim Taymans  <wim@fluendo.com>
7604
7605         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7606         Free remote and local time arrays.
7607
7608 2005-11-17  Wim Taymans  <wim@fluendo.com>
7609
7610         * gst/net/gstnetclientclock.c: (do_linear_regression),
7611         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7612         Fix compilation, uninitialized vars and a forgotten continue.
7613
7614 2005-11-17  Andy Wingo  <wingo@pobox.com>
7615
7616         * check/Makefile.am (check_PROGRAMS): 
7617         * check/net/gstnetclientclock.c: Add a most minimal test for the
7618         net client clock. More to come later.
7619
7620         * gst/net/gstnet.h: 
7621         * gst/net/Makefile.am: Add netclientclock.
7622
7623         * gst/net/gstnetclientclock.h:
7624         * gst/net/gstnetclientclock.c: New files, implement an untested
7625         GstClock that takes its time from a network time provider.
7626         Implements the algorithm in network-clock.scm.
7627
7628         * tests/network-clock.scm (*window-size*): Rename from
7629         *queue-length*.
7630         * tests/network-clock.scm (network-time): 
7631         * tests/network-clock-utils.scm (q-push): Update callers.
7632
7633 2005-11-17  Wim Taymans  <wim@fluendo.com>
7634
7635         * gst/gstbin.c: (gst_bin_provide_clock_func),
7636         (gst_bin_sort_iterator_new):
7637         And unref the child too..
7638
7639 2005-11-17  Wim Taymans  <wim@fluendo.com>
7640
7641         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7642         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7643         Refactor the sort iterator so it can be used while holding the
7644         LOCK too.
7645         Make clock selection select a clock closest to the source.
7646
7647 2005-11-17  Michael Smith <msmith@fluendo.com>
7648
7649         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7650         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7651         * gst/gstclock.h:
7652           Anonymous structs are a gcc (and some other compilers) extension, so
7653           don't use them. Since this is only for ABI-compatibility, and our
7654           API/ABI freeze is over in a few days, this whole thing will only
7655           last a few days, so don't bother trying to think up a meaningful
7656           name for the struct.
7657
7658 2005-11-17  Andy Wingo  <wingo@pobox.com>
7659
7660         * gst/gstclock.h (GstClock): Add rate and offset properties,
7661         preserving ABI stability. Add rate/offset accessors. Will file bug
7662         for the freeze break.
7663
7664         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7665         and offset, trying to keep precision and avoiding
7666         underflow/overflow.
7667         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7668         functions. Make gst_clock_set_time_adjust obsolete.
7669         (gst_clock_set_time_adjust): Note that this function is obsolete.
7670         Will file bug soon.
7671
7672         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7673         greppable by using GST_PADDING-1+1.
7674
7675 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7676
7677         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7678
7679         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7680           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7681
7682         * gst/gstpadtemplate.h:
7683         * gst/gstpluginfeature.h:
7684           Don't use c++ style comments in headers (#321638).
7685
7686 2005-11-16  Andy Wingo  <wingo@pobox.com>
7687
7688         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7689         buffer.
7690
7691         * check/net/gstnettimeprovider.c: Check to see that the time
7692         provider actually provides times. Works, yo!
7693
7694 2005-11-16  Wim Taymans  <wim@fluendo.com>
7695
7696         * check/Makefile.am:
7697         Enable more tests.
7698
7699         * check/elements/fakesrc.c: (GST_START_TEST):
7700         Set element to NULL before disposing it.
7701
7702 2005-11-16  Andy Wingo  <wingo@pobox.com>
7703
7704         * gst/net/Makefile.am:
7705         * gst/net/gstnet.h:
7706         * gst/net/gstnettimeprovider.c: 
7707         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7708         provider, include it from gstnet.h, and add it to the build.
7709
7710         * gst/net/gstnettimepacket.h: 
7711         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7712         sending and receiving.
7713
7714 2005-11-16  Wim Taymans  <wim@fluendo.com>
7715
7716         * check/Makefile.am:
7717         Enable valgrind check.
7718
7719         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7720         (gst_fake_src_alloc_buffer):
7721         Fix memleak.
7722
7723 2005-11-16  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7726         Call parent finalize too.
7727
7728 2005-11-16  Wim Taymans  <wim@fluendo.com>
7729
7730         * check/Makefile.am:
7731         Enable valgrind check that should work fine now.
7732
7733         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7734         * gst/gstqueue.c: (gst_queue_init):
7735         Fix memleaks in pad allocation.
7736
7737 2005-11-16  Andy Wingo  <wingo@pobox.com>
7738
7739         * gst/net/Makefile.am:
7740         * gst/net/gstnet.h: New part of core to hold network elements and
7741         objects. Put in core because it exposes API that applications want
7742         to use. The library is named libgstnet-tempname right now because
7743         of the existing libgstnet in gst-plugins-base. Solution is
7744         probably to rename the one in plugins-base; will file a bug for
7745         the freeze break.
7746
7747         * gst/net/gstnettimeprovider.c: 
7748         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7749         get_time call over the network.
7750
7751         * configure.ac: 
7752         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7753
7754         * check/Makefile.am:
7755         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7756         get additions shortly.
7757
7758 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7759
7760         * gst/gstpad.c: (gst_pad_new_from_static_template):
7761         * gst/gstpad.h:
7762           add gst_pad_new_from_static_template functions
7763         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7764         (gst_check_setup_sink_pad):
7765         * gst/elements/gsttee.c: (gst_tee_init):
7766           and use them
7767
7768 2005-11-16  Wim Taymans  <wim@fluendo.com>
7769
7770         * gst/gstpad.c: (gst_pad_pause_task):
7771         Removed warning, it's not really an error either.
7772
7773 2005-11-16  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/base/gstbasetransform.c:
7776         (gst_base_transform_prepare_output_buf),
7777         (gst_base_transform_event):
7778         Check if the caps are NULL, this can happen if the element
7779         is shutting down and the pad caps are set to NULL.
7780
7781 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7782
7783         * gst/elements/gsttee.c: (gst_tee_init):
7784           fix pad template leak in tee
7785
7786 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * gst/glib-compat.c: (g_value_dup_gst_object):
7789         * gst/glib-compat.h:
7790         * gst/gstpad.c: (gst_pad_set_property):
7791           use gst_object_ref when setting the pad template; this will
7792           trigger the pad template leaks on GLib 2.6 and the slaves
7793
7794 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * gst/glib-compat.c: (gst_flags_get_first_value):
7797         * gst/glib-compat.h:
7798         * gst/gstregistryxml.c:
7799           remove functions copied from GLib 2.6
7800
7801 2005-11-16  Michael Smith <msmith@fluendo.com>
7802
7803         * gst/Makefile.am:
7804           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7805           do, but only breaks with newer valgrind versions. We're not a
7806           valgrind tool, we have no link-time dependencies on libcoregrind.
7807
7808 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7809
7810         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7811           some debug changes
7812         * gst/gstmessage.h:
7813           typo fixes
7814
7815 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7816
7817         * gst/base/gstbasesrc.c: (gst_base_src_init):
7818         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7819         * gst/gstqueue.c: (gst_queue_init):
7820         * gst/gstregistryxml.c: (load_feature):
7821           Revert all these unrefs, they don't even pass make check !
7822
7823 2005-11-15  Johan Dahlin  <johan@gnome.org>
7824
7825         * gst/base/gstbasesrc.c: (gst_base_src_init):
7826         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7827         * gst/gstqueue.c: (gst_queue_init): 
7828         Free pad templates, fixes a couple of leaks.
7829
7830 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7831
7832         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7833
7834         * gst/gstpad.c: (gst_pad_get_property):
7835           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7836           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7837           (#321452)
7838
7839 2005-11-15  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/gstevent.c:
7842         Small doc update.
7843
7844 2005-11-15  Andy Wingo  <wingo@pobox.com>
7845
7846         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7847
7848         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7849         using GST_CLOCK_TIME_NONE to disable base time management.
7850         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7851         time if it was NONE before.
7852         (gst_pipeline_change_state): Only munge the base time if
7853         stream_time != GST_CLOCK_TIME_NONE.
7854
7855         * check/gst/gstpipeline.c (test_base_time): Punt around the
7856         problem of the probe not being called, because that's not the
7857         issue I'm looking at. Add a check that setting stream_time to NONE
7858         disables base time management.
7859         
7860 2005-11-15  Wim Taymans  <wim@fluendo.com>
7861
7862         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7863         segment_stop == -1 at startup.
7864
7865         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7866         (gst_base_transform_change_state):
7867         Init segment values at start.
7868
7869 2005-11-15  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7872         0 segment values are 0 in any format.
7873
7874         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7875         * gst/base/gstbasetransform.h:
7876         Parse newsegment correctly in basetransform
7877
7878         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7879         Sync to clock using updated segment values.
7880
7881 2005-11-15  Andy Wingo  <wingo@pobox.com>
7882
7883         * check/gst/gstpipeline.c (test_base_time): Add check that the
7884         base time and stream time are reset correctly.
7885
7886 2005-11-15  Wim Taymans  <wim@fluendo.com>
7887
7888         * docs/design/part-TODO.txt:
7889         Some more TODO items.
7890
7891 2005-11-15  Andy Wingo  <wingo@pobox.com>
7892
7893         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7894         error if the user selected "no clock" as the clocking method.
7895
7896         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7897         timestamps with live capture.
7898
7899         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7900         is 0 but we are a live source, timestamp the buffers using the
7901         element's clock.
7902
7903 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7904
7905         * docs/gst/gstreamer-sections.txt:
7906         * gst/gsterror.c:
7907         * gst/gstghostpad.c:
7908         * gst/gstobject.h:
7909         * gst/gstxml.c:
7910           more section docs
7911
7912 2005-11-14  Wim Taymans  <wim@fluendo.com>
7913
7914         * common/gst.supp:
7915           add suppressions from Wim's Debian machine
7916
7917 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7918
7919         * common/gst.supp:
7920           add suppressions from Andy's AMD64 Ubuntu machine
7921
7922 2005-11-14  Andy Wingo  <wingo@pobox.com>
7923
7924         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7925         STATE_LOCK not necessary. Fixes #311489.
7926
7927         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7928         #305291.
7929
7930         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7931         this function is not implemented.
7932
7933 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7934
7935         * gst/base/gstbasetransform.c:
7936         (gst_base_transform_prepare_output_buf):
7937         Ref the source pad caps while we need them.
7938         Fixes (#321386)
7939
7940 2005-11-11  Wim Taymans  <wim@fluendo.com>
7941
7942         * docs/gst/gstreamer-sections.txt:
7943         Added some docs for GstCollectData.
7944
7945         * gst/base/gstadapter.c:
7946         Some small code example fix.
7947
7948         * gst/base/gstcollectpads.c:
7949         * gst/base/gstcollectpads.h:
7950         Document some more.
7951
7952 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7953
7954         * configure.ac: back to HEAD
7955
7956 === release 0.9.5 ===
7957
7958 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7959
7960         * configure.ac:
7961           releasing 0.9.5, "Bike Lunch Day"
7962
7963 2005-11-11  Wim Taymans  <wim@fluendo.com>
7964
7965         * gst/gstbuffer.c: (_gst_buffer_copy):
7966         Copy more flags.
7967
7968         * gst/gstcaps.c: (gst_caps_is_equal):
7969         Fix some docs.
7970         Make _is_equal fast in the trivial cases.
7971
7972         * gst/gstminiobject.c:
7973         * gst/gstminiobject.h:
7974         More docs. Spifify .h file.
7975
7976         * gst/gstutils.c:
7977         Small doc update.
7978
7979 2005-11-11  Wim Taymans  <wim@fluendo.com>
7980
7981         * gst/base/gstbasetransform.c:
7982         (gst_base_transform_prepare_output_buf),
7983         (gst_base_transform_handle_buffer):
7984         Small cleanups.
7985         If we're processing a buffer and need to allocate an output
7986         buffer, we cannot accept a format change. If we did get a 
7987         format change, we have to alloc a buffer ourselves of the 
7988         right size.
7989
7990 2005-11-11  Wim Taymans  <wim@fluendo.com>
7991
7992         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7993         While checking the flag for reentrancy in the gstcaps function
7994         is nice to detect recursive invocations, it also makes it 
7995         impossible to call getcaps from multiple threads, which must be
7996         possible. So, checking for recursive calls has to go.
7997
7998 2005-11-11  Michael Smith <msmith@fluendo.com>
7999
8000         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8001           Don't sync on buffers that fall partially outside our current
8002           segment. Prevents an assertion failure/abort playing some files.
8003
8004 2005-11-10  Andy Wingo  <wingo@pobox.com>
8005
8006         * check/gst/gstbin.c (test_message_state_changed_children): Style
8007         fix..
8008
8009         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8010         gst_bus_poll with the signal watch. Ensures that poll and a signal
8011         watch see the same messages.
8012
8013         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8014         a poll and a watch at the same time get the same messages.
8015
8016 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8019         * gst/gstcaps.c: (gst_caps_intersect):
8020           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8021           and it's not needed.
8022
8023 2005-11-10  Wim Taymans  <wim@fluendo.com>
8024
8025         * docs/design/part-TODO.txt:
8026         Updated todo.
8027
8028 2005-11-10  Wim Taymans  <wim@fluendo.com>
8029
8030         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8031         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8032         (gst_base_src_do_sync), (gst_base_src_get_range):
8033         Implement clock sync in base class.
8034
8035 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8036
8037         patch by: Tim-Philipp Müller <tim at centricular dot net>
8038
8039         * gst/gststructure.c: (gst_structure_parse_field),
8040         (gst_structure_from_string):
8041           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8042           so that gst_parse_launch() can deal with spaces in filtered link
8043           caps (fixes #164479)
8044         * check/gst/capslist.h:
8045         * check/gst/gststructure.c: (GST_START_TEST):
8046           add unit tests for this change
8047
8048 2005-11-10  Wim Taymans  <wim@fluendo.com>
8049
8050         * docs/gst/gstreamer-sections.txt:
8051         * gst/gstelement.c:
8052         * gst/gstelement.h:
8053         Fix docs, move some STATE macros to private.
8054
8055 2005-11-10  Wim Taymans  <wim@fluendo.com>
8056
8057         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8058         Added check for bug #317341
8059
8060         * gst/gstbuffer.c:
8061         * gst/gstbuffer.h:
8062         Some more spiffifying.
8063
8064         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8065         Call peer linkfunction if we are a source pad. Totally fixes
8066         #317341
8067
8068         * gst/gstpad.c:
8069         Update docs, source pads should call the peer linkfunction
8070         so they can atomically perform the pad link.
8071
8072 2005-11-09  Wim Taymans  <wim@fluendo.com>
8073
8074         * gst/gstbuffer.c:
8075         * gst/gstbuffer.h:
8076         Uber-spiffy-spiffify some more.
8077
8078 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8079
8080         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8081         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8082         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8083         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8084         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8085         * gst/gstpad.c: (gst_pad_init):
8086           Use GST_DEBUG_FUNCPTR() more extensively.
8087
8088 2005-11-09  Wim Taymans  <wim@fluendo.com>
8089
8090         * gst/gstobject.c: (gst_object_class_init):
8091         * gst/gstobject.h:
8092         Documentation fixes.
8093
8094 2005-11-09  Edward Hervey  <edward@fluendo.com>
8095
8096         * gst/gsttypefindfactory.c:
8097         Fix docs.
8098         
8099 2005-11-09  Edward Hervey  <edward@fluendo.com>
8100
8101         * gst/base/gsttypefindhelper.c:
8102         * gst/gsttypefind.c:
8103         * gst/gsttypefind.h:
8104         Fix docs.
8105
8106 2005-11-09  Wim Taymans  <wim@fluendo.com>
8107
8108         * gst/gstiterator.c:
8109         Fix revision data.
8110
8111         * gst/gsttask.c:
8112         * gst/gsttask.h:
8113         Fix docs.
8114
8115 2005-11-09  Wim Taymans  <wim@fluendo.com>
8116
8117         * gst/gstevent.h:
8118         * gst/gsturi.h:
8119         Fix docs.
8120
8121 2005-11-09  Wim Taymans  <wim@fluendo.com>
8122
8123         * docs/gst/gstreamer-sections.txt:
8124         Moved the message async delivery private lock and cond
8125         to the private section.
8126
8127         * gst/gstmessage.c:
8128         * gst/gstmessage.h:
8129         Fixed docs.
8130
8131 2005-11-09  Edward Hervey  <edward@fluendo.com>
8132
8133         * docs/gst/gstreamer-sections.txt:
8134         * gst/gsturi.c:
8135         * gst/gsturi.h:
8136         Document GstURIHandler
8137
8138 2005-11-09  Wim Taymans  <wim@fluendo.com>
8139
8140         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8141         (gst_iterator_find_custom):
8142         * gst/gstiterator.h:
8143         Fix iterator docs.
8144
8145 2005-11-09  Wim Taymans  <wim@fluendo.com>
8146
8147         * gst/gstbin.h:
8148         Document another field.
8149
8150         * gst/gststructure.c:
8151         * gst/gststructure.h:
8152         Document.
8153
8154 2005-11-09  Wim Taymans  <wim@fluendo.com>
8155
8156         * gst/gstbin.h:
8157         Documented structs.
8158
8159 2005-11-09  Wim Taymans  <wim@fluendo.com>
8160
8161         * docs/gst/gstreamer-sections.txt:
8162         Added some new macros.
8163
8164         * gst/gstclock.c:
8165         * gst/gstclock.h:
8166         * gst/gstobject.h:
8167         Docs updates.
8168
8169 2005-11-09  Wim Taymans  <wim@fluendo.com>
8170
8171         * docs/design/part-TODO.txt:
8172         Some more items for the TODO
8173
8174         * gst/gstcaps.c:
8175         * gst/gstcaps.h:
8176         Document GstCaps.
8177
8178 2005-11-09  Andy Wingo  <wingo@pobox.com>
8179
8180         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8181         to work on something else now tho...
8182
8183         * gst/base/gstadapter.c: More adapter docs.
8184
8185         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8186         (gst_file_sink_stop): New functions, replace the state change
8187         handler.
8188         (gst_file_sink_class_init): Hook up the start and stop functions.
8189         (gst_file_sink_base_init): Don't set the state change handler any
8190         more. It was a bit ugly too, being set from here...
8191         (gst_file_sink_get_property, gst_file_sink_set_property):
8192         Cleanups...
8193         (gst_file_sink_set_location): More robust check that doesn't call
8194         GST_STATE. Ugggggg.
8195
8196 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8197
8198         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8199           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8200
8201 2005-11-08  Wim Taymans  <wim@fluendo.com>
8202
8203         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8204         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8205         (gst_base_sink_chain), (gst_base_sink_change_state):
8206         * gst/base/gstbasesink.h:
8207         * gst/base/gstbasesrc.h:
8208         * gst/gstelement.h:
8209         * gst/gstevent.h:
8210         Avoid excessive typechecking in macros.
8211
8212         * gst/gstminiobject.c: (gst_mini_object_get_type),
8213         (gst_mini_object_init), (gst_mini_object_new),
8214         (gst_mini_object_free):
8215         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8216         (gst_object_finalize):
8217         Remove cruft code, optimize alloc_trace.
8218
8219 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * docs/faq/gst-uninstalled:
8222           fix up PS1 for systems that try to reset it
8223
8224 2005-11-07  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/base/gstbasesrc.c: (gst_base_src_init),
8227         (gst_base_src_get_range):
8228         Set the segment_end to -1 initially. Fixed typefind.
8229
8230 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8231
8232         * gst/base/gstadapter.c:
8233           Debug category should be 'adapter', not 'GstAdapter'.
8234           
8235         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8236         (gst_collectpads_class_init), (gst_collectpads_init),
8237         (gst_collectpads_peek), (gst_collectpads_pop),
8238         (gst_collectpads_event), (gst_collectpads_chain):
8239           Add debug category and some debugging output. Use boilerplate
8240           macros. Remove some extraneous words from docs.
8241
8242 2005-11-05  Andy Wingo  <wingo@pobox.com>
8243
8244         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8245         macro.
8246
8247 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8248
8249         * docs/gst/gstreamer-sections.txt:
8250         * gst/gstcaps.h:
8251         * gst/gstinfo.c:
8252         * gst/gstminiobject.h:
8253         * gst/gstobject.h:
8254         * gst/gstutils.h:
8255           more docs added
8256
8257 2005-11-04  Wim Taymans  <wim@fluendo.com>
8258
8259         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8260         Small update to stop at the configured segment_end
8261         position.
8262
8263 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8264
8265         * gst/gstregistry.c:
8266         * gst/gstregistry.h:
8267           added missing docs
8268
8269 2005-11-04  Edward Hervey  <edward@fluendo.com>
8270
8271         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8272         Check if we are doing a segment seek and have arrived at the
8273         end of that segment.
8274
8275 2005-11-04  Wim Taymans  <wim@fluendo.com>
8276
8277         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8278         Don't leak a mutex unlock in case of an error.
8279
8280         * gst/gstbus.h:
8281         Doc fixes.
8282
8283 2005-11-04  Wim Taymans  <wim@fluendo.com>
8284
8285         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8286         (gst_bus_post):
8287         Get the context to wake up only once.
8288
8289 2005-11-03  Wim Taymans  <wim@fluendo.com>
8290
8291         * check/states/sinks.c: (GST_START_TEST):
8292         Uncomment fixed check.
8293
8294         * docs/design/part-TODO.txt:
8295         Updated TODO.
8296
8297         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8298         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8299         (gst_base_sink_get_position):
8300         If we are going to PLAYING, post the right pending state
8301         when we post the intermediate paused message.
8302
8303         * gst/gstelement.c: (gst_element_continue_state),
8304         (gst_element_set_state_func), (gst_element_change_state):
8305         Don't post state changes that were between the same state
8306         and were not ASYNC.
8307
8308 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8309
8310         * docs/gst/gstreamer-sections.txt:
8311         * gst/gstcaps.h:
8312         * gst/gstinfo.c:
8313         * gst/gstminiobject.h:
8314         * gst/gstobject.h:
8315         * gst/gstutils.h:
8316           more docs and doc style fixes
8317
8318 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8319
8320         * docs/gst/gstreamer-sections.txt:
8321         * gst/gstelement.c:
8322         * gst/gstminiobject.c:
8323         doc fixes
8324
8325 2005-11-03  Andy Wingo  <wingo@pobox.com>
8326
8327         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8328         state-changed messages actually have the right order and the right
8329         values.
8330
8331 2005-11-03  Wim Taymans  <wim@fluendo.com>
8332
8333         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8334         Added some more checks. Specifically the case where NO_PREROLL
8335         elements are in the pipeline.
8336
8337         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8338         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8339         (gst_base_sink_get_position):
8340         Post READY->PAUSED state change messages too.
8341         Fix bug where VOID was posted as pending state...
8342
8343         * gst/gstbin.c: (gst_bin_recalc_state):
8344         use _element_continue_state() to continue the state change.
8345
8346         * gst/gstelement.c: (gst_element_continue_state),
8347         (gst_element_commit_state), (gst_element_set_state_func),
8348         (gst_element_change_state), (gst_element_change_state_func):
8349         Lots of state change cleanups, assign the STATE_RETURN in
8350         a new continue_state() function that also propagates the
8351         last return value from a state change to the app.
8352         Update some debug statements with proper category.
8353
8354 2005-11-03  Wim Taymans  <wim@fluendo.com>
8355
8356         * docs/design/part-events.txt:
8357         * docs/design/part-gstpipeline.txt:
8358         * docs/design/part-messages.txt:
8359         * docs/design/part-overview.txt:
8360         * docs/design/part-seeking.txt:
8361         * docs/design/part-states.txt:
8362         * docs/design/part-trickmodes.txt:
8363         * docs/manual/advanced-position.xml:
8364         Small docs updates.
8365
8366         * gst/gstobject.h:
8367         People think !! is ugly, this looks better.
8368
8369         * gst/gstpad.c: (gst_pad_set_blocked_async):
8370         Remove !! since it's fixed elsewhere now.
8371
8372 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8373
8374         * gst/gstminiobject.h:
8375         * gst/gstobject.h:
8376           Add !! to _FLAG_IS_SET macros to make the result boolean.
8377
8378 2005-11-03  Edward Hervey  <edward@fluendo.com>
8379
8380         * gst/gstpad.c: (gst_pad_set_blocked_async):
8381         comparing a flag and a gboolean rarely returns coherent results...
8382         Added two characters (!!) to make that work correctly.
8383         
8384 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8385
8386         * gst/gstbus.c: (gst_bus_class_init):
8387           Fix some typos.
8388           
8389         * gst/gstqueue.c: (gst_queue_loop):
8390           Don't assume a miniobject that isn't a buffer is an
8391           event (it could be that there is a refcounting
8392           problem somewhere and the pointer is stale and
8393           refers to an already destroyed miniobject).
8394
8395 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8396
8397         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8398
8399 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8400
8401         * docs/manual/advanced-position.xml:
8402           Update seek example and explanations to current 0.9 API.
8403
8404         * gst/elements/gsttypefindelement.c:
8405         (gst_type_find_element_activate):
8406           Remove FIXME comment now that the found caps
8407           are unreffed.
8408
8409 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * gst/gstregistryxml.c: (load_feature):
8412           Add another GST_STR_NULL instance
8413
8414 2005-11-02  Edward Hervey  <edward@fluendo.com>
8415
8416         * gst/gstpad.c: (handle_pad_block):
8417         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8418         
8419 2005-11-02  Wim Taymans  <wim@fluendo.com>
8420
8421         * gst/gstbin.c:
8422         Fix typo in docs.
8423
8424         * gst/gstelement.c: (gst_element_commit_state):
8425         Remove unused value.
8426
8427         * gst/gstiterator.c:
8428         Mention that the returned element is reffed in the docs.
8429
8430 2005-11-02  Wim Taymans  <wim@fluendo.com>
8431
8432         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8433         (gst_pad_push), (gst_pad_push_event):
8434         Unlock blocked pads when they are flushed.
8435
8436 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8437
8438         * docs/README:
8439         * docs/gst/gstreamer-sections.txt:
8440         * gst/gstbin.c:
8441           doc updates
8442         * gst/gstregistry.c: (gst_registry_scan_path_level):
8443           fix for a nasty little missed situation where an installed plug-in
8444           which was in the cache did not get overridden by an uninstalled one
8445           which was earlier in the plugin path because the newly created plugin
8446           for the uninstalled one (not in the registry) didn't get its
8447           ->registered set to TRUE
8448
8449 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8450
8451         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8452         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8453         (gst_collectpads_is_active), (gst_collectpads_collect),
8454         (gst_collectpads_collect_range), (gst_collectpads_start),
8455         (gst_collectpads_stop), (gst_collectpads_peek),
8456         (gst_collectpads_pop), (gst_collectpads_available),
8457         (gst_collectpads_read), (gst_collectpads_flush):
8458           Guard public API with assertions.
8459         
8460         * gst/gstpad.c:
8461           Fix docs for gst_pad_set_link_function().
8462
8463 2005-11-02  Johan Dahlin  <johan@gnome.org>
8464
8465         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8466         Unref found_caps after we used it.
8467
8468 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8469
8470         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8471           Don't try to ref NULL.
8472
8473 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8474
8475         * win32/common/config.h.in:
8476           provide a GST_FUNCTION that just gives a string for now
8477
8478 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8479
8480         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8481         (gst_object_flags_get_type), (register_gst_bin_flags),
8482         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8483         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8484         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8485         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8486         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8487         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8488         (gst_clock_flags_get_type), (register_gst_state),
8489         (gst_state_get_type), (register_gst_state_change_return),
8490         (gst_state_change_return_get_type), (register_gst_state_change),
8491         (gst_state_change_get_type), (register_gst_element_flags),
8492         (gst_element_flags_get_type), (register_gst_core_error),
8493         (gst_core_error_get_type), (register_gst_library_error),
8494         (gst_library_error_get_type), (register_gst_resource_error),
8495         (gst_resource_error_get_type), (register_gst_stream_error),
8496         (gst_stream_error_get_type), (register_gst_event_type),
8497         (gst_event_type_get_type), (register_gst_seek_type),
8498         (gst_seek_type_get_type), (register_gst_seek_flags),
8499         (gst_seek_flags_get_type), (register_gst_format),
8500         (gst_format_get_type), (register_gst_index_certainty),
8501         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8502         (gst_index_entry_type_get_type),
8503         (register_gst_index_lookup_method),
8504         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8505         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8506         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8507         (gst_index_flags_get_type), (register_gst_debug_level),
8508         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8509         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8510         (gst_iterator_result_get_type), (register_gst_iterator_item),
8511         (gst_iterator_item_get_type), (register_gst_message_type),
8512         (gst_message_type_get_type), (register_gst_mini_object_flags),
8513         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8514         (gst_pad_link_return_get_type), (register_gst_flow_return),
8515         (gst_flow_return_get_type), (register_gst_activate_mode),
8516         (gst_activate_mode_get_type), (register_gst_pad_direction),
8517         (gst_pad_direction_get_type), (register_gst_pad_flags),
8518         (gst_pad_flags_get_type), (register_gst_pad_presence),
8519         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8520         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8521         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8522         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8523         (gst_plugin_flags_get_type), (register_gst_rank),
8524         (gst_rank_get_type), (register_gst_query_type),
8525         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8526         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8527         (gst_tag_flag_get_type), (register_gst_task_state),
8528         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8529         (gst_alloc_trace_flags_get_type),
8530         (register_gst_type_find_probability),
8531         (gst_type_find_probability_get_type), (register_gst_uri_type),
8532         (gst_uri_type_get_type), (register_gst_parse_error),
8533         (gst_parse_error_get_type):
8534         * win32/common/gstversion.h:
8535           update win32 copies
8536
8537 2005-11-01  Luca Ognibene  <luogni@tin.it>
8538
8539         * gst/gst.c:
8540           fix docs. popt is dead, long live GOption.
8541
8542 2005-10-31  Wim Taymans  <wim@fluendo.com>
8543
8544         * gst/gstbuffer.h:
8545         Small doc fix.
8546
8547 2005-10-31  Andy Wingo  <wingo@pobox.com>
8548
8549         * Boo!
8550
8551         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8552
8553         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8554         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8555         the possibility of deadlocks here if code calling notify() or
8556         set() has a lock that can be taken in another notify handler (ABBA
8557         with class lock and e.g. python GIL state lock).
8558
8559 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8560
8561         * gst/gstbus.c: Doc updates.
8562
8563 2005-10-28  Wim Taymans  <wim@fluendo.com>
8564
8565         * docs/design/part-TODO.txt:
8566         * gst/gstiterator.c:
8567         * gst/gstsystemclock.c:
8568         * gst/gstsystemclock.h:
8569         Doc updates.
8570
8571 2005-10-28  Edward Hervey  <edward@fluendo.com>
8572
8573         * docs/gst/gstreamer-docs.sgml:
8574         * docs/gst/gstreamer-sections.txt:
8575         the GstURIType documentation page is private, it only defines GstURIType
8576         which should be defined in the GstURIHandler page
8577         
8578 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * gst/gstbin.c: (gst_bin_class_init):
8581         * gst/gstbin.h:
8582         * gst/gstutils.c:
8583         Documentation updates.
8584
8585 2005-10-28  Wim Taymans  <wim@fluendo.com>
8586
8587         * docs/gst/gstreamer-sections.txt:
8588         * gst/gstclock.c:
8589         * gst/gstclock.h:
8590         Documented the clocks.
8591
8592 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8593
8594         * docs/gst/gstreamer-sections.txt:
8595           move some macros to private sections
8596         * gst/gstminiobject.c:
8597         * gst/gstminiobject.h:
8598           add descriptions provided by ds and some more
8599         * gst/gstpad.h:
8600           mark macro as to be removed
8601
8602 2005-10-28  Wim Taymans  <wim@fluendo.com>
8603
8604         * docs/design/part-TODO.txt:
8605         Add an item to TODO.
8606
8607         * gst/gstiterator.c: (gst_iterator_fold),
8608         (gst_iterator_find_custom):
8609         * gst/gstiterator.h:
8610         Add iterator docs.
8611
8612 2005-10-28  Wim Taymans  <wim@fluendo.com>
8613
8614         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8615         (gst_base_transform_init):
8616         Don't leak class.
8617
8618         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8619         An EOS event marks the queue as completely filled.
8620
8621 2005-10-27  Wim Taymans  <wim@fluendo.com>
8622
8623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8624         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8625         Some more debugging.
8626
8627         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8628         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8629         (gst_base_transform_event), (gst_base_transform_getrange),
8630         (gst_base_transform_chain):
8631         * gst/base/gstbasetransform.h:
8632         Fix debugging,
8633         Protect transform and concurrent buffer alloc with a new lock.
8634         Try not to break ABI/API.
8635
8636 2005-10-27  Wim Taymans  <wim@fluendo.com>
8637
8638         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8639         (gst_base_src_init), (gst_base_src_query),
8640         (gst_base_src_default_newsegment),
8641         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8642         (gst_base_src_send_event), (gst_base_src_event_handler),
8643         (gst_base_src_pad_get_range), (gst_base_src_loop),
8644         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8645         (gst_base_src_start), (gst_base_src_deactivate),
8646         (gst_base_src_activate_push), (gst_base_src_change_state):
8647         Move some stuff around and cleanup things.
8648
8649 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8650
8651         * gst/base/gstbasesrc.c: (gst_base_src_query):
8652           Add missing break statements.
8653
8654 2005-10-27  Wim Taymans  <wim@fluendo.com>
8655
8656         * check/gst/gstbin.c: (GST_START_TEST):
8657         An extra refcount is taken in basesrc.
8658
8659         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8660         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8661         (gst_base_src_loop):
8662         Small cleanups, check for flushing after being unlocked from the 
8663         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8664         Don't send out EOS when going to READY.
8665
8666 2005-10-27  Wim Taymans  <wim@fluendo.com>
8667
8668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8669         (gst_base_sink_get_position):
8670         Some more debug.
8671
8672         * gst/gstbin.c: (message_check), (bin_replace_message),
8673         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8674         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8675         (bin_query_duration_init), (bin_query_duration_fold),
8676         (bin_query_duration_done), (bin_query_generic_fold),
8677         (gst_bin_query):
8678         * tools/gst-launch.c: (main):
8679         Remove old option.
8680
8681 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8682
8683         * examples/controller/audio-example.c: (main):
8684         * examples/queue/queue.c: (event_loop):
8685         * gst/base/gstbasetransform.h:
8686         * gst/gstelement.c: (gst_element_send_event):
8687         * gst/gstevent.h:
8688         * gst/gstpad.c: (gst_pad_send_event):
8689           fixing examples
8690           fixing docs typos
8691           changing log priority in error situations
8692
8693 2005-10-25  Wim Taymans  <wim@fluendo.com>
8694
8695         * gst/gstbin.c: (message_check), (bin_replace_message),
8696         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8697         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8698         (bin_query_duration_init), (bin_query_duration_fold),
8699         (bin_query_duration_done), (bin_query_generic_fold),
8700         (gst_bin_query):
8701         Some doc and debug updates.
8702         Cache previously requested query DURATION for speed. invalidate
8703         cached duration if element posts a DURATION message.
8704
8705 2005-10-25  Wim Taymans  <wim@fluendo.com>
8706
8707         * docs/design/part-TODO.txt:
8708         Update TODO.
8709
8710         * gst/gstbin.c: (message_check), (bin_replace_message),
8711         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8712         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8713         (bin_query_duration_init), (bin_query_duration_fold),
8714         (bin_query_duration_done), (bin_query_generic_fold),
8715         (gst_bin_query):
8716         Handle SEGMENT_START/DONE messages correctly.
8717         More evolved query algorithm that handles duration queries
8718         correctly.
8719
8720         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8721         (gst_element_get_state_func), (gst_element_abort_state),
8722         (gst_element_commit_state), (gst_element_lost_state):
8723         Some more debugging.
8724
8725         * gst/gstmessage.h:
8726         Added doc.
8727
8728 2005-10-25  Wim Taymans  <wim@fluendo.com>
8729
8730         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8731         Don't use invalid stream_time.
8732
8733         * gst/gstevent.c: (gst_event_new_newsegment):
8734         stream_time in newsegment cannot be undefined.
8735
8736 2005-10-24  Wim Taymans  <wim@fluendo.com>
8737
8738         * gst/gstbus.c:
8739         Doc fix.
8740
8741         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8742         (gst_queue_loop):
8743         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8744
8745 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8746
8747         * docs/libs/tmpl/gstdparam.sgml:
8748         * docs/libs/tmpl/gstdplinint.sgml:
8749         * docs/libs/tmpl/gstdpman.sgml:
8750         * docs/libs/tmpl/gstdpsmooth.sgml:
8751         * docs/libs/tmpl/gstunitconvert.sgml:
8752           these are obsolete
8753
8754 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * configure.ac:
8757           back to HEAD
8758
8759 === release 0.9.4 ===
8760
8761 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8762
8763         * configure.ac:
8764           releasing 0.9.4, "Tyrannosaurus Rex"
8765
8766 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8767
8768         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8769         (gst_file_sink_get_current_offset):
8770           Use fseeko() and ftello() if available. When falling back on
8771           lseek() to get the current offset, fflush() first to make sure
8772           everything is up-to-date and we get the right offset.
8773
8774 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8775
8776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8777         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8778         * gst/gsterror.c: (_gst_stream_errors_init):
8779         * gst/gsterror.h:
8780         * gst/gstqueue.c: (gst_queue_loop):
8781         * po/POTFILES.in:
8782           remove prematurely added error category and clean up the instances
8783
8784 2005-10-21  Wim Taymans  <wim@fluendo.com>
8785
8786         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8787         (gst_base_sink_get_position), (gst_base_sink_query),
8788         (gst_base_sink_change_state):
8789         Simply set the right flag when going to playing, that's all
8790         we need to do instead of calling a function inside the object
8791         lock (that could take the lock as well and deadlock)
8792
8793 2005-10-21  Wim Taymans  <wim@fluendo.com>
8794
8795         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8796         (gst_base_src_loop):
8797         Don't warn, the peer element knows what to do best when
8798         the seek failed, it might try something else.
8799
8800 2005-10-21  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/base/gstbasesrc.c: (gst_base_src_init),
8803         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8804         Fix seeking.
8805
8806 2005-10-21  Wim Taymans  <wim@fluendo.com>
8807
8808         * docs/design/part-segments.txt:
8809         More docs.
8810
8811         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8812         Correctly set caps, even on the subbufer.
8813
8814 2005-10-21  Wim Taymans  <wim@fluendo.com>
8815
8816         * docs/gst/gstreamer-docs.sgml:
8817         * docs/gst/gstreamer-sections.txt:
8818         * gst/gstelement.h:
8819         * gst/gstevent.c:
8820         * gst/gstevent.h:
8821         * gst/gstmessage.h:
8822         * gst/gstpad.h:
8823         * gst/gstparse.h:
8824         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8825         * gst/gsttask.h:
8826         * gst/gstutils.c:
8827         * gst/gstutils.h:
8828         And 2% more doc coverage.
8829
8830 2005-10-21  Andy Wingo  <wingo@pobox.com>
8831
8832         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8833         position reporting.
8834
8835 2005-10-20  Wim Taymans  <wim@fluendo.com>
8836
8837         * gst/gsterror.c: (gst_error_get_message):
8838         * gst/gstparse.h:
8839         * gst/gstquery.h:
8840         * gst/gststructure.c:
8841         * gst/gsttrace.c:
8842         * gst/gstutils.c:
8843         More docs.
8844
8845 2005-10-20  Wim Taymans  <wim@fluendo.com>
8846
8847         * gst/gstbuffer.h:
8848         * gst/gstpad.c:
8849         * gst/gstparse.c:
8850         Another 1% more coverage.
8851
8852 2005-10-20  Wim Taymans  <wim@fluendo.com>
8853
8854         * docs/gst/gstreamer-sections.txt:
8855         * gst/gstelement.c: (gst_element_get_state_func),
8856         (gst_element_abort_state), (gst_element_commit_state),
8857         (gst_element_lost_state):
8858         * gst/gstevent.h:
8859         * gst/gstquery.c: (gst_query_set_position),
8860         (gst_query_parse_position), (gst_query_set_duration),
8861         (gst_query_parse_duration), (gst_query_new_convert):
8862         * gst/gstutils.c:
8863         Yay! 1% more docs coverage.
8864
8865 2005-10-20  Wim Taymans  <wim@fluendo.com>
8866
8867         * gst/gstpad.h:
8868         * gst/gstquery.c: (gst_query_set_position),
8869         (gst_query_parse_position), (gst_query_set_duration),
8870         (gst_query_parse_duration), (gst_query_new_convert):
8871         * gst/gstquery.h:
8872         * gst/gstutils.c: (gst_element_query_convert):
8873         * gst/gstutils.h:
8874         Docs and consistency fixes.
8875
8876 2005-10-20  Wim Taymans  <wim@fluendo.com>
8877
8878         * gst/gsttask.c:
8879         * gst/gsttask.h:
8880         More docs.
8881
8882 2005-10-20  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/gstbin.c: (message_check), (bin_replace_message),
8885         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8886         (update_degree), (gst_bin_sort_iterator_next),
8887         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8888         Reworked the message handling a bit, cache the messages instead of
8889         only the senders. alows us to do more in the future.
8890
8891 2005-10-20  Wim Taymans  <wim@fluendo.com>
8892
8893         * docs/design/part-TODO.txt:
8894         Update TODO
8895
8896         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8897         (gst_base_sink_query):
8898         Don't use clock time to report position when in EOS.
8899
8900 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8901
8902         * tools/gst-inspect.c: (print_interfaces),
8903         (print_element_properties_info), (print_element_info):
8904           Fix interface output with gst-inspect -a; don't print
8905           newlines after double/float properties.
8906
8907 2005-10-20  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8910         (gst_base_sink_query):
8911         Speed up current position calculation.
8912
8913         * gst/base/gstbasesrc.c: (gst_base_src_query),
8914         (gst_base_src_default_newsegment):
8915         Correctly set stream position in newsegment.
8916
8917         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8918         (update_degree), (gst_bin_sort_iterator_next),
8919         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8920         * gst/gstmessage.c: (gst_message_new_custom):
8921         Clean up debugging info
8922
8923         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8924         (gst_queue_loop), (gst_queue_handle_src_query):
8925         Pause task faster.
8926
8927 2005-10-19  Wim Taymans  <wim@fluendo.com>
8928
8929         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8930         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8931         Fix query handling again.
8932
8933 2005-10-19  Wim Taymans  <wim@fluendo.com>
8934
8935         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8936         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8937         * gst/base/gstbasesrc.c: (gst_base_src_query):
8938         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8939         * gst/elements/gsttypefindelement.c:
8940         (gst_type_find_handle_src_query), (find_element_get_length),
8941         (gst_type_find_element_activate):
8942         API change fix.
8943
8944         * gst/gstquery.c: (gst_query_new_position),
8945         (gst_query_set_position), (gst_query_parse_position),
8946         (gst_query_new_duration), (gst_query_set_duration),
8947         (gst_query_parse_duration), (gst_query_set_segment),
8948         (gst_query_parse_segment):
8949         * gst/gstquery.h:
8950         Bundling query position/duration is not a good idea since duration
8951         does not change much and we don't want to recalculate it for every
8952         position query, so they are separated again..
8953         Base value in segment query is not needed.
8954
8955         * gst/gstqueue.c: (gst_queue_handle_src_query):
8956         * gst/gstutils.c: (gst_element_query_position),
8957         (gst_element_query_duration), (gst_pad_query_position),
8958         (gst_pad_query_duration):
8959         * gst/gstutils.h:
8960         Updates for query API change.
8961         Added some docs here and there.
8962
8963 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8964
8965         * check/gst/gstbin.c: (GST_START_TEST):
8966         * check/gst/gstghostpad.c: (GST_START_TEST):
8967         * check/pipelines/cleanup.c: (GST_START_TEST):
8968           wait on thread to die so we can check refcount correctly
8969
8970 2005-10-18  Wim Taymans  <wim@fluendo.com>
8971
8972         * check/pipelines/stress.c: (GST_START_TEST):
8973         Make check a little more time consuming.
8974
8975 2005-10-18  Wim Taymans  <wim@fluendo.com>
8976
8977         * check/Makefile.am:
8978         * check/pipelines/stress.c: (GST_START_TEST),
8979         (simple_launch_lines_suite), (main):
8980         Small state change torture test.
8981
8982         * docs/design/part-states.txt:
8983         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8984         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8985         (gst_base_sink_change_state):
8986         Never take state lock from streaming thread, clean up ugly
8987         hacks. Unfortunatly core does not yet support nice ways to
8988         async commit state.
8989         
8990         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8991         (bin_bus_handler):
8992         Start state recalc if a STATE_DIRTY message is posted, but only
8993         on the toplevel bin.
8994
8995         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8996         (gst_element_get_state_func), (gst_element_abort_state),
8997         (gst_element_commit_state), (gst_element_lost_state),
8998         (gst_element_set_state_func), (gst_element_change_state):
8999         * gst/gstelement.h:
9000         State variables are now protected with the LOCK, the state
9001         lock is only used to serialize _set_state().
9002
9003 2005-10-18  Wim Taymans  <wim@fluendo.com>
9004
9005         * check/gst/gstbin.c: (GST_START_TEST):
9006         * check/gst/gstmessage.c: (GST_START_TEST):
9007         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9008         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9009         (bin_bus_handler):
9010         * gst/gstelement.c: (gst_element_abort_state),
9011         (gst_element_commit_state), (gst_element_lost_state):
9012         * gst/gstmessage.c: (gst_message_new_state_changed),
9013         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9014         (gst_message_new_segment_done), (gst_message_new_duration),
9015         (gst_message_parse_state_changed),
9016         (gst_message_parse_segment_start),
9017         (gst_message_parse_segment_done), (gst_message_parse_duration):
9018         * gst/gstmessage.h:
9019         * tools/gst-launch.c: (event_loop):
9020         Seriously, this is better than a previous commit as we only need
9021         to notify the fact that an element changed state in a streaming
9022         thread, marking the state of the parents dirty, hence the 
9023         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9024         message.
9025
9026 2005-10-18  Wim Taymans  <wim@fluendo.com>
9027
9028         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9029         (gst_bin_recalc_func):
9030         * gst/gstelement.c: (gst_element_set_clock),
9031         (gst_element_abort_state), (gst_element_lost_state):
9032         Cleanups, prepare for state change fixes.
9033
9034 2005-10-18  Wim Taymans  <wim@fluendo.com>
9035
9036         * gst/gstbin.h:
9037         * gst/gstelement.c: (gst_element_class_init),
9038         (gst_element_set_state), (gst_element_set_state_func):
9039         * gst/gstelement.h:
9040         Pending ABI changes.
9041         GThreadPool in GstBinClass to monitor async state changes.
9042         state_cookie in GstElement to detect concurrent gst/set state.
9043         set_state is now virtual too in case a very complicated element
9044         has to be constructed.
9045
9046 2005-10-18  Wim Taymans  <wim@fluendo.com>
9047
9048         * check/gst/gstbin.c: (GST_START_TEST):
9049         * check/gst/gstmessage.c: (GST_START_TEST):
9050         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9051         * gst/gstbin.c: (bin_bus_handler):
9052         * gst/gstelement.c: (gst_element_commit_state),
9053         (gst_element_lost_state):
9054         * gst/gstmessage.c: (gst_message_new_state_changed),
9055         (gst_message_new_segment_start), (gst_message_new_segment_done),
9056         (gst_message_new_duration), (gst_message_parse_state_changed),
9057         (gst_message_parse_segment_start),
9058         (gst_message_parse_segment_done), (gst_message_parse_duration):
9059         * gst/gstmessage.h:
9060         * tools/gst-launch.c: (event_loop):
9061         Make messages future proof.
9062         state-change gets a flag if it was a message comming from the
9063         streaming thread.
9064         segment-start/stop can also be specified in other formats.
9065         A message to notify an app that a pipeline changed playback 
9066         duration.
9067         Also fix a GstMessage leak in -launch
9068
9069 2005-10-18  Andy Wingo  <wingo@pobox.com>
9070
9071         * gst/gstelement.c (gst_element_dispose): More helpful message.
9072
9073 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9074
9075         reviewed by: <delete if not using a buddy>
9076
9077         * common/gtk-doc.mak:
9078
9079 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * gst/gstregistry.c: (gst_registry_scan_path_level):
9082           unref a plug-in we get that was already initialized
9083
9084 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9085
9086         * docs/gst/gstreamer-sections.txt:
9087         * docs/libs/gstreamer-libs-sections.txt:
9088         * gst/gstelement.h:
9089           add new api entries
9090           hide internal macro
9091
9092 2005-10-17  Andy Wingo  <wingo@pobox.com>
9093
9094         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9095         cleanup.
9096
9097         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9098
9099         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9100
9101         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9102         (gst_element_get_state_func): Better debug message.
9103         (gst_element_commit_state): s/INFO/DEBUG/.
9104         (gst_element_lost_state, gst_element_change_state): 
9105
9106         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9107         (gst_message_new_custom): s/INFO/LOG/.
9108
9109 2005-10-17  Michael Smith <msmith@fluendo.com>
9110
9111         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9112           Check if end time is valid using end time, not start time.
9113
9114 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9115
9116         * check/gst-libs/controller.c: (GST_START_TEST),
9117         (gst_controller_suite):
9118         * libs/gst/controller/gstcontroller.c:
9119         (gst_controlled_property_set_interpolation_mode):
9120         * libs/gst/controller/gstcontroller.h:
9121         * libs/gst/controller/gstinterpolation.c:
9122         * testsuite/controller/.cvsignore:
9123         * testsuite/controller/Makefile.am:
9124         * testsuite/controller/interpolator.c:
9125           merge controller testsuites
9126           fix broken tests
9127           remove mem-chunk from docs
9128
9129 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9130
9131         * gst/gstmemchunk.c:
9132         * gst/gstmemchunk.h:
9133         * gst/gsttrashstack.c:
9134         * gst/gsttrashstack.h:
9135           out.  get out.  you're fired.  to the Attic !
9136
9137 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9138
9139         * gst/gstcaps.c: (gst_caps_intersect):
9140           fix signedness issues in a (hopefully) correct way
9141         * gst/gstelement.c: (gst_element_pads_activate):
9142           some debugging
9143         * gst/gstobject.c: (gst_object_set_parent):
9144           some debugging
9145
9146 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9147
9148         * gst/gstvalue.h: Fix prototypes.
9149
9150 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9151
9152         * docs/gst/gstreamer-sections.txt:
9153         * gst/gst.c: (gst_version_string):
9154         * gst/gst.h:
9155         * gst/gstversion.h.in:
9156         * win32/common/libgstreamer.def:
9157           add gst_version_string ()
9158
9159 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9160
9161         * configure.ac:
9162           clean up further
9163         * gst/gst.c: (init_post):
9164         * win32/common/config.h.in:
9165           it's PLUGINDIR now
9166         * gst/gstcaps.c: (gst_caps_intersect):
9167           use gint64, the range could be bigger than a guint
9168
9169 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * gst/gstclock.h:
9172           document potential problem in 2038
9173
9174 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * gst/gstcaps.c: (gst_caps_intersect):
9177           Fix guint j diving under 0
9178
9179 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9180
9181         * configure.ac:
9182         * win32/common/config.h:
9183         * win32/common/config.h.in:
9184           check for process.h, declares getpid() on Windows
9185         * gst/gstinfo.c:
9186           include process.h if we have it
9187         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9188         * gst/gstmemchunk.h:
9189           fix signedness issues
9190         * win32/common/libgstreamer.def:
9191           fix get_type's
9192
9193 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9194
9195         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9196         fix. Because of unsigned ints, caps intersection was going nuts and
9197         trying to access structures with G_MAXUINT index. That fixes
9198         videotestsrc ! ffmpegcolorspace ! fakesink
9199         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9200         consistency.
9201
9202 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9203
9204         * configure.ac:
9205           use the gettext macro
9206         * gst/elements/gstelements.c:
9207         * gst/gst.c:
9208         * gst/indexers/gstindexers.c:
9209           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9210         * win32/common/config.h:
9211           updated config.h
9212         * win32/common/config.h.in:
9213           add the template to generate config.h
9214         * win32/common/gstenumtypes.c:
9215         * win32/common/gstversion.h:
9216           updated copies
9217
9218 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * gst/gst.c: (gst_version):
9221         * gst/gstversion.h.in:
9222           add the nano
9223
9224 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9225
9226         * gst/gstevent.h:
9227           Oops, add missing closing bracket.
9228
9229 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9230
9231         * configure.ac:
9232           use common m4's for argument checking
9233
9234 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9235
9236         * docs/gst/gstreamer-sections.txt:
9237         * gst/gstevent.h:
9238           Add GST_EVENT_TYPE_NAME() macro.
9239
9240 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9241
9242         * gst/gstinfo.c:
9243         * gst/gstpluginfeature.c:
9244         * gst/gsttask.c:
9245           privatize more symbols
9246
9247 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * configure.ac:
9250           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9251           everything that uses GStreamer API should have the includes
9252
9253 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9254
9255         * docs/gst/gstreamer-sections.txt:
9256         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9257         * gst/gstvalue.h:
9258           give each value a _get_type, removes the DATA exports
9259
9260 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * gst/gst.c:
9263         * gst/gst.h:
9264           remove _gst_registry_auto_load, not used anymore
9265         * gst/gstbin.c: (gst_bin_get_type):
9266         * gst/gstbin.h:
9267         * gst/gstelement.c: (gst_element_get_type):
9268         * gst/gstelement.h:
9269         * gst/gstobject.c: (gst_object_get_type):
9270         * gst/gstobject.h:
9271         * gst/gstpad.c: (gst_pad_get_type):
9272         * gst/gstpad.h:
9273           make _get_type functions similar, fixes data export from library
9274
9275 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9276
9277         * configure.ac:
9278           correctly make conditionals
9279         * gst/elements/Makefile.am:
9280         * gst/elements/gstelements.c:
9281           fix typo causing fdsrc not to build
9282
9283 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * testsuite/Makefile.am:
9286         * testsuite/bytestream/.cvsignore:
9287         * testsuite/bytestream/Makefile.am:
9288         * testsuite/bytestream/filepadsink.c:
9289         * testsuite/bytestream/gstbstest.c:
9290         * testsuite/bytestream/test1.c:
9291         * testsuite/bytestream/testfile1:
9292         * testsuite/caps/normalisation.c:
9293         * testsuite/caps/random.c: (main):
9294         * testsuite/cleanup/.cvsignore:
9295         * testsuite/cleanup/Makefile.am:
9296         * testsuite/cleanup/cleanup1.c:
9297         * testsuite/cleanup/cleanup2.c:
9298         * testsuite/cleanup/cleanup3.c:
9299         * testsuite/cleanup/cleanup4.c:
9300         * testsuite/cleanup/cleanup5.c:
9301         * testsuite/controller/interpolator.c:
9302         * testsuite/debug/printf_extension.c: (main):
9303         * testsuite/elements/tee.c:
9304         * testsuite/negotiation/.cvsignore:
9305         * testsuite/negotiation/Makefile.am:
9306         * testsuite/negotiation/pad_link.c:
9307         * testsuite/pad/Makefile.am:
9308         * testsuite/pad/chainnopull.c:
9309         * testsuite/pad/getnopush.c:
9310         * testsuite/pad/link.c:
9311         * testsuite/refcounting/sched.c: (create_pipeline):
9312         * testsuite/registry/Makefile.am:
9313         * testsuite/registry/gst-print-formats.c:
9314         * testsuite/schedulers/.cvsignore:
9315         * testsuite/schedulers/142183-2.c:
9316         * testsuite/schedulers/142183.c:
9317         * testsuite/schedulers/143777-2.c:
9318         * testsuite/schedulers/143777.c:
9319         * testsuite/schedulers/147713.c:
9320         * testsuite/schedulers/147819.c:
9321         * testsuite/schedulers/147894-2.c:
9322         * testsuite/schedulers/147894.c:
9323         * testsuite/schedulers/Makefile.am:
9324         * testsuite/schedulers/group_link.c:
9325         * testsuite/schedulers/queue_link.c:
9326         * testsuite/schedulers/relink.c:
9327         * testsuite/schedulers/unlink.c:
9328         * testsuite/schedulers/unref.c:
9329         * testsuite/schedulers/useless_iteration.c:
9330         * testsuite/states/bin.c:
9331           clean out/remove some stuff from the testsuite directories
9332
9333 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9334
9335         * configure.ac:
9336           check for some headers
9337         * gst/elements/Makefile.am:
9338         * gst/elements/gstelements.c:
9339           don't compile fdsrc without sys/socket.h
9340         * gst/indexers/Makefile.am:
9341         * gst/indexers/gstindexers.c: (plugin_init):
9342           don't compile fileindex without mmap
9343
9344 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9345
9346         * configure.ac:
9347           reorganize
9348           clean up
9349           document more
9350           remove cruft
9351         * check/Makefile.am:
9352         * docs/gst/Makefile.am:
9353         * examples/helloworld/Makefile.am:
9354         * gst/Makefile.am:
9355         * gst/base/Makefile.am:
9356         * gst/check/Makefile.am:
9357         * gst/elements/Makefile.am:
9358         * gst/indexers/Makefile.am:
9359         * gst/parse/Makefile.am:
9360         * libs/gst/controller/Makefile.am:
9361         * libs/gst/dataprotocol/Makefile.am:
9362         * examples/helloworld/helloworld.c: (event_loop):
9363           compile fixes, though it's not being compiled currently
9364
9365 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9366
9367         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9368           Add some simple tests for the new taglist date API.
9369
9370 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9371
9372         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9373         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9374           Beautify 'last-message' output: print 'none' for buffer timestamps
9375           and durations if none is set; improve alignment with next messages.
9376
9377 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9380         * gst/gstpluginfeature.h:
9381         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9382         * gst/gstregistry.h:
9383         * docs/gst/gstreamer-sections.txt:
9384           Add new API to check plugin feature version requirements.
9385
9386         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9387           Some basic tests for the above.         
9388
9389 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * gst/gststructure.c: (gst_structure_to_string):
9392           guard against NULL printf - happens when for example
9393           a message structure with GstClock gets serialized
9394
9395 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9396
9397         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9398           Fix presumable copy'n'pasto.
9399
9400 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * gst/elements/gstfakesrc.h:
9403         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9404         * gst/elements/gsttypefindelement.c:
9405           fix some signedness
9406         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9407           I wonder if this could actually write +2GB files before
9408
9409 2005-10-13  Andy Wingo  <wingo@pobox.com>
9410
9411         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9412         Fix Timmeke Waymans bug.
9413         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9414         string of the proper length to gst_caps_from_string. There's a
9415         potential for, before this fix, that this could cause someone
9416         connecting over the network to cause a segfault if the payload is
9417         not NUL-terminated.
9418
9419 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9420
9421         * docs/design/draft-push-pull.txt:
9422         * docs/design/part-overview.txt:
9423         * docs/random/TODO-pre-0.9:
9424         * docs/random/old/ChangeLog.gstreamer:
9425         * gst/base/gstpushsrc.c:
9426         * gst/gstclock.c:
9427           fixed typos
9428
9429 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * gst/glib-compat.c: (gst_flags_get_first_value):
9432         * gst/glib-compat.h:
9433         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9434         (gst_value_compare_double), (gst_value_serialize_flags):
9435           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9436           infinite loop
9437
9438 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9441         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9442           fix up debugging
9443         * tools/gst-launch.c: (event_loop):
9444           print out clock nicely
9445
9446 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9447
9448         * docs/gst/gstreamer-sections.txt:
9449         * gst/gsttaglist.h:
9450         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9451         (gst_tag_list_get_date_index):
9452           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9453           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9454
9455 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9456
9457         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9458         (gst_collectpads_chain):
9459         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9460         in CollectData.
9461
9462 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9463
9464         * docs/gst/gstreamer-sections.txt:
9465         * gst/gst.c:
9466         * gst/gsterror.h:
9467         * tools/gst-inspect.c: (main):
9468         * tools/gst-launch.c: (main):
9469         * tools/gst-run.c: (main):
9470         * tools/gst-xmlinspect.c: (main):
9471           fix GOption context leaks
9472           doc fixes
9473
9474 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * gst/gstbus.c:
9477           use HAVE_UNISTD_H
9478         * win32/common/config.h:
9479           update config
9480         * win32/vs6/grammar.dsp:
9481         * win32/vs6/libgstelements.dsp:
9482         * win32/vs6/libgstreamer.dsp:
9483           update vs6 files
9484
9485 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9488         * gst/base/gstbasesrc.c: (gst_base_src_query):
9489           fix more guint64<->gdouble conversions
9490
9491 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9492
9493         * Makefile.am:
9494           add win32-update target
9495         * win32/common/gstconfig.h:
9496         * win32/common/gstenumtypes.c:
9497         * win32/common/gstenumtypes.h:
9498         * win32/common/gstversion.h:
9499           add files that visual studio can't generate
9500
9501 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * Makefile.am:
9504           add a win32-update target
9505         * configure.ac:
9506
9507 2005-10-12  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9510         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9511         * gst/gstelement.c: (gst_element_commit_state),
9512         (gst_element_set_state):
9513         Protect flags with proper lock.
9514         unref provided cached clock in dispose.
9515
9516 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9517
9518         * gst/gst.c:
9519         * gst/gstminiobject.h:
9520         * gst/gstpad.h:
9521         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9522           removed unused flags from miniobject
9523           doc fixes
9524
9525 2005-10-12  Wim Taymans  <wim@fluendo.com>
9526
9527         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9528         (gst_file_sink_event), (gst_file_sink_render):
9529         Flush before seeking.
9530
9531 2005-10-12  Andy Wingo  <wingo@pobox.com>
9532
9533         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9534         always been the case.
9535
9536 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9537
9538         * check/gst/gstbin.c: (GST_START_TEST):
9539         * docs/gst/gstreamer-sections.txt:
9540         * gst/base/gstbasesink.c: (gst_base_sink_init):
9541         * gst/base/gstbasesrc.c: (gst_base_src_init),
9542         (gst_base_src_get_range), (gst_base_src_check_get_range),
9543         (gst_base_src_start), (gst_base_src_stop):
9544         * gst/base/gstbasesrc.h:
9545         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9546         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9547         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9548         (bin_bus_handler):
9549         * gst/gstbin.h:
9550         * gst/gstbuffer.h:
9551         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9552         * gst/gstbus.h:
9553         * gst/gstelement.c: (gst_element_is_locked_state),
9554         (gst_element_set_locked_state), (gst_element_commit_state),
9555         (gst_element_set_state):
9556         * gst/gstelement.h:
9557         * gst/gstindex.c: (gst_index_init):
9558         * gst/gstindex.h:
9559         * gst/gstminiobject.h:
9560         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9561         (gst_object_set_parent):
9562         * gst/gstobject.h:
9563         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9564         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9565         * gst/gstpad.h:
9566         * gst/gstpadtemplate.h:
9567         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9568         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9569         * gst/gstpipeline.h:
9570         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9571         (gst_file_index_commit):
9572         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9573         * testsuite/pad/link.c: (gst_test_src_init),
9574         (gst_test_filter_init), (gst_test_sink_init):
9575         * testsuite/states/locked.c: (main):
9576           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9577           moved bitshift from macro to enum definition
9578
9579 2005-10-12  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9582         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9583         (gst_file_sink_render):
9584         Some more debugging info.
9585
9586 2005-10-12  Wim Taymans  <wim@fluendo.com>
9587
9588         * docs/design/part-states.txt:
9589         * tools/gst-launch.c: (main):
9590         Some doc updates.
9591         Revert non-intentional change.
9592
9593 2005-10-12  Wim Taymans  <wim@fluendo.com>
9594
9595         * check/gst/gstbin.c: (GST_START_TEST):
9596         * check/gst/gstelement.c: (GST_START_TEST):
9597         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9598         * check/gst/gstghostpad.c: (GST_START_TEST):
9599         * check/gst/gstpipeline.c: (GST_START_TEST):
9600         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9601         * check/states/sinks.c: (GST_START_TEST):
9602         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9603         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9604         (gst_bin_remove_func), (gst_bin_get_state_func),
9605         (gst_bin_recalc_state), (gst_bin_change_state_func),
9606         (bin_bus_handler):
9607         * gst/gstelement.c: (gst_element_get_state_func),
9608         (gst_element_get_state), (gst_element_abort_state),
9609         (gst_element_commit_state), (gst_element_set_state),
9610         (gst_element_change_state), (gst_element_change_state_func):
9611         * gst/gstelement.h:
9612         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9613         (gst_pipeline_provide_clock_func):
9614         * gst/gstutils.c: (gst_element_link_pads_filtered):
9615         * tools/gst-launch.c: (main):
9616         * tools/gst-typefind.c: (main):
9617         Use GstClockTime in _get_state() instead of GTimeVal.
9618         Remove old code in gstutils.c
9619
9620 2005-10-12  Andy Wingo  <wingo@pobox.com>
9621
9622         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9623         removed.
9624
9625         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9626         there is no task. Shouldn't affect any code, as nothing in our
9627         plugins checks this return value.
9628         (gst_pad_stop_task): Also take the stream lock if the pad has no
9629         task. Docs updated.
9630
9631 2005-10-12  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/gstpad.c: (pre_activate), (post_activate),
9634         (gst_pad_activate_pull), (gst_pad_activate_push):
9635         Cleanup activation code. Reset old state if
9636         activation failed.
9637
9638 2005-10-12  Wim Taymans  <wim@fluendo.com>
9639
9640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9641         (gst_base_sink_change_state):
9642         No need to prerol after receiving EOS.
9643
9644         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9645         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9646         * gst/elements/gstidentity.c: (gst_identity_event):
9647         Print events more verbosely.
9648
9649 2005-10-12  Wim Taymans  <wim@fluendo.com>
9650
9651         * check/Makefile.am:
9652         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9653         * check/states/sinks2.c:
9654         Moved sinks2 testcode in sinks check.
9655
9656         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9657         (gst_bin_remove_func), (gst_bin_recalc_state),
9658         (gst_bin_change_state_func), (bin_bus_handler):
9659         Fix potential race condition when _get_state() iterated over an
9660         ASYNC element right before it posted a state completion.
9661
9662         * gst/gstclock.h:
9663         Do proper cast here.
9664
9665         * gst/gstevent.c: (gst_event_new_newsegment),
9666         (gst_event_parse_newsegment):
9667         A playback rate of 0.0 is not allowed.
9668
9669 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9670
9671         * win32/common/config.h:
9672         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9673         (_trewinddir), (_ttelldir), (_tseekdir):
9674         * win32/common/dirent.h:
9675         * win32/common/gtchar.h:
9676         * win32/common/libgstbase.def:
9677         * win32/common/libgstreamer.def:
9678         * win32/vs6/grammar.dsp:
9679         * win32/vs6/gst_inspect.dsp:
9680         * win32/vs6/gst_launch.dsp:
9681         * win32/vs6/gstreamer.dsw:
9682         * win32/vs6/libgstbase.dsp:
9683         * win32/vs6/libgstelements.dsp:
9684         * win32/vs6/libgstreamer.dsp:
9685           Visual Studio 6 project files, and a new common directory.
9686           Phear.
9687
9688 2005-10-11  Wim Taymans  <wim@fluendo.com>
9689
9690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9691         (gst_base_sink_do_sync), (gst_base_sink_query),
9692         (gst_base_sink_change_state):
9693         * gst/base/gstbasesink.h:
9694         Correctly parse newsegment info.
9695
9696 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9697
9698         * gst/gst.c: (init_post):
9699           split plugin paths correctly
9700
9701 2005-10-11  Wim Taymans  <wim@fluendo.com>
9702
9703         * check/gst/gstevent.c: (GST_START_TEST):
9704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9705         (gst_base_sink_change_state):
9706         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9707         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9708         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9709         * gst/gstevent.c: (gst_event_new_newsegment),
9710         (gst_event_parse_newsegment):
9711         * gst/gstevent.h:
9712         Added extra flag to newsegment for future API freeze.
9713         Updated check and base elements.
9714
9715 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9716
9717         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9718         (gst_collectpads_add_pad), (gst_collectpads_pop),
9719         (gst_collectpads_event), (gst_collectpads_chain):
9720         * gst/base/gstcollectpads.h: Handle EOS correctly.
9721
9722 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9723
9724         * tools/gst-launch.c: (main):
9725           more null protecting
9726
9727 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9728
9729         * gst/gst-i18n-lib.h:
9730           check for ENABLE_NLS, not GETTEXT_PACKAGE
9731         * gst/gstregistry.c: (gst_registry_add_plugin),
9732         (gst_registry_scan_path_level),
9733         (_gst_registry_remove_cache_plugins):
9734           protect possibly NULL strings
9735         * gst/parse/types.h:
9736           config.h already included before
9737         * tools/gst-inspect.c: (main):
9738           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9739           check for ENABLE_NLS, not GETTEXT_PACKAGE
9740         * tools/gst-launch.c: (main):
9741           check for ENABLE_NLS, not GETTEXT_PACKAGE
9742
9743 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9744
9745         * configure.ac:
9746           if we don't have glib, fail before testing 2.8
9747         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9748           fix a leak, should fix plugins-base testsuite
9749
9750 2005-10-11  Andy Wingo  <wingo@pobox.com>
9751
9752         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9753         take the mode we're going to as an arg. Go head and set the mode
9754         and flushing flags now, so that if the activate function starts a
9755         thread all the flags will be in the right state.
9756         (post_activate): Renamed also. Just handle making sure streaming
9757         finishes for the deactivation case, and setting the deactivated
9758         mode.
9759         (gst_pad_set_active): Complain loudly if deactivation fails.
9760         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9761         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9762         remove the terrible hack.
9763
9764 2005-10-11  Wim Taymans  <wim@fluendo.com>
9765
9766         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9767         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9768         (gst_bin_recalc_state), (gst_bin_change_state_func),
9769         (gst_bin_dispose), (bin_bus_handler):
9770         * gst/gstbin.h:
9771         Prepare to make current EOS message queue more generic.
9772         Fix some typos.
9773
9774         * gst/gstevent.c: (gst_event_new_newsegment),
9775         (gst_event_parse_newsegment):
9776         * gst/gstevent.h:
9777         Rename base to stream_time.
9778
9779         * gst/gstmessage.h:
9780         Fix typo in docs.
9781
9782 2005-10-11  Wim Taymans  <wim@fluendo.com>
9783
9784         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9785         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9786         (gst_bin_change_state_func), (bin_bus_handler):
9787         * gst/gstbin.h:
9788         Work on proper clock selection.
9789
9790 2005-10-11  Edward Hervey  <edward@fluendo.com>
9791
9792         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9793         * libs/gst/controller/gstcontroller.h:
9794         Added GList* version of _remove_properties() in order to be able to wrap
9795         it in bindings.
9796
9797 2005-10-11  Wim Taymans  <wim@fluendo.com>
9798
9799         * docs/design/part-states.txt:
9800         Some more docs.
9801
9802         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9803         (gst_bin_change_state_func), (bin_bus_handler):
9804         Doc updates. Don't distribute the same clock over and over again.
9805
9806         * gst/gstclock.c:
9807         * gst/gstclock.h:
9808         Doc updates.
9809
9810         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9811         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9812         (gst_pad_send_event):
9813         * gst/gstpad.h:
9814         Make probe emission threadsafe again.
9815         Register quarks and move _get_name() from utils.
9816         Doc updates.
9817
9818         * gst/gstpipeline.c: (gst_pipeline_class_init),
9819         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9820         Only redistribute the clock of it changed.
9821
9822         * gst/gstsystemclock.h:
9823         Doc updates. 
9824
9825         * gst/gstutils.c:
9826         * gst/gstutils.h:
9827         Moved the _flow_get_name() to GstPad.
9828
9829 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9830
9831         * check/gst-libs/gdp.c: (GST_START_TEST):
9832         * check/gst/gstcaps.c: (GST_START_TEST):
9833         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9834         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9835         (gst_dp_packet_from_caps):
9836           fix more valgrind warnings before turning up the heat
9837
9838 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * gst/parse/grammar.y:
9841           some cleanup before the hacking
9842
9843 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9844
9845         * gst/base/gstbasesrc.c: (gst_base_src_query):
9846           use conversions
9847         * gst/gstutils.c: (gst_guint64_to_gdouble),
9848         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9849         * gst/gstutils.h:
9850           externalize, basesrc uses it
9851           obviously the implementation needs testing
9852
9853 2005-10-10  Wim Taymans  <wim@fluendo.com>
9854
9855         * tests/sched/Makefile.am:
9856         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9857         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9858
9859 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9860
9861         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9862           apparently converting from guint64 to double is not implemented
9863           on MSVC
9864
9865 2005-10-10  Wim Taymans  <wim@fluendo.com>
9866
9867         * check/Makefile.am:
9868         * check/generic/states.c: (GST_START_TEST):
9869         * check/gst/gstbin.c: (GST_START_TEST):
9870         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9871         * check/states/sinks.c: (GST_START_TEST):
9872         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9873         (main):
9874         Check fixes, use API as stated in design docs, remove hacks.
9875
9876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9877         (gst_base_sink_change_state):
9878         Catch stopping our task while we're shutting down.
9879
9880         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9881         (gst_bin_remove_func), (gst_bin_get_state_func),
9882         (gst_bin_recalc_state), (gst_bin_change_state_func),
9883         (bin_bus_handler):
9884         * gst/gstbin.h:
9885         * gst/gstelement.c: (gst_element_init),
9886         (gst_element_get_state_func), (gst_element_abort_state),
9887         (gst_element_commit_state), (gst_element_lost_state),
9888         (gst_element_set_state), (gst_element_change_state),
9889         (gst_element_change_state_func):
9890         * gst/gstelement.h:
9891         New state change algorithm (see #318116)
9892
9893         * gst/gstpipeline.c: (gst_pipeline_class_init),
9894         (gst_pipeline_init), (gst_pipeline_set_property),
9895         (gst_pipeline_get_property), (do_pipeline_seek),
9896         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9897         * gst/gstpipeline.h:
9898         Remove crude state change hacks.
9899
9900         * gst/gstutils.h:
9901         Remove crude hacks.
9902
9903         * tools/gst-launch.c: (main):
9904         Fixes for state change. Needs some more work to fully use the
9905         new stuff.
9906
9907 2005-10-10  Andy Wingo  <wingo@pobox.com>
9908
9909         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9910
9911         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9912         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9913         issue.
9914
9915 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9916
9917         * gst/gstiterator.c: (gst_iterator_new):
9918           Fix my previous commit: GTypes passed to gst_iterator_new()
9919           can be fundamental types.
9920
9921 2005-10-10  Wim Taymans  <wim@fluendo.com>
9922
9923         * gst/gstelement.c: (gst_element_iterate_pad_list),
9924         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9925         (gst_element_iterate_sink_pads):
9926         Use src/sink pads lists for the respective iterators instead
9927         of filtering.
9928
9929 2005-10-10  Andy Wingo  <wingo@pobox.com>
9930
9931         Merged in popt removal + GOption addition patch from Ronald, bug
9932         #169772.
9933
9934         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9935         GstElement macros around, remove popt-related symbols, add goption
9936         stuff.
9937
9938         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9939         
9940         * docs/gst/Makefile.am:
9941         * docs/libs/Makefile.am: No POPT_CFLAGS.
9942         
9943         * examples/manual/Makefile.am:
9944         * docs/manual/basics-init.xml: Doc updates with an example.
9945         
9946         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9947         (gst_init), (parse_one_option), (parse_goption_arg):
9948         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9949         bit of hand merging and debugging to get the GOption stuff working
9950         tho.
9951         
9952         * tests/Makefile.am:
9953         * tools/Makefile.am:
9954         * tools/gst-inspect.c: (main):
9955         * tools/gst-launch.c: (main):
9956         * tools/gst-run.c: (main):
9957         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9958
9959 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9960
9961         * gst/gstiterator.c: (gst_iterator_new):
9962           Add assertions to make sure passed GType is likely to really
9963           be a GType (as the compiler won't catch it if the size and
9964           GType arguments get mixed up, see #318447).
9965
9966 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9967
9968         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9969
9970         * gst/gstbin.c: (gst_bin_iterate_sorted):
9971           Pass GType and size arguments to gst_iterator_new() in the right
9972           order (maybe we should make _new() take the GType as first argument
9973           just like _new_list()?) (#318447).
9974           
9975
9976 2005-10-10  Wim Taymans  <wim@fluendo.com>
9977
9978         * gst/gstelement.c: (gst_element_finalize):
9979         And free the GStaticRecMutex too
9980
9981 2005-10-10  Andy Wingo  <wingo@pobox.com>
9982
9983         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9984         Allocate and free the mutex properly.
9985
9986         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9987         New macros.
9988         (GstElement): The state_lock is now recursive. Rebuild your
9989         plugins, suckers. Old macros adapted.
9990
9991         * docs/gst/gstreamer-sections.txt: Doc updates.
9992
9993         * gst/gstutils.h:
9994         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9995         (g_static_rec_cond_wait): Ported from state changes patch, while
9996         we wait on bug #317802 to be solved in a well-distributed GLib.
9997
9998         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9999         gst_element_change_state, variable name changes.
10000         (gst_element_change_state): Split out of gst_element_set_state in
10001         preparation for the state change merge. Doesn't pay attention to
10002         the 'transition' argument.
10003         (gst_element_set_state): Updates, hopefully purely cosmetic.
10004         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10005         state change patch.
10006         (gst_element_get_state_func): Renamed from get_state, cosmetic
10007         changes.
10008
10009 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * gst/elements/gstelements.c:
10012         * win32/GStreamer.vcproj:
10013         * win32/config.h:
10014         * win32/dirent.c: (_tseekdir):
10015         * win32/gst-inspect.vcproj:
10016         * win32/gst-launch.vcproj:
10017         * win32/gstconfig.h:
10018         * win32/gstelements.vcproj:
10019         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10020         * win32/gstreamer.def:
10021         * win32/msvc71.sln:
10022           updates for the win32 build (patch from Sebastien Moutte)
10023
10024 2005-10-10  Andy Wingo  <wingo@pobox.com>
10025
10026         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10027         gst_bin_get_state, cleaned up (but no logic changes).
10028         (bin_element_is_sink): Comment updates.
10029         (sink_iterator_filter): Remove needless cast.
10030         (gst_bin_iterate_sinks): Doc update.
10031         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10032         cleaned up (but no logic changes).
10033
10034         * check/states/sinks.c (test_src_sink): Cleanups from the state
10035         change patch.
10036         (test_livesrc_sink): Sync on the state.
10037
10038         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10039         the state change patch.
10040
10041         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10042         change patch.
10043
10044         * check/gst/gstbin.c: Merge in some style fixes and additional
10045         checks from Wim's state change patch.
10046
10047 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10048
10049         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10050         (gst_type_find_helper):
10051           Check whether we have the requested data already in our list of
10052           cached buffers before pulling a new buffer; also make the buffer
10053           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10054
10055 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * gst/gstcaps.c:
10058         * gst/gstevent.c:
10059           doc updates
10060         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10061           don't use long long, it's not portable.  Replacing with
10062           gint64 seems to work; let's hope no skeletons fall out of the closet.
10063
10064 2005-10-10  Andy Wingo  <wingo@pobox.com>
10065
10066         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10067
10068 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10069
10070         * docs/gst/gstreamer-sections.txt:
10071         * gst/gstevent.c:
10072         * gst/gstevent.h:
10073         * gst/gstinfo.c:
10074         * gst/gstinfo.h:
10075         * gst/gstmessage.c: (gst_message_parse_state_changed):
10076         * gst/gstpad.c:
10077         * gst/gstpad.h:
10078           more docs, fix compilation
10079
10080 2005-10-09  Philippe Khalaf <burger@speedy.org>
10081         * gst/gstmessage.c:
10082           Fixed a few forgotten variables on previous commit
10083
10084 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10085
10086         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10087           Fix evil typefind crasher: getrange() might return a short
10088           buffer at the end of a file, but gst_type_find_peek() must
10089           either return the full data as requested or NULL, but
10090           never a short buffer.
10091
10092 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10093
10094         * gst/gstmessage.c: (gst_message_new_state_changed),
10095         (gst_message_parse_state_changed):
10096         * gst/gstmessage.h:
10097           don't use "new", it's a C++ keyword
10098
10099 2005-10-08  Wim Taymans  <wim@fluendo.com>
10100
10101         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10102         * gst/gstelement.c: (gst_element_post_message):
10103         * gst/gstpipeline.c: (gst_pipeline_change_state):
10104         Small docs and debug updates.
10105
10106 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10107
10108         * docs/gst/gstreamer-sections.txt:
10109         * gst/gstelementfactory.c:
10110         * gst/gstevent.c:
10111         * gst/gsttaglist.c:
10112           more docs
10113
10114 2005-10-08  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10117         (gst_bin_dispose), (bin_bus_handler):
10118         Fix typos, add comments.
10119         Clear EOS list when going to PAUSED from any direction and do it
10120         in a threadsafe way.
10121         Get base time in a threadsafe way too.
10122         Fix confusing debug in the change_state function.
10123         Various other small cleanups.
10124         
10125         * gst/gstelement.c: (gst_element_post_message):
10126         Fix very verbose bus posting code.
10127
10128         * gst/gstpipeline.c: (gst_pipeline_class_init),
10129         (gst_pipeline_set_property), (gst_pipeline_get_property),
10130         (gst_pipeline_change_state):
10131         Small ARG_ -> PROP_ cleanup
10132
10133 2005-10-08  Wim Taymans  <wim@fluendo.com>
10134
10135         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10136         Do a less CPU demanding EOS check because we can.
10137
10138 2005-10-08  Wim Taymans  <wim@fluendo.com>
10139
10140         * libs/gst/dataprotocol/dataprotocol.c:
10141         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10142         (gst_dp_packet_from_event):
10143         * libs/gst/dataprotocol/dataprotocol.h:
10144         * libs/gst/dataprotocol/dp-private.h:
10145         It's about time we bump the version number.
10146         Since event types don't fit in the guint8 anymore describing
10147         the payload type, make payload type 16 bits wide.
10148
10149 2005-10-08  Wim Taymans  <wim@fluendo.com>
10150
10151         * docs/design/part-TODO.txt:
10152         * docs/design/part-clocks.txt:
10153         * docs/design/part-events.txt:
10154         * docs/design/part-gstbin.txt:
10155         * docs/design/part-gstelement.txt:
10156         * docs/design/part-gstpipeline.txt:
10157         * docs/design/part-live-source.txt:
10158         * docs/design/part-messages.txt:
10159         * docs/design/part-overview.txt:
10160         * docs/design/part-states.txt:
10161         Many doc updates.
10162
10163 2005-10-08  Wim Taymans  <wim@fluendo.com>
10164
10165         * gst/gstevent.c:
10166         * gst/gstevent.h:
10167         Fix event quark registration.
10168         Add some space between events so we can insert them in the
10169         right groups.
10170
10171 2005-10-08  Wim Taymans  <wim@fluendo.com>
10172
10173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10174         (gst_base_sink_handle_buffer):
10175         Better log message.
10176
10177         * gst/gstbus.h:
10178         * gst/gstelement.h:
10179         More docs.
10180
10181         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10182         (gst_queue_set_property), (gst_queue_get_property):
10183         * gst/gstqueue.h:
10184         Remove old unused properties.
10185
10186 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10187         * docs/gst/gstreamer-sections.txt:
10188         * gst/gstmessage.c:
10189         * gst/gstmessage.h:
10190         * gst/gstminiobject.c:
10191         * gst/gstminiobject.h:
10192         * gst/gstobject.h:
10193         * gst/gstpad.h:
10194         * gst/gstutils.h:
10195           lots of new docs and doc fixes
10196
10197 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10198
10199         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10200         * gst/gstplugin.h:
10201         * gst/gstregistry.c: (gst_registry_lookup_locked),
10202         (gst_registry_scan_path_level):
10203         * gst/gstregistryxml.c: (load_plugin):
10204           Only ever load one plugin for a given plugin basename.
10205           This ensures correct overriding of GST_PLUGIN_PATH over
10206           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10207           system installed plugins.
10208
10209 2005-10-08  Wim Taymans  <wim@fluendo.com>
10210
10211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10212         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10213         Prepare for doing QOS.
10214
10215 2005-10-08  Wim Taymans  <wim@fluendo.com>
10216
10217         * check/gst/gstbin.c: (GST_START_TEST):
10218         * check/pipelines/cleanup.c: (GST_START_TEST):
10219         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10220         Allow new clock message too.
10221
10222 2005-10-08  Wim Taymans  <wim@fluendo.com>
10223
10224         * gst/gstmessage.c: (gst_message_new_error),
10225         (gst_message_new_warning), (gst_message_new_tag),
10226         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10227         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10228         (gst_message_new_segment_start), (gst_message_new_segment_done),
10229         (gst_message_parse_state_changed),
10230         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10231         (gst_message_parse_new_clock):
10232         * gst/gstmessage.h:
10233         Also carry the clock in question.
10234
10235 2005-10-08  Wim Taymans  <wim@fluendo.com>
10236
10237         * gst/gstmessage.c: (gst_message_new_custom),
10238         (gst_message_new_eos), (gst_message_new_error),
10239         (gst_message_new_warning), (gst_message_new_tag),
10240         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10241         (gst_message_new_new_clock), (gst_message_new_segment_start),
10242         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10243         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10244         * gst/gstmessage.h:
10245         Clean up.
10246         Added clock related messages.
10247
10248         * gst/gstpipeline.c: (gst_pipeline_change_state):
10249         Post message when the clock changed.
10250
10251         * tools/gst-launch.c: (event_loop):
10252         Print new clock.
10253
10254 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10255
10256         * tools/gst-inspect.c: (print_element_properties_info):
10257           Can't pass NULL strings to g_print() on windows.
10258
10259 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * docs/Makefile.am:
10262         * docs/gst/Makefile.am:
10263         * docs/gst/gstreamer-docs.sgml:
10264         * docs/gst/running.xml:
10265         * docs/version.entities.in:
10266           add a chapter on running GStreamer.
10267           document GST_DEBUG and GST_PLUGIN* env vars
10268
10269 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10270
10271         * Makefile.am:
10272           remove include dir
10273         * configure.ac:
10274           remove PLUGINS_BUILDDIR stuff
10275         * gst/gst.c: (init_post):
10276           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10277         * idiottest.mak:
10278           remove, it was condescending and not needed
10279
10280 2005-10-08  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10283         (gst_base_sink_handle_object), (gst_base_sink_event),
10284         (gst_base_sink_wait), (gst_base_sink_handle_event),
10285         (gst_base_sink_change_state):
10286         * gst/base/gstbasesink.h:
10287         Repost EOS message while going to PLAYING if still EOS.
10288         Make sure that when receiving a FLUSH_START we don't attempt
10289         to sync on the clock anymore.
10290
10291 2005-10-08  Wim Taymans  <wim@fluendo.com>
10292
10293         * tools/gst-launch.c: (event_loop):
10294         Better message printout.
10295
10296 2005-10-08  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10299         (gst_bin_child_proxy_get_children_count):
10300         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10301         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10302         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10303         (gst_child_proxy_set_valist):
10304         * gst/parse/grammar.y:
10305         Make ChildProxy threadsafe and fix mem leaks.
10306
10307 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * gst/gst.c: (init_post):
10310           debug the GST_PLUGIN_ env vars
10311
10312 2005-10-08  Wim Taymans  <wim@fluendo.com>
10313
10314         * check/gst/gstbin.c: (GST_START_TEST):
10315         * check/gst/gstmessage.c: (GST_START_TEST):
10316         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10317         * gst/gstelement.c: (gst_element_commit_state),
10318         (gst_element_lost_state):
10319         * gst/gstmessage.c: (gst_message_new_state_changed),
10320         (gst_message_parse_state_changed):
10321         * gst/gstmessage.h:
10322         * tools/gst-launch.c: (event_loop):
10323         Added extra field to STATE_CHANGE message with the pending
10324         state, which will be different from the new state soon.
10325
10326 2005-10-08  Wim Taymans  <wim@fluendo.com>
10327
10328         * gst/gstbus.c: (gst_bus_pop):
10329         * gst/gstclock.c:
10330         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10331         Small cleanups and doc updates.
10332
10333 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10334
10335         * gst/gst.c: (init_pre):
10336         * gst/gstbin.c: (gst_bin_add_func):
10337           log distributing clocks and base time
10338         * gst/gstregistry.c: (gst_registry_add_plugin),
10339         (gst_registry_scan_path_level), (gst_registry_scan_path):
10340           clean up the debugging output a little
10341         * gst/gstutils.c: (gst_element_state_get_name):
10342           warn about a memleak (I've actually seen this be used, though
10343           it was probably a bug)
10344
10345 2005-10-07  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10348         (gst_base_src_init), (gst_base_src_default_newsegment),
10349         (gst_base_src_newsegment), (gst_base_src_do_seek),
10350         (gst_base_src_loop), (gst_base_src_start):
10351         * gst/base/gstbasesrc.h:
10352         Make the newsegment event customizable by subclasses.
10353
10354 2005-10-07  Wim Taymans  <wim@fluendo.com>
10355
10356         * gst/gstevent.c: (gst_event_new_buffersize),
10357         (gst_event_parse_buffersize):
10358         * gst/gstevent.h:
10359         New event for future idea.
10360
10361 2005-10-07  Andy Wingo  <wingo@pobox.com>
10362
10363         * gst/gstelement.c (gst_element_post_message): Doc update.
10364
10365         * docs/gst/gstreamer-sections.txt: Update.
10366
10367         * gst/gstmessage.c (gst_message_new_application): Made into a
10368         function like honest API calls.
10369         (gst_message_new_element): New message type.
10370
10371         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10372
10373         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10374         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10375         times.
10376
10377         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10378         NO_PREROLL from gst_element_change_state to fall through.
10379
10380 2005-10-07  Wim Taymans  <wim@fluendo.com>
10381
10382         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10383         (gst_ghost_pad_do_activate_push):
10384         Activating a ghostpad with no internal pad in push mode
10385         is ok.
10386
10387 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10388
10389         * gst/gstobject.h:
10390           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10391           Fixes compilation on Windows.
10392
10393 2005-10-07  Michael Smith <msmith@fluendo.com>
10394
10395         * tools/gst-inspect.c:
10396           Print out feature and plugin count at the end when printing out
10397           all features.
10398
10399 2005-10-04  Michael Smith <msmith@fluendo.com>
10400
10401         * gst/gsterror.c: (_gst_stream_errors_init):
10402           Add another error string used in a few existing plugins.
10403
10404         * gst/gstplugin.c:
10405         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10406         * tools/gst-inspect.c: (print_element_info):
10407           When a feature disappears from a plugin (and the feature exists in
10408           the cached registry file), things went horribly wrong. This isn't a
10409           complete fix, we should actually be removing the 'missing' features
10410           from the features list when we load the actual plugin. That's not
10411           yet implemented. 
10412
10413 2005-10-04  Johan Dahlin  <johan@gnome.org>
10414
10415         * check/gst/gstiterator.c: (GST_START_TEST):
10416         * gst/gstbin.c: (gst_bin_iterate_elements),
10417         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10418         * gst/gstelement.c: (gst_element_iterate_pads):
10419         * gst/gstformat.c: (gst_format_iterate_definitions):
10420         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10421         (gst_iterator_new_list), (gst_iterator_filter):
10422         * gst/gstiterator.h:
10423         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10424         Add a GType to GstIterator, update callsites and tests.
10425
10426 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10427
10428         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10429           give events a chance to be handled by event probes when the pad
10430           is not linked
10431
10432 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * gst/gstevent.c: (gst_event_type_get_name),
10435         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10436         * gst/gstevent.h:
10437           add string representations for event types
10438
10439 2005-10-06  Wim Taymans  <wim@fluendo.com>
10440
10441         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10442         Don't use NULL pointers.
10443
10444 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10445
10446         * gst/gst_private.h:
10447         * gst/gstbus.c:
10448         * gst/gstelement.c:
10449         * gst/gstinfo.c:
10450         * gst/gstpluginfeature.c:
10451           widen the debug category in output to fit the biggest one we have
10452           add a bus category and use it
10453           play with the colors
10454           fix up some categories
10455
10456 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10457
10458         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10459           add push activation of sink ghost pads.
10460           Andye, please verify
10461
10462 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10463
10464         * gst/gstutils.c: (gst_element_link_pads):
10465           fix a bug in the case where neither element has a pad
10466         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10467           add a test for that case
10468
10469 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10470
10471         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10472           emit have-data before checking for peers.  This allows
10473           for probe handlers to connect elements.  This helps autopluggers.
10474         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10475         (gst_pad_suite):
10476           add six checks, linked/unlinked with no/true/false probe
10477
10478 2005-10-04  Wim Taymans  <wim@fluendo.com>
10479
10480         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10481         (gst_fake_sink_event), (gst_fake_sink_preroll),
10482         (gst_fake_sink_render), (gst_fake_sink_change_state):
10483         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10484         (gst_fake_src_get_property), (gst_fake_src_create),
10485         (gst_fake_src_stop):
10486         * gst/elements/gstidentity.c: (gst_identity_stop):
10487         Protect last_message with lock.
10488
10489 2005-10-04  Edward Hervey  <edward@fluendo.com>
10490
10491         * gst/gstformat.h: 
10492         Added precision in the comments for GST_FORMAT_DEFAULT
10493
10494 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10495
10496         * tools/gst-launch.c: (main):
10497           Don't try to run erroneous pipelines.
10498
10499 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10500
10501         * gst/gstbus.c: We don't need this header.
10502
10503 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10504
10505         * configure.ac:
10506           back to development
10507
10508 === release 0.9.3 ===
10509
10510 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10511
10512         * README:
10513         * configure.ac:
10514           Releasing 0.9.3, "Unregistered"
10515
10516 2005-10-03  Andy Wingo  <wingo@pobox.com>
10517
10518         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10519         whereby calling a pad's activatepush() function can start a thread
10520         that starts to push or pull before the pad gets the FLUSHING flag
10521         unset. Hack around it by holding the stream lock until the flag is
10522         set. Need to replace this with a proper solution. Together with
10523         the ghost pad fixes, this fixes mp3 playing/tagreading.
10524
10525         * docs/design/part-gstghostpad.txt: Add a note about activation of
10526         proxy pads outside of ghost pads.
10527
10528         * gst/gstghostpad.c: Implement the ghost pad activation design.
10529
10530 2005-10-02  Andy Wingo  <wingo@pobox.com>
10531
10532         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10533         It is volatile, after all.
10534
10535         * docs/design/part-gstghostpad.txt: Flesh out activation with
10536         ghost pads.
10537
10538         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10539         GST_DEBUG_FUNCPTR.
10540
10541 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10542
10543         * configure.ac:
10544           Fix (unused) AM_CONDITIONAL tests.
10545
10546 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10547
10548         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10549
10550         * gst/gstutils.c: (gst_pad_query_convert):
10551           Add assertion that makes sure src_val is >=0, just like
10552           gst_query_new_convert() has. (#315895)
10553
10554 2005-09-30  Edward Hervey  <edward@fluendo.com>
10555
10556         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10557         Let's not iterate pads we're not interested in, it avoids getting 
10558         sky-high refcounts on sinkpad.
10559
10560 2005-09-30  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/gstelement.c: (gst_element_set_state),
10563         (gst_element_change_state):
10564         Small tweak, element in ASYNC remains ASYNC.
10565
10566 2005-09-30  Wim Taymans  <wim@fluendo.com>
10567
10568         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10569         Only error is an error.
10570
10571         * gst/gstbin.c: (gst_bin_change_state):
10572         Better debugging.
10573
10574         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10575         Also call pad_block in pad alloc.
10576
10577         * gst/gstutils.c: (gst_flow_get_name):
10578         Better debugging.
10579
10580 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10581
10582         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10583         (gst_base_src_get_range):
10584           Fix documentation typos. Add some more debug info.
10585
10586 2005-09-29  David Schleef  <ds@schleef.org>
10587
10588         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10589           more end-user friendly.
10590         * tools/gst-inspect.c: (main): Check if command-line argument is
10591           a file and attempt to load that file as a plugin.
10592
10593 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * check/gst/gstbin.c:
10596         * check/states/sinks.c:
10597           fix tests for the new warning
10598         * check/gst/gstpipeline.c:
10599           add a test for pipeline and bus interaction
10600         * gst/gstelement.c:
10601           elements should be NULL if they get disposed; add a warning if not
10602
10603 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * gst/gstobject.c:
10606           for 2.6 refcounting, make debug log more correct by printing
10607           the actual refcounts at the time of swap (Wim)
10608
10609 2005-09-29  Andy Wingo  <wingo@pobox.com>
10610
10611         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10612         removes signal watches previously added via
10613         gst_bus_add_signal_watch.
10614         (gst_bus_add_signal_watch): Don't return the source id, just store
10615         it on the bus if there wasn't an id already.
10616
10617         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10618         add_signal_watch and remove_signal_watch.
10619
10620 2005-09-29  Edward Hervey  <edward@fluendo.com>
10621
10622         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10623         Better if we actually iterate the list :)
10624
10625 2005-09-29  Wim Taymans  <wim@fluendo.com>
10626
10627         * check/gst/gstbin.c: (GST_START_TEST):
10628         Change for new bus API.
10629
10630         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10631         (send_messages), (GST_START_TEST), (gstbus_suite):
10632         Change for new bus signal API.
10633
10634         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10635         (gst_bus_source_prepare), (gst_bus_source_check),
10636         (gst_bus_create_watch), (gst_bus_add_watch_full),
10637         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10638         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10639         * gst/gstbus.h:
10640         Remove support for multiple GSources operating on different
10641         message types as it is too complex and unneeded when using
10642         signals.
10643         Added support for receiving signals from the bus.
10644
10645 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10646
10647         * docs/libs/tmpl/gstdataprotocol.sgml:
10648         * docs/manual/advanced-dataaccess.xml:
10649         * gst/elements/gstcapsfilter.c:
10650         * gst/gstutils.c:
10651           rename filter-caps to caps property
10652
10653 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10654
10655         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10656           More robust fraction string parsing.
10657
10658         * docs/pwg/appendix-porting.xml:
10659           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10660
10661 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10662
10663         * gst/gstcaps.c: (gst_caps_do_simplify):
10664           Thou shalt not free a structure and then continue using it
10665           in the next loop iteration.
10666
10667         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10668         (gst_caps_suite):
10669           Add test case for caps simplification.
10670
10671 2005-09-29  Wim Taymans  <wim@fluendo.com>
10672
10673         * check/gst/gstbin.c: (GST_START_TEST):
10674         Oops.
10675
10676 2005-09-29  Wim Taymans  <wim@fluendo.com>
10677
10678         * check/gst/gstbin.c: (GST_START_TEST):
10679         Add bus to bin.
10680
10681         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10682         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10683         (find_element), (gst_bin_sort_iterator_next),
10684         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10685         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10686         (gst_bin_change_state), (gst_bin_dispose):
10687         A bin does not have a bus, it gets the bus from the parent.
10688
10689         * gst/gstelement.c: (gst_element_requires_clock),
10690         (gst_element_provides_clock), (gst_element_is_indexable),
10691         (gst_element_is_locked_state), (gst_element_change_state),
10692         (gst_element_set_bus_func):
10693         Small cleanups.
10694
10695         * gst/gstpipeline.c: (gst_pipeline_class_init),
10696         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10697         The pipeline provides a bus.
10698
10699 2005-09-28  Johan Dahlin  <johan@gnome.org>
10700
10701         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10702         gst_structure_get_enum instead of gst_structure_get_int
10703
10704         * gst/gststructure.c (gst_structure_get_enum): Impl.
10705
10706         * gst/gststructure.h (gst_structure_get_enum): Add
10707
10708         * docs/gst/gstreamer-sections.txt: Ditto
10709
10710         * gst/gstmessage.c (gst_message_new_state_changed): Use
10711         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10712         which does introspection.
10713         Reviewed by Christian Schaller
10714
10715 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10716
10717         * gst/gstinfo.c: (gst_debug_log_default):
10718           don't do dummy g_strdup()s
10719         * libs/gst/controller/gstcontroller.c:
10720         (on_object_controlled_property_changed),
10721         (gst_controlled_property_new), (gst_controller_new_valist),
10722         (gst_controller_new_list),
10723         (gst_controller_remove_properties_valist), (gst_controller_set),
10724         (gst_controller_get), (gst_controller_sync_values),
10725         (gst_controller_get_value_array), (_gst_controller_class_init),
10726         (gst_controller_get_type):
10727         * libs/gst/controller/gstcontroller.h:
10728         * libs/gst/controller/gstinterpolation.c:
10729         (gst_controlled_property_find_timed_value_node):
10730           convert // to /**/ comments
10731
10732 2005-09-28  Wim Taymans  <wim@fluendo.com>
10733
10734         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10735         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10736         (gst_bus_sync_signal_handler):
10737         * gst/gstbus.h:
10738         Added async-message and sync-message signals to the bus.
10739         Added helper BusFunc to emit signals for all posted messages.
10740
10741         * gst/gstmessage.c: (gst_message_type_get_name),
10742         (gst_message_type_to_quark), (gst_message_get_type):
10743         * gst/gstmessage.h:
10744         Register quarks for message names.
10745
10746 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10747
10748         * docs/libs/gstreamer-libs-sections.txt:
10749         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10750         (gst_controller_new_list):
10751         * libs/gst/controller/gstcontroller.h:
10752           added another constructor for language bindings
10753
10754 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10757           add another check
10758         * gst/gstbus.c:
10759           add some doc
10760         * gst/gstinfo.c: (_gst_debug_init):
10761           slightly more readable color for refcount debugging
10762
10763 2005-09-28  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10766         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10767         (find_element), (gst_bin_sort_iterator_next),
10768         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10769         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10770         (gst_bin_change_state), (gst_bin_dispose):
10771         Small doc fixes. get_clock -> provide_clock.
10772
10773         * gst/gstelement.c: (gst_element_class_init),
10774         (gst_element_provides_clock), (gst_element_provide_clock),
10775         (gst_element_get_clock), (gst_element_commit_state),
10776         (gst_element_lost_state):
10777         * gst/gstelement.h:
10778         Make get/set_clock() symetric. Add provide_clock vmethod since
10779         that is actually what this function does.
10780
10781         * gst/gstpipeline.c: (gst_pipeline_class_init),
10782         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10783         (gst_pipeline_get_clock):
10784         get_clock -> provide_clock.
10785
10786 2005-09-28  Andy Wingo  <wingo@pobox.com>
10787
10788         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10789         lieu of real docs...
10790
10791         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10792
10793 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10794
10795         * gst/elements/gstcapsfilter.c:
10796         * gst/elements/gstfakesink.c:
10797         * gst/elements/gstfakesrc.c:
10798         * gst/elements/gstfdsink.c:
10799         * gst/elements/gstfdsrc.c:
10800         * gst/elements/gstfilesink.c:
10801         * gst/elements/gstfilesrc.c:
10802         * gst/elements/gstidentity.c:
10803         * gst/elements/gsttee.c:
10804         * gst/elements/gsttypefindelement.c:
10805           Make element details static.
10806
10807 2005-09-28  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10810         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10811         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10812         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10813         (gst_bin_change_state), (gst_bin_dispose):
10814         Some documentation updates.
10815         Clean up dispose handlers.
10816
10817         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10818         * gst/gstpad.c: (gst_pad_dispose):
10819         Clean up dispose handler.
10820
10821         * gst/gstpipeline.c: (gst_pipeline_change_state):
10822         Removed spurious UNLOCK.
10823
10824 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10825
10826         * docs/gst/gstreamer-sections.txt:
10827         * gst/base/gstbasesrc.h:
10828         * gst/gstelement.h:
10829         * gst/gstevent.h:
10830         * gst/gstobject.h:
10831         * gst/gstpad.h:
10832         * gst/gstpipeline.c:
10833         * gst/gstpipeline.h:
10834         * gst/gstutils.h:
10835         * gst/gstxml.h:
10836           added two new functions to the docs
10837                 documents all undocumented GstXXXFlags
10838                 completed some incomplete docs 
10839
10840 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * gst/gstbin.c: (gst_bin_dispose):
10843         * gst/gstelement.c: (gst_element_dispose):
10844           remove now useless and leaky resurrection code in dispose
10845         * gst/base/gstbasesrc.c: (gst_base_src_init):
10846         * gst/gstelementfactory.c: (gst_element_factory_create):
10847         * gst/gstobject.c: (gst_object_set_parent):
10848           add some debugging
10849
10850 2005-09-27  Wim Taymans  <wim@fluendo.com>
10851
10852         * docs/design/part-TODO.txt:
10853         Update TODO.
10854
10855         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10856         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10857         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10858         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10859         (gst_bin_change_state):
10860         * gst/gstelement.h:
10861         Remove element variable, we keep element info in the iterator now.
10862
10863 2005-09-27  Andy Wingo  <wingo@pobox.com>
10864
10865         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10866         values.
10867
10868 2005-09-27  Wim Taymans  <wim@fluendo.com>
10869
10870         * check/gst/gstbin.c: (GST_START_TEST):
10871         Enable check that works now.
10872
10873         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10874         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10875         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10876         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10877         (gst_bin_change_state):
10878         * gst/gstbin.h:
10879         Redid the state change algorithm using a topological sort algo.
10880         Handles all cases correctly.
10881         Exposed iterator for state change order.
10882
10883         * gst/gstelement.h:
10884         Temp storage for state changes. Need to get rid of this soon.
10885
10886 2005-09-27  Wim Taymans  <wim@fluendo.com>
10887
10888         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10889         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10890         (link_fold_func), (gst_pad_proxy_setcaps):
10891         Leak fixes, the fold functions need to unref the passed object and
10892         _get_parent_*() returns ref to parent.
10893
10894 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10895
10896         * check/gst/gstbuffer.c: (test_make_writable):
10897           Plug leak in test case and fix 'make check-valgrind'
10898
10899 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10900
10901         * gst/gstbuffer.c: (gst_subbuffer_init):
10902           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10903           works correctly in all circumstances (we could have just copied
10904           the parent buffer's readonly flag, but conceptually it seems
10905           cleaner to mark all subbuffers as read-only). (based on patch
10906           by Alessandro Decina, #314710).
10907         
10908         * check/gst/gstbuffer.c: (create_read_only_buffer),
10909         (test_make_writable), (test_subbuffer_make_writable),
10910         (gst_test_suite):
10911           Add some tests for gst_buffer_make_writable().
10912
10913 2005-09-27  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10916         use gst_object_has_ancestor().
10917
10918         * gst/gstobject.c: (gst_object_has_ancestor):
10919         * gst/gstobject.h:
10920         gst_object_has_ancestor() copied from gstbin.c as it is a
10921         usefull function.
10922
10923         * tests/instantiate/create.c: (create_all_elements):
10924         * tests/lat.c: (handoff_src), (handoff_sink):
10925         * tests/sched/runxml.c: (main):
10926         * tests/seeking/seeking1.c: (main):
10927         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10928         (main):
10929         Fix compilation of some tests.
10930
10931 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10932
10933         * gst/gsterror.h:
10934           Remove comment. GST_TYPE_G_ERROR is here to stay,
10935           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10936           (#316961, #300610).
10937
10938 2005-09-26  Wim Taymans  <wim@fluendo.com>
10939
10940         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10941         Added check that shows error in state change order.
10942
10943 2005-09-26  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstbin.c: (gst_bin_change_state):
10946         Make state change function use 3 queues again, we were
10947         adding elements in the wrong order.
10948
10949         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10950         Some debug info,
10951
10952         * gst/gstpad.c: (gst_pad_dispose):
10953         Added some debug info first.
10954
10955 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10956
10957         * docs/design/draft-push-pull.txt:
10958         * docs/design/part-events.txt:
10959         * docs/design/part-overview.txt:
10960         * docs/design/part-scheduling.txt:
10961           Replace all _pull_region() with _pull_range()
10962           
10963 2005-09-26  Andy Wingo  <wingo@pobox.com>
10964
10965         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10966
10967         * check/gst-libs/controller.c: Update for controller api change.
10968
10969         * configure.ac: 
10970         * tests/Makefile.am:
10971         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10972         over by GLib bug 118439.
10973         
10974         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10975         routines to a function.
10976
10977         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10978
10979         * libs/gst/controller/gsthelper.c:
10980         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10981         (gst_object_sync_values): Renamed from sink_values. Ugh.
10982
10983         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10984
10985         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10986         Renamed from controller_key, as it is exported.
10987
10988         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10989
10990 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10991
10992         * gst/Makefile.am:
10993         * gst/gst.h:
10994         * gst/gstpad.h:
10995         * gst/gstpadtemplate.h:
10996         * gst/gstquery.c:
10997         * gst/gstquery.h:
10998         * gst/gstqueryutils.c:
10999         * gst/gstqueryutils.h:
11000           remove queryutils headers after moving the two used functions
11001           to gstquery.  also fixes build problem for gstsiddec
11002
11003 2005-09-26  Michael Smith <msmith@fluendo.com>
11004
11005         * tools/gst-launch.1.in:
11006         Correct documentation in manpage of debug syntax
11007
11008 2005-09-26  Wim Taymans  <wim@fluendo.com>
11009
11010         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11011         (gst_base_src_is_seekable), (gst_base_src_change_state):
11012         Some more debugging info.
11013
11014 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11015
11016         * docs/gst/gstreamer-sections.txt:
11017         * gst/base/gstbasetransform.h:
11018         * gst/gstindex.h:
11019           added more docs
11020
11021 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11022
11023         * docs/gst/.cvsignore:
11024         * docs/gst/tmpl/.cvsignore:
11025         * docs/gst/tmpl/gstpipeline.sgml:
11026         * docs/gst/tmpl/gstplugin.sgml:
11027         * gst/gstpipeline.c:
11028         * gst/gstplugin.c:
11029         * gst/gstplugin.h:
11030           inlined the last two docs files
11031           removed the tmpl directory from cvs (no more conflicts here!)
11032
11033 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11034
11035         * docs/gst/gstreamer-sections.txt:
11036         * docs/gst/tmpl/.cvsignore:
11037         * docs/gst/tmpl/gstpad.sgml:
11038         * docs/gst/tmpl/gstpadtemplate.sgml:
11039         * gst/Makefile.am:
11040         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11041         (gst_pad_finalize), (gst_pad_set_pad_template):
11042         * gst/gstpad.h:
11043         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11044         (gst_pad_template_class_init), (gst_pad_template_init),
11045         (gst_pad_template_dispose), (name_is_valid),
11046         (gst_static_pad_template_get), (gst_pad_template_new),
11047         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11048         (gst_pad_template_pad_created):
11049         * gst/gstpadtemplate.h:
11050           inlined two more docs
11051           factored gstpadtemplate out of gstpad
11052
11053 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11054
11055         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11056         (test_children_state_change_order_semi_sink):
11057           Fix test case: we can't rely on a fixed state change order when
11058           going from READY => PAUSED because the sink might commit its 
11059           new state first when the first buffer created by the source 
11060           reaches the sink before the source has finished its change state.
11061           (Test case still fails at times, see #316856, comment 5 onwards)
11062
11063 2005-09-24  Wim Taymans  <wim@fluendo.com>
11064
11065         * docs/design/part-events.txt:
11066         * docs/design/part-gstbus.txt:
11067         * docs/design/part-gstpipeline.txt:
11068         * docs/design/part-messages.txt:
11069         * docs/design/part-overview.txt:
11070         * docs/design/part-segments.txt:
11071         * gst/gstbin.c:
11072         * gst/gstbuffer.c:
11073         * gst/gstclock.c:
11074         * gst/gstelement.c:
11075         * gst/gstevent.c:
11076         * gst/gstfilter.c:
11077         * gst/gstiterator.c:
11078         Various documentation updates.
11079
11080 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * gst/gstclock.h:
11083           Well, that's embarassing.  Luckily we weren't using
11084           GST_CLOCK_DIFF anywhere.
11085
11086 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * common/gtk-doc.mak:
11089           don't fail on building XML, FC4 slave shows a bunch of doc
11090           missing bits that I don't get
11091         * gst/gstpad.c:
11092         * gst/gstpipeline.c:
11093         * gst/gststructure.c:
11094           some doc updates
11095
11096 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11097
11098         * docs/design/part-gstbin.txt:
11099         * docs/design/part-gstbus.txt:
11100         * gst/gstbus.c:
11101           Add blurb about how the bus goes into flushing mode and
11102           drops all messages when its bin goes from READY into NULL 
11103           state.
11104
11105 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * docs/gst/gstreamer-sections.txt:
11108         * gst/gststructure.c: (gst_structure_get_clock_time):
11109         * gst/gststructure.h:
11110           add a method to get a GstClockTime out of a structure
11111
11112 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11113
11114         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11115         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11116           Added test to check state change order in bins (can still be made
11117           to fail here under heavy disk load; bails out with 'Push on pad
11118           fakesink:sink0, but it was not activated in push mode').
11119
11120         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11121           Fix state change order when there is only a semi sink (#316856)
11122
11123         * gst/gstbus.c: (gst_bus_class_init):
11124           Use _class_peek_parent(), not _class_ref(); fix docs to say
11125           'default main context' instead of 'mainloop' where that is
11126           what's meant.
11127
11128         * gst/gstelement.c: (gst_element_commit_state),
11129         (gst_element_set_state):
11130           Fix typos in debug messages
11131
11132 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11133
11134         * docs/README:
11135         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11136         * gst/gstpluginfeature.c:
11137         * gst/gstutils.c:
11138           various doc updates
11139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11140           change an assert into an error until it gets fixed properly
11141
11142 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11143
11144         * docs/gst/gstreamer-sections.txt:
11145         * docs/gst/tmpl/.cvsignore:
11146         * docs/gst/tmpl/gstelement.sgml:
11147         * docs/gst/tmpl/gstinfo.sgml:
11148         * docs/gst/tmpl/gstobject.sgml:
11149         * gst/gstelement.c:
11150         * gst/gstelement.h:
11151         * gst/gstinfo.c:
11152         * gst/gstinfo.h:
11153         * gst/gstobject.c: (gst_object_class_init):
11154         * gst/gstobject.h:
11155           inlined 3 more biiiig doc files and added some missing docs on the fly
11156
11157 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * check/gst/.cvsignore:
11160         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11161         * gst/gstregistryxml.c: (load_plugin),
11162         (gst_registry_xml_save_plugin):
11163           put back source in registry.  add checks for find_plugin.
11164         * testsuite/states/bin.c: (assert_state), (empty_bin),
11165         (test_adding_one_element), (main):
11166         * testsuite/states/locked.c: (main):
11167           some compile/run fixes
11168
11169 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * check/gst/gstvalue.c: (GST_START_TEST):
11172           fix leaks in the test itself
11173
11174 2005-09-22  Wim Taymans  <wim@fluendo.com>
11175
11176         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11177         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11178         (gst_base_sink_query):
11179         Prepare for more accurate position reporting and query
11180         handling.
11181
11182         * gst/gstelement.c: (gst_element_send_event),
11183         (gst_element_set_state):
11184         Add some comment.
11185
11186 2005-09-22  Wim Taymans  <wim@fluendo.com>
11187
11188         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11189         (gst_query_parse_segment):
11190         * gst/gstquery.h:
11191         More documentation.
11192         Add segment query for future use.
11193
11194 2005-09-22  Wim Taymans  <wim@fluendo.com>
11195
11196         * gst/gstbin.c: (gst_bin_add_func):
11197         Some more debug info.
11198
11199         * gst/gstelement.c: (gst_element_send_event):
11200         Simplify send_event
11201
11202         * gst/gstelement.h:
11203         Don't know how flags got broken.
11204
11205         * gst/gstquery.h:
11206         Added new query.
11207
11208 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11209
11210         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11211           Add simplistic test suite for GST_TYPE_DATE serialisation and
11212           deserialisation.
11213
11214 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11215
11216         * docs/gst/gstreamer-sections.txt:
11217         * gst/gststructure.c: (gst_structure_set_valist),
11218         (gst_structure_get_date):
11219         * gst/gststructure.h:
11220         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11221         (gst_date_copy), (gst_value_compare_date),
11222         (gst_value_serialize_date), (gst_value_deserialize_date),
11223         (gst_value_transform_date_string),
11224         (gst_value_transform_string_date), (_gst_value_initialize):
11225         * gst/gstvalue.h:
11226           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11227           bunch of utility functions along with a hack that checks that
11228           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11229           is required. Part of the grand scheme in #170777.
11230
11231 2005-09-22  Andy Wingo  <wingo@pobox.com>
11232
11233         * gst/gstconfig.h.in: Psych out gtk-doc.
11234
11235         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11236
11237         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11238
11239         * tools/gst-inspect.c (print_element_list): Plug some
11240         inconsequential leaks.
11241
11242         * gst/gstregistry.c (gst_registry_get_default): Doc.
11243
11244         * check/gst/gstplugin.c: 
11245         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11246         * gst/gstelementfactory.c (gst_element_factory_create): 
11247         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11248         refcount changes.
11249
11250         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11251         (gst_plugin_feature_load): Doc, don't eat refs.
11252
11253         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11254         (gst_plugin_list_free): Doc.
11255         (gst_plugin_load_file): Doc updates.
11256
11257         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11258         accessors returning refcounted objects, return a ref.
11259
11260         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11261         accessor for caps. IDEMPOTENCE. Oh yes.
11262
11263 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11264
11265         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11266
11267         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11268         (_gst_debug_register_funcptr):
11269           Add mutex to serialise access to the hash table with
11270           the function pointer => function name string mapping;
11271           make that hash table static scope (#316809).
11272
11273         * gst/registries/.cvsignore:
11274           Remove left-over file.
11275
11276 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11277
11278         * docs/pwg/appendix-porting.xml:
11279           And something about newsegment events and caps-on-buffers to
11280           the porting guide (feel free to improve).
11281
11282 2005-09-21  Andy Wingo  <wingo@pobox.com>
11283
11284         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11285         data and event probes on the same pad.
11286         (test_buffer_probe_once): Test that removing probes from within
11287         the probe functions works.
11288
11289 2005-09-21  Andy Wingo  <wingo@pobox.com>
11290
11291         * check/gst/gstutils.c: New file.
11292         (test_buffer_probe_n_times): A simple buffer probe test. More to
11293         come, foolios.
11294
11295         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11296         have-data::buffer, not have-data.
11297         (gst_pad_add_event_probe): Likewise for have-data::event.
11298         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11299         peer' isn't quite right yet though.
11300         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11301         (gst_pad_remove_data_probe): Change to take the guint handler_id
11302         as their arg, not the function+data, which is more glib-like.
11303
11304         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11305         the signal emission to indicate if the data is a buffer or an
11306         event.
11307         (gst_pad_get_type): Initialize buffer and event quarks.
11308         (gst_pad_class_init): have-data is now a detailed signal, yes it
11309         is.
11310
11311 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11312
11313         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11314         * gst/gstutils.c: (gst_util_set_value_from_string),
11315         (gst_util_set_object_arg):
11316           Don't put functional code in g_return_if_fail() or
11317           g_return_val_if_fail() statements, otherwise things will 
11318           break when G_DISABLE_CHECKS is defined during compilation.
11319
11320 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11321
11322         * docs/gst/tmpl/.cvsignore:
11323         * docs/gst/tmpl/gstvalue.sgml:
11324         * gst/gstvalue.c:
11325         * gst/gstvalue.h:
11326           inlied another one and added  some obvious docs
11327
11328 2005-09-21  Wim Taymans  <wim@fluendo.com>
11329
11330         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11331         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11332         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11333         (gst_fdsrc_get_property), (gst_fdsrc_create):
11334         * gst/elements/gstfdsrc.h:
11335         Properly implement fdsrc. Removed signal and timeout,
11336         better implemented somewhere else.
11337
11338 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11339
11340         * docs/gst/tmpl/.cvsignore:
11341         * docs/gst/tmpl/gstimplementsinterface.sgml:
11342         * gst/gstinterface.c:
11343           inlined more docs
11344
11345 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11346
11347         * docs/gst/gstreamer-sections.txt:
11348         * docs/gst/tmpl/.cvsignore:
11349         * docs/gst/tmpl/gstenumtypes.sgml:
11350           remove obsolete doc file
11351
11352 2005-09-21  David Schleef  <ds@schleef.org>
11353
11354         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11355         little beer, fix a little leak.
11356
11357 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11358
11359         * docs/gst/gstreamer-docs.sgml:
11360         * docs/gst/gstreamer-sections.txt:
11361         * docs/gst/tmpl/.cvsignore:
11362         * gst/Makefile.am:
11363         * gst/gst.h:
11364         * gst/gstbin.c:
11365         * gst/gstelement.h:
11366         * gst/gstindex.c: (gst_index_class_init):
11367         * gst/gstindex.h:
11368         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11369         (gst_index_factory_class_init), (gst_index_factory_init),
11370         (gst_index_factory_finalize), (gst_index_factory_new),
11371         (gst_index_factory_destroy), (gst_index_factory_find),
11372         (gst_index_factory_create), (gst_index_factory_make):
11373         * gst/gstindexfactory.h:
11374         * gst/gstpluginfeature.c:
11375         * gst/gstpluginfeature.h:
11376         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11377           more docs inlined, splitted gstindex.{c,h}
11378
11379 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11382           fix a leak
11383
11384 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11385
11386         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11387           Set sync to FALSE by default.
11388
11389 2005-09-20  Wim Taymans  <wim@fluendo.com>
11390
11391         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11392         (gst_base_sink_init):
11393         Make sync property settable from subclass.
11394
11395         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11396         (gst_fake_sink_change_state):
11397         Set sync to FALSE by default.
11398
11399 2005-09-20  Wim Taymans  <wim@fluendo.com>
11400
11401         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11402         * tools/gst-launch.c: (main):
11403         The timeout handler should have lower priority than the source
11404         so we don't timeout before popping a message with 0 timeout.
11405         Dump error messages after failed state change.
11406
11407 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11408
11409         * tools/gst-inspect.c: (print_element_properties_info):
11410           Fix two typos.
11411
11412 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * check/gst/gstevent.c:
11415         * gst/elements/gstfakesink.c:
11416         * gst/elements/gstfakesink.h:
11417           remove the sync property from fakesink.
11418           has the side effect of setting sync TRUE
11419           for fakesink, which is a change.  Anyone who knows how
11420           to fix this nicely in a GObject-y way, feel free.
11421
11422 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11423
11424         * docs/gst/gstreamer-docs.sgml:
11425           remove probe refsection
11426
11427 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11428
11429         * check/Makefile.am:
11430           disable valgrinding the controller test again
11431         * docs/gst/gstreamer-sections.txt:
11432           update for api-changes
11433
11434 2005-09-20  Wim Taymans  <wim@fluendo.com>
11435
11436         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11437         (gst_base_sink_set_property), (gst_base_sink_get_property),
11438         (gst_base_sink_do_sync):
11439         * gst/base/gstbasesink.h:
11440         Added sync property to basesink to disable clock sync.
11441
11442 2005-09-20  Andy Wingo  <wingo@pobox.com>
11443
11444         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11445         eating the caller's refcount.
11446
11447         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11448         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11449         refcount.
11450
11451         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11452         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11453         of GLib 2.8 public, so we can know which refcount to check in
11454         tests.
11455
11456         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11457         (gst_object_init): Only set the gst refcount if we're going ahead
11458         with the refcount hack.
11459
11460 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11461
11462         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11463         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11464           more leaks plumbed, added more debug-logging
11465         * gst/gstmacros.h:
11466           whitespace fix
11467
11468 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11469
11470         * gst/gstmessage.c:
11471           remove include of gstmemchunk.h
11472
11473 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * gst/gstclock.c: (_gst_clock_id_free):
11476           Commit from the Political Party For More Atomic CVS Commits,
11477           so that people don't waste too much of their day fishing
11478           out obvious leaks out of massive commits.
11479           Oh, and fix a pretty damn obvious leak in the memchunk
11480           removal code.
11481
11482 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11483
11484         * check/Makefile.am:
11485         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11486           plug mem-leak, re-add to valgrindable tests
11487
11488 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * gst/gstplugin.h:
11491           unbreak the build for those who have chronic arthritis
11492           and typing "make check" is just too taxing on the hands
11493
11494 2005-09-20  Andy Wingo  <wingo@pobox.com>
11495
11496         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11497         really want it out, you should fix plugins at the same time.
11498
11499 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11500
11501         * configure.ac:
11502         * docs/gst/gstreamer-sections.txt:
11503         * gst/gstobject.c:
11504           added missing symbols to api docs
11505           disable ref-count hack if we have glib >= 2.8
11506
11507 2005-09-19  David Schleef  <ds@schleef.org>
11508
11509         * docs/gst/Makefile.am: Ignore a few more internal headers
11510         * docs/gst/gstreamer-docs.sgml: Remove old sections
11511         * docs/gst/gstreamer-sections.txt: Remove old sections
11512         * docs/gst/tmpl/gstobject.sgml: update
11513         * docs/gst/tmpl/gstplugin.sgml: update
11514         * docs/gst/tmpl/gstpluginfeature.sgml: update
11515         * docs/random/ds/0.9-suggested-changes: update.
11516         * gst/Makefile.am: remove memchunk and trashstack, since they're
11517           not used.
11518         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11519         * gst/gst.h: don't include some headers
11520         * gst/gstchildproxy.c: add gstmarshal.h
11521         * gst/gstclock.c: Don't use memchunks
11522         * gst/gstminiobject.c: Add some docs
11523         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11524         * gst/gstobject.h: same
11525         * gst/gstplugin.c: include gstmacros.h
11526         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11527         * gst/gstquery.c: don't use memchunks
11528         * gst/gstregistry.c: rename gst_registry_deinit()
11529         * gst/gstregistry.h: same
11530
11531 2005-09-19  David Schleef  <ds@schleef.org>
11532
11533         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11534         * docs/libs/gstreamer-libs-sections.txt:
11535         * docs/libs/tmpl/gstgetbits.sgml:
11536         * docs/libs/tmpl/gstputbits.sgml:
11537
11538 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11539
11540         * win32/gstenumtypes.c:
11541         * win32/gstenumtypes.h:
11542           Update.
11543
11544 2005-09-19  Wim Taymans  <wim@fluendo.com>
11545
11546         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11547         Automatically PAUSE and RESUME a pipeline when a flushing seek
11548         is performed.
11549
11550 2005-09-19  Andy Wingo  <wingo@pobox.com>
11551
11552         * gst/gstregistry.h: Spacing fixen.
11553
11554 2005-09-19  Wim Taymans  <wim@fluendo.com>
11555
11556         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11557         Handle state change failure more correctly.
11558
11559 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11560
11561         * check/Makefile.am:
11562         * check/pipelines/cleanup.c: (run_pipeline):
11563         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11564         (GST_START_TEST):
11565           enable cleanup again after fixing the leak
11566         * docs/README:
11567           some more info on docs
11568
11569 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * check/Makefile.am:
11572           re-enable tests now that leaks are plugged
11573         * check/gst/gst.c:
11574         * check/gst/gstbin.c:
11575         * check/gst/gstpipeline.c:
11576           add some more tests while fixing leaks
11577         * common/check.mak:
11578           make sure binaries are uptodate when valgrinding/gdbing
11579         * gst/gst.c:
11580         * gst/gstelementfactory.c:
11581           remove a ref too many, and add a FIXME for when we get
11582           round to disposing of classes
11583         * gst/gstplugin.c:
11584           fix the refcounting when loading a plugin from a file and
11585           the code pretends that the pointer is the same even though
11586           of course it can change
11587         * gst/gstpluginfeature.c:
11588           unref plugins marked cached (a bit confusing as a name)
11589           as the docs state should be done
11590           various doc additions to explain refcounting
11591         * gst/gstregistry.c:
11592         * gst/gstregistryxml.c:
11593           debugging
11594
11595 2005-09-19  Wim Taymans  <wim@fluendo.com>
11596
11597         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11598         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11599         (send_messages), (GST_START_TEST), (gstbus_suite):
11600         * check/gst/gstpipeline.c: (GST_START_TEST):
11601         * check/pipelines/cleanup.c: (run_pipeline):
11602         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11603         (GST_START_TEST):
11604         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11605         (gst_bus_source_check), (gst_bus_source_dispatch),
11606         (gst_bus_create_watch), (gst_bus_add_watch_full),
11607         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11608         * gst/gstbus.h:
11609         * tools/gst-launch.c: (event_loop):
11610         * tools/gst-md5sum.c: (event_loop):
11611         GstBusHandler -> GstBusFunc, return value has the same meaning as
11612         any other GSource (FALSE == remove source).
11613         _add_watch() and _add_watch_full() now take a MessageType mask to
11614         only handle specific types of messages.
11615         _poll() returns the GstMessage instead of the message type to avoid
11616         race conditions.
11617         _have_pending() takes a MessageType mask now too.
11618         Added testsuite for multiple bus watches.
11619         Fix testsuites and applications for new bus API.
11620
11621 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11622
11623         * check/Makefile.am:
11624           mark a bunch of the tests as to fix until we fix them
11625
11626 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * common/check.mak:
11629           use GST_PLUGIN settings for valgrind tests as well, so we're
11630           valgrinding the correct thing
11631         * gst/gst.c: (init_post):
11632           plug another leak
11633
11634 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11635
11636         * gst/gst.c: (init_post), (gst_deinit):
11637         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11638         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11639         * gst/gstindex.c: (gst_index_factory_class_init),
11640         (gst_index_factory_finalize):
11641         * gst/gstobject.c: (gst_object_dispose):
11642         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11643         (gst_plugin_load_file), (gst_plugin_desc_free):
11644         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11645         (gst_plugin_feature_finalize):
11646         * gst/gstregistry.c: (gst_registry_class_init),
11647         (gst_registry_init), (gst_registry_finalize),
11648         (gst_registry_get_default), (gst_registry_deinit):
11649         * gst/gstregistry.h:
11650         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11651           various cleanups and memleak plugging.  make valgrind is happy now.
11652
11653 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11654
11655         * common/check.mak:
11656           add a check-valgrind target
11657
11658 2005-09-18  David Schleef  <ds@schleef.org>
11659
11660         * tools/gst-inspect.c: Revert the GOption code.
11661
11662 2005-09-17  David Schleef  <ds@schleef.org>
11663
11664         * check/Makefile.am: Fix environment variables.
11665         * check/gst/gstplugin.c: Fix for API changes.
11666         * tools/gst-inspect.c: Fix for API changes.
11667         * tools/gst-xmlinspect.c: Fix for API changes.
11668         * gst/gstelementfactory.c:
11669         * gst/gstplugin.c:
11670         * gst/gstplugin.h:
11671         * gst/gstpluginfeature.c:
11672         * gst/gstpluginfeature.h:
11673         * gst/gstregistry.c:
11674         * gst/gstregistry.h:
11675         * gst/gstregistryxml.c:
11676         * gst/gsttypefind.c:
11677         * gst/gsttypefindfactory.c:
11678         * gst/indexers/gstfileindex.c:
11679         * gst/indexers/gstmemindex.c:
11680         * gst/schedulers/Makefile.am:
11681           Change registry to keep track of both plugins and features,
11682           removing the feature tracking from plugins themselves.
11683
11684 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11685
11686         * check/Makefile.am:
11687         * tools/gst-register.1.in:
11688           remove gst-register
11689
11690 2005-09-15  David Schleef  <ds@schleef.org>
11691
11692         * check/gst/gstplugin.c:
11693         * gst/gstelementfactory.c:
11694         * gst/gstplugin.c:
11695         * gst/gstpluginfeature.c:
11696         * gst/gstregistry.c:
11697           Getting tired of debugging.  Disabled all the unreffing of
11698           plugins and features, which fixes the segfaults, but of
11699           course leaks like crazy.  At least playbin works.
11700
11701 2005-09-15  David Schleef  <ds@schleef.org>
11702
11703         * check/gst/gstplugin.c: (register_check_elements),
11704         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11705         More testing
11706         * gst/elements/gsttypefindelement.c: Fix refcounting.
11707         * gst/gsttypefind.c:
11708         * gst/gsttypefindfactory.c:
11709         * gst/gsttypefindfactory.h:
11710
11711 2005-09-15  David Schleef  <ds@schleef.org>
11712
11713         * gst/gstindex.c: get refcounting correct.
11714         * gst/gstregistry.c: Handle the case where a feature/plugin is
11715           not found.
11716
11717 2005-09-15  David Schleef  <ds@schleef.org>
11718
11719         * check/Makefile.am:
11720         * check/gst/gstplugin.c: Add test
11721         * gst/gstplugin.c: Fix problems noticed by testsuite
11722         * gst/gstplugin.h:
11723         * gst/gstregistry.c: 
11724         * gst/gstregistry.h:
11725
11726 2005-09-15  David Schleef  <ds@schleef.org>
11727
11728         * gst/gstplugin.c: Implement semi-decent recounting and locking
11729           in plugins and plugin features.
11730         * gst/gstplugin.h:
11731         * gst/gstpluginfeature.c:
11732         * gst/gstpluginfeature.h:
11733         * gst/gstregistry.c:
11734
11735 2005-09-15  Michael Smith <msmith@fluendo.com>
11736
11737         * gst/gstregistry.c: (gst_registry_get_feature_list):
11738           Implement this. Makes oggdemux work; decodebin still broken.
11739
11740 2005-09-14  David Schleef  <ds@schleef.org>
11741
11742         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11743           #316076)
11744         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11745         * gst/check/Makefile.am:
11746         * libs/gst/controller/Makefile.am:
11747         * libs/gst/dataprotocol/Makefile.am:
11748
11749 2005-09-14  David Schleef  <ds@schleef.org>
11750
11751         * configure.ac: Remove getbits library.  Nothing uses it, and
11752           it should be in something like liboil if someone did want
11753           to use it.
11754         * libs/gst/Makefile.am:
11755         * libs/gst/getbits/Makefile.am:
11756         * libs/gst/getbits/gbtest.c:
11757         * libs/gst/getbits/getbits.c:
11758         * libs/gst/getbits/getbits.h:
11759         * libs/gst/getbits/gstgetbits_generic.c:
11760         * libs/gst/getbits/gstgetbits_i386.s:
11761         * libs/gst/getbits/gstgetbits_inl.h:
11762
11763 2005-09-14  David Schleef  <ds@schleef.org>
11764
11765         * gst/Makefile.am: Dist glib-compat.h
11766
11767 2005-09-14  David Schleef  <ds@schleef.org>
11768
11769         * configure.ac: Remove gst/registries, since it's no longer used.
11770         * gst/registries/Makefile.am:
11771         * gst/registries/gstlibxmlregistry.c:
11772         * gst/registries/gstlibxmlregistry.h:
11773         * gst/registries/gstxmlregistry.c:
11774         * gst/registries/gstxmlregistry.h:
11775         * gst/registries/registrytest.c:
11776
11777 2005-09-14  David Schleef  <ds@schleef.org>
11778
11779         * gst/glib-compat.h:
11780         * gst/gstregistryxml.c:
11781           Convergence is near.  Seriously.
11782
11783 2005-09-14  David Schleef  <ds@schleef.org>
11784
11785         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11786         * gst/glib-compat.h:
11787           Attempt #4 to appease the buildbots.
11788
11789 2005-09-14  David Schleef  <ds@schleef.org>
11790
11791         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11792           Attempt #3.
11793
11794 2005-09-14  David Schleef  <ds@schleef.org>
11795
11796         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11797         Attempt #2.
11798
11799 2005-09-14  David Schleef  <ds@schleef.org>
11800
11801         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11802           the new functions.
11803
11804 2005-09-14  David Schleef  <ds@schleef.org>
11805
11806         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11807         * gst/glib-compat.h: Add some functions that are in newer versions
11808           of glib than we care to require.
11809         * gst/gstregistryxml.c: Use them.
11810
11811 2005-09-14  David Schleef  <ds@schleef.org>
11812
11813         * po/POTFILES.in: remove gst-register.c
11814
11815 2005-09-14  David Schleef  <ds@schleef.org>
11816
11817         * docs/gst/gstreamer-docs.sgml:
11818         * docs/gst/gstreamer-sections.txt:
11819         * docs/gst/gstreamer.types:
11820         * docs/gst/tmpl/gstelement.sgml:
11821         * docs/gst/tmpl/gstplugin.sgml:
11822         * docs/gst/tmpl/gstpluginfeature.sgml:
11823           Documentation updates for registry changes.
11824
11825 2005-09-14  David Schleef  <ds@schleef.org>
11826
11827         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11828           because we don't require glib-2.8.
11829
11830 2005-09-14  David Schleef  <ds@schleef.org>
11831
11832         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11833           registries directory.
11834
11835 2005-09-14  David Schleef  <ds@schleef.org>
11836
11837         * check/Makefile.am:
11838         * check/generic/states.c:
11839         * gst/Makefile.am:
11840         * gst/gst.c:
11841         * gst/gst.h:
11842         * gst/gst_private.h:
11843         * gst/gstelementfactory.c:
11844         * gst/gstindex.c:
11845         * gst/gstinfo.c:
11846         * gst/gstplugin.c:
11847         * gst/gstplugin.h:
11848         * gst/gstpluginfeature.c:
11849         * gst/gstpluginfeature.h:
11850         * gst/gstregistry.c:
11851         * gst/gstregistry.h:
11852         * gst/gstregistrypool.c: remove
11853         * gst/gstregistrypool.h: remove
11854         * gst/gsttypefind.c:
11855         * gst/gsttypefindfactory.c:
11856         * gst/gsturi.c:
11857         * tools/Makefile.am:
11858         * tools/gst-compprep.c:
11859         * tools/gst-inspect.c:
11860         * tools/gst-register.c: remove
11861         * tools/gst-xmlinspect.c:
11862           Registry rewrite.  Changes registry from being a file created
11863           by a tool into a simple cache file created automatically by 
11864           libgstreamer.  Removed gst-register (because it's no longer
11865           needed).  Remove registry pools, because we only have one
11866           registry implementation (XML).  Fix up other subsystems as
11867           necessary.
11868
11869 2005-09-13  Michael Smith <msmith@fluendo.com>
11870
11871         * gst/gstconfig.h.in:
11872           Don't Use windows linking attributes for MinGW. Fixes #316157
11873
11874 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11875
11876         * gst/gstutils.c: (set_state_async_thread_func),
11877         (gst_element_set_state_async):
11878           Apparently people think it's better if this function doesn't
11879           try to set the state to whatever state was asked for on the first
11880           call to this function for any object.  Seriously.
11881
11882 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11883
11884         * check/gst/gstpipeline.c: (GST_START_TEST):
11885         * docs/gst/gstreamer-sections.txt:
11886         * gst/gstutils.c: (set_state_async_thread_func),
11887         (gst_element_set_state_async):
11888         * gst/gstutils.h:
11889           add a "gst_element_set_state_async" method that
11890           sets the state and starts a thread to make sure the state
11891           change completes as best as it can
11892
11893 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11894
11895         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11896           codify design+behaviour in testsuite after discussion
11897
11898 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11899
11900         * docs/gst/tmpl/gstelement.sgml:
11901         * docs/manual/appendix-quotes.xml:
11902           add a quote
11903         * gst/gstelement.c: (gst_element_set_state):
11904           add some debug
11905
11906 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11907
11908         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11909         (gst_base_transform_prepare_output_buf),
11910         (gst_base_transform_handle_buffer):
11911         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11912         (gst_capsfilter_prepare_buf):
11913           Remove the requirement for sub-classes to call the parent
11914           implementation of prepare_output_buffer with a wrapper function.
11915           
11916         * gst/gsttaglist.h:
11917         * gst/gsttagsetter.h:
11918           Fix #define wrapper
11919
11920 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11921
11922         * docs/gst/gstreamer-sections.txt:
11923           more doc cleanups
11924
11925 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11926
11927         * docs/gst/gstreamer-sections.txt:
11928         * docs/gst/tmpl/gstelement.sgml:
11929         * docs/gst/tmpl/gstplugin.sgml:
11930         * gst/gstminiobject.c:
11931         * gst/gstvalue.h:
11932           docs now stop throwing warnings
11933
11934 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11935
11936         * docs/gst/gstreamer-sections.txt:
11937         * docs/gst/gstreamer.types:
11938         * docs/gst/tmpl/gstpad.sgml:
11939         * docs/gst/tmpl/gsttypes.sgml:
11940         * gst/base/gstadapter.h:
11941         * gst/base/gstbasesink.h:
11942         * gst/base/gstbasesrc.h:
11943         * gst/gstbin.h:
11944         * gst/gstbuffer.h:
11945         * gst/gstbus.h:
11946         * gst/gstcaps.h:
11947         * gst/gstclock.h:
11948         * gst/gstelement.h:
11949         * gst/gstevent.h:
11950         * gst/gstmessage.h:
11951         * gst/gstpad.h:
11952         * gst/gststructure.c:
11953         * gst/registries/gstlibxmlregistry.h:
11954           various documentation fixes
11955
11956 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * docs/gst/gstreamer-sections.txt:
11959         * docs/gst/tmpl/gstvalue.sgml:
11960           rearrange gstvalue section
11961         * gst/gstutils.c: (gst_element_state_get_name):
11962           NONE -> VOID
11963         * gst/gstvalue.c: (_gst_value_initialize):
11964         * gst/gstvalue.h:
11965           doc updates
11966
11967 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11968
11969         * check/gst-libs/controller.c:
11970           Header include fix.
11971         * gst/base/gstbasetransform.c:
11972         (gst_base_transform_default_prepare_buf),
11973         (gst_base_transform_handle_buffer):
11974         * gst/base/gstbasetransform.h:
11975           Some more basetransform changes and fixes to enable sub-classes
11976           that modify buffer metadata only.
11977         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11978         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11979         (gst_capsfilter_prepare_buf):
11980           If the output pad has fixed allowed caps and input buffers 
11981           don't have any, set the fixed caps on outgoing buffers.
11982
11983 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11984         * check/elements/identity.c: (GST_START_TEST):
11985           Make the error a little clearer when the test fails because
11986           identity made a copy of the buffer.
11987         * docs/gst/gstreamer-sections.txt:
11988           New symbols in gstbasetransform.h
11989         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11990         (gst_base_transform_init), (gst_base_transform_transform_size),
11991         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11992         (gst_base_transform_default_prepare_buf),
11993         (gst_base_transform_get_unit_size),
11994         (gst_base_transform_buffer_alloc),
11995         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11996         (gst_base_transform_change_state),
11997         (gst_base_transform_set_passthrough),
11998         (gst_base_transform_set_in_place),
11999         (gst_base_transform_is_in_place):
12000         * gst/base/gstbasetransform.h:
12001           Change BaseTransform to separate in_place operate from same_caps
12002           output. in_place implies that the element can perform the transform
12003           on incoming buffers in-place, even if the caps on the output are
12004           different.
12005           Sub-class elements can now implement special buffer allocation
12006           methods for outgoing buffers if they wish to.
12007           Big documentation addition.
12008         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12009         * gst/elements/gstelements.c:
12010           Changes for basetransform modifications.
12011         * gst/elements/Makefile.am:
12012         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12013           Compile fix. Extra debug output.
12014
12015 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12016
12017         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12018         (gst_pad_suite):
12019           add tests for valid pad naming
12020         * gst/check/gstcheck.c: (gst_check_log_message_func),
12021         (gst_check_log_critical_func):
12022           add ASSERT_WARNING
12023           remove printing of code, it is fragile when the code contains
12024           % and the line number is enough info
12025         * gst/check/gstcheck.h:
12026         * gst/gstpad.c: (gst_pad_template_new):
12027           fix memleaks
12028
12029 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12030
12031         * configure.ac:
12032           say what CHECK flags we use
12033         * docs/libs/gstreamer-libs.types:
12034         * libs/gst/controller/Makefile.am:
12035         * libs/gst/controller/gst-controller.c:
12036         * libs/gst/controller/gst-controller.h:
12037         * libs/gst/controller/gst-helper.c:
12038         * libs/gst/controller/gst-interpolation.c:
12039         * libs/gst/controller/gstcontroller.c:
12040         * libs/gst/controller/gsthelper.c:
12041         * libs/gst/controller/gstinterpolation.c:
12042         * tools/gst-inspect.c: (print_plugin_info):
12043           we don't use dashes in header names
12044
12045 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12046
12047         * check/Makefile.am:
12048         * check/gst/.cvsignore:
12049         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12050         (gst_pipeline_suite), (main):
12051           adding a test for pipelines and state changes
12052         * gst/gstutils.c: (get_state_func):
12053           add some debugging
12054         * gstreamer.spec.in:
12055           fix up spec file
12056
12057 2005-09-08  Michael Smith <msmith@fluendo.com>
12058
12059         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12060         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12061         (gst_file_src_is_seekable), (gst_file_src_get_size),
12062         (gst_file_src_start):
12063         * gst/elements/gstfilesrc.h:
12064           Various fixes for unseekable, unmmapable, and non-normal files, so
12065           that fallback to read() rather than mmap() works.
12066         * gst/gstevent.c: (gst_event_new_newsegment):
12067           Allow newsegment events with segment_start == segment_end, as will
12068           correctly happen if you use filesrc on a zero-size file, for
12069           example.
12070
12071 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12072
12073         * gst/gstplugin.c: (gst_plugin_load_file):
12074           Call g_module_close when we don't load the module
12075
12076         * gst/registries/gstlibxmlregistry.c:
12077         (gst_xml_registry_get_property):
12078           Port leak fix from 0.8
12079
12080 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12081
12082         * docs/gst/gstreamer-docs.sgml:
12083         * docs/gst/tmpl/.cvsignore:
12084         * docs/gst/tmpl/gsttrace.sgml:
12085         * docs/gst/tmpl/gsttrashstack.sgml:
12086         * gst/Makefile.am:
12087         * gst/gst.h:
12088         * gst/gstelement.h:
12089         * gst/gstevent.h:
12090         * gst/gstmessage.c:
12091         * gst/gstmessage.h:
12092         * gst/gsttag.c:
12093         * gst/gsttag.h:
12094         * gst/gsttaginterface.c:
12095         * gst/gsttaginterface.h:
12096         * gst/gsttaglist.c:
12097         * gst/gsttaglist.h:
12098         * gst/gsttagsetter.c:
12099         * gst/gsttagsetter.h:
12100         * gst/gsttrace.c:
12101         * gst/gsttrace.h:
12102         * gst/gsttrashstack.c:
12103           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12104           inlined docs for gsttrace, gsttrashstack
12105
12106 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12107
12108         * gst/Makefile.am:
12109         * gst/elements/gstbufferstore.h:
12110         * gst/elements/gsttypefindelement.c:
12111         * gst/elements/gsttypefindelement.h:
12112         * gst/gst.h:
12113         * gst/gsttypefind.c:
12114         * gst/gsttypefind.h:
12115         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12116         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12117         (gst_type_find_factory_dispose),
12118         (gst_type_find_factory_unload_thyself),
12119         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12120         (gst_type_find_factory_get_caps),
12121         (gst_type_find_factory_get_extensions),
12122         (gst_type_find_factory_call_function):
12123         * gst/gsttypefindfactory.h:
12124         * gst/registries/gstlibxmlregistry.c:
12125         * gst/registries/gstxmlregistry.c:
12126           splitted gsttypefind into gsttypefind, gsttypefindfactory
12127
12128 2005-09-07  Andy Wingo  <wingo@pobox.com>
12129
12130         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12131         condition whereby the pad's task function is entered before the
12132         pad_mode variable was set.
12133
12134 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12135
12136         * gst/gstpad.c: (gst_pad_alloc_buffer):
12137           Catch misbehaving pad_alloc functions that don't
12138           set up caps and do it for them.
12139
12140 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12141
12142         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12143           test for pipe!=NULL
12144         * docs/gst/tmpl/.cvsignore:
12145         * docs/gst/tmpl/gstmemchunk.sgml:
12146         * docs/gst/tmpl/gstparse.sgml:
12147         * docs/gst/tmpl/gsttaglist.sgml:
12148         * docs/gst/tmpl/gsttagsetter.sgml:
12149         * docs/gst/tmpl/gsttypefind.sgml:
12150         * docs/gst/tmpl/gsttypefindfactory.sgml:
12151         * gst/gstmemchunk.c:
12152         * gst/gstparse.c:
12153         * gst/gsttag.c:
12154         * gst/gsttaginterface.c:
12155         * gst/gsttypefind.c:
12156         * gst/gsttypefind.h:
12157           inlined more docs
12158
12159 === release 0.9.2 ===
12160
12161 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12162
12163         * NEWS:
12164         * RELEASE:
12165         * configure.ac:
12166           releasing 0.9.2, "South"
12167
12168 2005-09-05  Andy Wingo  <wingo@pobox.com>
12169
12170         * gst/registries/gstxmlregistry.h:
12171         * gst/registries/gstxmlregistry.c: Um... resurrect...
12172         
12173         * gst/registries/gstxmlregistry.h:
12174         * gst/registries/gstxmlregistry.c: and update to newer API.
12175         Incidentally they should be a bit faster now that they don't have
12176         to parse the caps.
12177         
12178 2005-09-05  Andy Wingo  <wingo@pobox.com>
12179
12180         * gst/registries/gstxmlregistry.h:
12181         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12182         replaced by the libxml registry a while back
12183
12184 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12185
12186         * docs/gst/tmpl/gstplugin.sgml:
12187         * gst/elements/gstelements.c:
12188         * gst/gst.c:
12189         * gst/gstplugin.c: (gst_plugin_register_func),
12190         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12191         (gst_plugin_get_source):
12192         * gst/gstplugin.h:
12193         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12194         (gst_xml_registry_save_plugin):
12195         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12196         (gst_xml_registry_save_plugin):
12197         * tools/gst-inspect.c: (print_plugin_info):
12198           add a "source" plugin description field, to represent the source
12199           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12200           will set it to PACKAGE, which is automake's idea of the name of
12201           the source project.
12202
12203 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12204
12205         * Makefile.am:
12206         * autogen.sh:
12207         * configure.ac:
12208         * docs/Makefile.am:
12209         * docs/faq/Makefile.am:
12210         * docs/gst/tmpl/gstelement.sgml:
12211         * docs/gst/tmpl/gsttypes.sgml:
12212         * docs/htmlinstall.mak:
12213         * docs/manual/Makefile.am:
12214         * docs/pwg/Makefile.am:
12215           reorganize doc build a little
12216           split out docbook and gtk-doc stuff
12217           have two separate --enable's and enable them through autogen
12218           but disable by default in configure (to be similar to other
12219           projects)
12220         * gstreamer.spec.in:
12221           clean up docs install
12222         * po/af.po:
12223         * po/az.po:
12224         * po/ca.po:
12225         * po/cs.po:
12226         * po/de.po:
12227         * po/en_GB.po:
12228         * po/fr.po:
12229         * po/it.po:
12230         * po/nb.po:
12231         * po/nl.po:
12232         * po/ru.po:
12233         * po/sq.po:
12234         * po/sr.po:
12235         * po/sv.po:
12236         * po/tr.po:
12237         * po/uk.po:
12238         * po/vi.po:
12239           translation updates
12240
12241 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12242
12243         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12244           Add comment.
12245           
12246         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12247         (gst_fake_sink_change_state):
12248           Make state change function thread-safe.
12249           
12250         * gst/gstpad.c: (gst_pad_alloc_buffer):
12251           Set offset on generic buffer allocated by fallback.
12252
12253 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12254
12255         * docs/gst/gstreamer-sections.txt:
12256         * docs/gst/tmpl/gstelement.sgml:
12257         * gst/gstpad.c:
12258         * libs/gst/controller/gst-controller.c:
12259         (gst_controlled_property_set_interpolation_mode),
12260         (gst_controlled_property_new),
12261         (gst_controller_find_controlled_property):
12262          run the wingo-magic script against the docs
12263
12264 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12265
12266         * docs/gst/gstreamer-docs.sgml:
12267         * docs/gst/gstreamer-sections.txt:
12268         * docs/gst/tmpl/.cvsignore:
12269         * docs/gst/tmpl/gstelementdetails.sgml:
12270         * docs/gst/tmpl/gstelementfactory.sgml:
12271         * gst/gst.c:
12272         * gst/gstbus.c:
12273         * gst/gstelementfactory.c:
12274         * gst/gstelementfactory.h:
12275           merged elementdetails docs into elementfactory docs
12276           inlined both
12277
12278 2005-09-02  Andy Wingo  <wingo@pobox.com>
12279
12280         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12281         consider this enum an enum and not a flags.
12282
12283 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12284
12285         * docs/gst/gstreamer-docs.sgml:
12286         * docs/gst/tmpl/.cvsignore:
12287         * docs/gst/tmpl/gstghostpad.sgml:
12288         * docs/gst/tmpl/gstiterator.sgml:
12289         * docs/gst/tmpl/gstmacros.sgml:
12290         * docs/gst/tmpl/gstrealpad.sgml:
12291         * docs/gst/tmpl/gstregistry.sgml:
12292         * docs/gst/tmpl/gstregistrypool.sgml:
12293         * docs/gst/tmpl/gststructure.sgml:
12294         * docs/gst/tmpl/gstsystemclock.sgml:
12295         * docs/gst/tmpl/gsttrace.sgml:
12296         * gst/gstghostpad.c:
12297         * gst/gstmacros.h:
12298         * gst/gstmemchunk.c:
12299         * gst/gstmemchunk.h:
12300         * gst/gstqueue.c:
12301         * gst/gstregistry.c:
12302         * gst/gstregistrypool.c:
12303         * gst/gststructure.c:
12304         * gst/gstsystemclock.c:
12305           more docs inlined
12306
12307 2005-09-02  Andy Wingo  <wingo@pobox.com>
12308
12309         * gst/gstelement.h (GstState): Renamed from GstElementState,
12310         changed to be a normal enum instead of flags.
12311         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12312         munged to be GST_STATE_CHANGE_*.
12313         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12314         work with the new state representation.
12315         (GstStateChange): New enumeration of possible state transitions.
12316         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12317         (GstElementClass::change_state): Pass the GstStateChange along as
12318         an argument. Helps language bindings, so they don't have to use
12319         tricky lock-needing macros like GST_STATE_CHANGE ().
12320
12321         * scripts/update-states (file): New script. Run it on a file to
12322         update it for state naming and API changes. Updates files in
12323         place.
12324
12325         * All files updated for the new API.
12326
12327 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12330         * gst/gstutils.c: (gst_util_set_value_from_string),
12331         (gst_util_set_object_arg):
12332           fix a bunch of unchecked return values
12333         * tools/gst-complete.c: (main):
12334         * gstreamer.spec.in:
12335           clean up a little
12336
12337 2005-09-01  Wim Taymans  <wim@fluendo.com>
12338
12339         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12340         (gst_base_sink_event), (gst_base_sink_do_sync),
12341         (gst_base_sink_handle_event):
12342         * gst/base/gstbasesink.h:
12343         Handle newsegments more correctly.
12344
12345         * gst/gstbus.c:
12346         Fix docs.
12347
12348         * gst/gstevent.c: (gst_event_new_newsegment):
12349         A newsegment cannot have a start_time of -1
12350
12351 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12352
12353         * win32/gstenumtypes.c:
12354         * win32/gstenumtypes.h:
12355           Update
12356
12357 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12358
12359         * libs/gst/controller/gst-controller.c:
12360         (gst_controlled_property_set_interpolation_mode),
12361         (gst_controlled_property_new):
12362          fixed boolean again
12363
12364 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12365
12366         * docs/faq/gst-uninstalled:
12367           add -good
12368         * gst/gstevent.c:
12369         * gst/gstevent.h:
12370           remove wrong docs
12371         * gst/gstutils.c: (gst_element_link_filtered):
12372         * gst/gstutils.h:
12373           add gst_element_link_filtered
12374
12375 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12376
12377         * docs/gst/gstreamer-docs.sgml:
12378         * docs/gst/gstreamer-sections.txt:
12379         * docs/gst/tmpl/.cvsignore:
12380         * docs/gst/tmpl/gsterror.sgml:
12381         * docs/gst/tmpl/gstfilter.sgml:
12382         * docs/gst/tmpl/gsturihandler.sgml:
12383         * docs/gst/tmpl/gsturitype.sgml:
12384         * docs/gst/tmpl/gstutils.sgml:
12385         * docs/gst/tmpl/gstxml.sgml:
12386         * gst/gsterror.c:
12387         * gst/gsterror.h:
12388         * gst/gstfilter.c:
12389         * gst/gsturi.c:
12390         * gst/gsturitype.c:
12391         * gst/gstutils.c:
12392         * gst/gstxml.c:
12393           inlined more docs, fixed double id-ref
12394
12395 2005-08-31  Wim Taymans  <wim@fluendo.com>
12396
12397         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12398         (gst_base_transform_handle_buffer):
12399         Passthrough elements don't need the caps as they don't care.
12400
12401 2005-08-31  Wim Taymans  <wim@fluendo.com>
12402
12403         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12404         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12405         Don't leak refcounts on buffers.
12406
12407 2005-08-31  Wim Taymans  <wim@fluendo.com>
12408
12409         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12410         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12411         (gst_base_transform_chain), (gst_base_transform_change_state):
12412         * gst/base/gstbasetransform.h:
12413         Handle the case where we are not negotiated more gracefully.
12414
12415 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12416
12417         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12418         (gst_file_src_map_region):
12419           Set READONLY flag on mmap'ed buffers, otherwise
12420           gst_buffer_make_writable() won't work properly (#314708).
12421
12422 2005-08-31  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12425         passthrough elements can even do inplace on non writable
12426         buffers (as they don't touch them).
12427
12428 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12429
12430         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12431         (gst_test_mono_source_set_property),
12432         (gst_test_mono_source_class_init), (GST_START_TEST),
12433         (gst_controller_suite):
12434           more tests (hehe I have the most)
12435         * gst/gstbus.c:
12436           describe popping messages whenusing mulltiple sources
12437         * libs/gst/controller/gst-controller.c:
12438         (gst_controlled_property_set_interpolation_mode),
12439         (gst_controlled_property_new):
12440         * libs/gst/controller/gst-controller.h:
12441         * libs/gst/controller/gst-interpolation.c:
12442           implement boolean properties
12443
12444 2005-08-31  Wim Taymans  <wim@fluendo.com>
12445
12446         * gst/gstminiobject.c: (gst_mini_object_ref):
12447         Cannot assert that the refcount has to be positive
12448         since a disposed object can be resurrected.
12449
12450 2005-08-31  Wim Taymans  <wim@fluendo.com>
12451
12452         * gst/gstpad.c: (gst_pad_init):
12453         Revert change, need to first fix badly behaving 
12454         apps.
12455
12456 2005-08-30  Wim Taymans  <wim@fluendo.com>
12457
12458         * check/elements/fakesrc.c: (setup_fakesrc):
12459         * check/elements/identity.c: (setup_identity):
12460         Activate pads before using them.
12461
12462 2005-08-30  Wim Taymans  <wim@fluendo.com>
12463
12464         * gst/base/gstadapter.c: (gst_adapter_flush):
12465         Flushing out 0 bytes is ok for this function.
12466
12467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12468         no newsegment gives a warning and sets the start/stop to 
12469         invalid.
12470
12471         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12472         (gst_base_transform_set_passthrough):
12473         Some debug info.
12474
12475         * gst/gstminiobject.c: (gst_mini_object_ref):
12476         Check refcount here too.
12477
12478         * gst/gstpad.c: (gst_pad_init):
12479         Pads are initially flushing and refusing data.
12480
12481         * gst/gstutils.c: (gst_element_link_pads_filtered):
12482         When adding a capsfilter element make sure it has the
12483         same state as the parent bin.
12484
12485 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12486
12487         * docs/gst/tmpl/.cvsignore:
12488         * docs/gst/tmpl/gstformat.sgml:
12489         * docs/gst/tmpl/gstversion.sgml:
12490         * gst/gstbus.h:
12491         * gst/gstformat.c:
12492         * gst/gstformat.h:
12493         * gst/gstversion.h.in:
12494           more docs and two more inlined
12495
12496 2005-08-30  Wim Taymans  <wim@fluendo.com>
12497
12498         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12499         Don't sync to clock.
12500
12501 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12502
12503         * docs/gst/gstreamer-sections.txt:
12504           ultral33t func10ns deserve to appear in the docs actually
12505         * docs/gst/tmpl/.cvsignore:
12506         * docs/gst/tmpl/gstcompat.sgml:
12507         * docs/gst/tmpl/gstconfig.sgml:
12508         * gst/check/gstcheck.c:
12509         * gst/gstcompat.h:
12510         * gst/gstconfig.h.in:
12511           inlined more docs
12512
12513 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12514
12515         * docs/gst/tmpl/.cvsignore:
12516         * docs/gst/tmpl/gstquery.sgml:
12517         * docs/gst/tmpl/gstutils.sgml:
12518         * gst/gstquery.c:
12519         * gst/gstquery.h:
12520           inlined and extended docs
12521
12522 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12523
12524         * check/gst-libs/controller.c: (GST_START_TEST),
12525         (gst_controller_suite):
12526           more tests
12527         * docs/gst/tmpl/gstutils.sgml:
12528         * docs/libs/gstreamer-libs-sections.txt:
12529         * docs/libs/tmpl/gstdataprotocol.sgml:
12530           include path fixes
12531         * examples/controller/audio-example.c: (main):
12532           controller example works now
12533         * gst/gstclock.h:
12534           doc fixes
12535         * tools/gst-inspect.c: (print_element_properties_info):
12536           show param spec flags
12537
12538 2005-08-29  Andy Wingo  <wingo@pobox.com>
12539
12540         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12541
12542 2005-08-28  Andy Wingo  <wingo@pobox.com>
12543
12544         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12545         as having two arguments instead of just one. Allows superclasses
12546         to access information on subclasses -- see the terrible for() loop
12547         in gtype.c:g_type_create_instance for the reason why. All callers
12548         changed.
12549
12550 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12551
12552         * docs/design/part-messages.txt:
12553           update info
12554         * docs/gst/tmpl/.cvsignore:
12555         * docs/gst/tmpl/gstcaps.sgml:
12556         * docs/gst/tmpl/gstclock.sgml:
12557         * gst/gstbus.c:
12558         * gst/gstcaps.c:
12559         * gst/gstcaps.h:
12560         * gst/gstclock.c:
12561         * gst/gstclock.h:
12562         * gst/gstmessage.c:
12563           added descriptions for bus and message
12564           inline caps and clock docs
12565
12566 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12567
12568         * gst/gstmessage.c:
12569         * gst/gstmessage.h:
12570           doc fixes
12571
12572 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12573
12574         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12575           fix div-by-zero
12576
12577 2005-08-26  Andy Wingo  <wingo@pobox.com>
12578
12579         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12580         element_set_state's return val.
12581         (test_2_elements): Add test that's been disabled for months.
12582
12583         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12584         can-activate-pull properties.
12585
12586         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12587         can-activate-pull properties. Implement is_seekable so fakesrc can
12588         operate in pull mode.
12589
12590         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12591         properties.
12592         (gst_base_sink_activate, gst_base_sink_activate_pull)
12593         (gst_base_sink_activate_push): Make activation mode choosing work.
12594         Cleanups.
12595         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12596         is right. Make pull mode work. Post an eos before pausing in pull
12597         mode.
12598         (gst_base_sink_change_state): Pay attention to the core's
12599         change_state() return val.
12600         
12601         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12602         has-getrange properties. Cleanups.
12603         
12604         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12605         has_getrange and replace with can_activate_pull and
12606         can_activate_push.
12607
12608         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12609         locking comments. Remove has_loop, has_chain and replace with
12610         can_activate_pull and can_activate_push.
12611
12612 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12613
12614         * configure.ac:
12615         * examples/Makefile.am:
12616         * examples/metadata/Makefile.am:
12617         * examples/metadata/read-metadata.c: (message_loop),
12618         (have_pad_handler), (make_pipeline), (print_tag), (main):
12619           Add metadata reading example that loops over a list of filenames,
12620           dumping any tags found.
12621
12622         * gst/gstbus.c: (gst_bus_dispose):
12623         * gst/gstelement.c: (gst_element_dispose):
12624           Release a few potentially-held references in dispose.
12625
12626 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12627
12628         * docs/gst/tmpl/gstminiobject.sgml:
12629           do *not* add tmpl/*.sgml files to CVS!
12630
12631 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12632
12633         * libs/gst/bytestream/.cvsignore:
12634         * libs/gst/bytestream/Makefile.am:
12635         * libs/gst/bytestream/adapter.c:
12636         * libs/gst/bytestream/adapter.h:
12637         * libs/gst/bytestream/bytestream.c:
12638         * libs/gst/bytestream/bytestream.h:
12639         * libs/gst/bytestream/filepad.c:
12640         * libs/gst/bytestream/filepad.h:
12641           removing obsolete files
12642
12643 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12644
12645         * docs/gst/gstreamer-docs.sgml:
12646         * docs/libs/gstreamer-libs-docs.sgml:
12647           disabed additional index entries again, as this makes docs-gen just
12648           slow and they aren't useful yet
12649         * docs/libs/gstreamer-libs-sections.txt:
12650           little -section.txt cleanup for libs
12651
12652 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12655         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12656           fix up some debugging
12657         (gst_base_transform_get_unit_size),
12658         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12659         (gst_base_transform_handle_buffer):
12660         * gst/base/gstbasetransform.h:
12661           handle and store timed NEWSEGMENT events so that subclasses that
12662           calculate time by counting samples have a segment_start time they
12663           need to add to their timestamps - see audioresample
12664
12665 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12666
12667         * gst/gstbin.h:
12668           removed ';' from the end of macro defs
12669         * docs/gst/gstreamer-docs.sgml:
12670         * docs/gst/gstreamer-sections.txt:
12671         * docs/gst/tmpl/.cvsignore:
12672         * gst/gstbus.h:
12673         * gst/gstelement.c: (gst_element_class_init),
12674         (gst_element_set_state), (activate_pads),
12675         (gst_element_save_thyself):
12676         * gst/gstevent.c: (gst_event_new_newsegment):
12677         * gst/gstevent.h:
12678         * gst/gstiterator.c:
12679         * gst/gstiterator.h:
12680         * gst/gstpad.c:
12681         * gst/gstprobe.h:
12682         * gst/gstutils.c: (gst_pad_query_convert):
12683         * gst/gstutils.h:
12684           fixed parameter name mismatches between source, header and docs
12685           added some more docs, resolved the last batch of unused elements in
12686           docs (now someone needs to doc them)
12687
12688 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12689
12690         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12691         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12692           don't walk through the plugins backwards.  Where is all this
12693           reversed logic coming from ?
12694
12695 2005-08-25  Wim Taymans  <wim@fluendo.com>
12696
12697         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12698         (gst_base_transform_transform_size),
12699         (gst_base_transform_configure_caps),
12700         (gst_base_transform_get_unit_size),
12701         (gst_base_transform_buffer_alloc),
12702         (gst_base_transform_change_state):
12703         * gst/base/gstbasetransform.h:
12704         Cache caps unit_size.
12705         Make sure we cannot negotiate up and downstream at the
12706         same time.
12707
12708 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12709
12710         * gst/gst.c: (init_pre), (init_post):
12711           register the installed plugin path after the env var
12712         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12713         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12714           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12715           directories, so the tests can prefer uninstalled over installed
12716
12717 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12718
12719         * gst/base/gstbasetransform.h:
12720           comment
12721         * gst/gstpad.c:
12722           add to docs
12723
12724 2005-08-25  Wim Taymans  <wim@fluendo.com>
12725
12726         * gst/gstbin.c: (bin_bus_handler):
12727         Be a bit more conservative about the posted message.
12728         
12729         * gst/gstbus.c: (gst_bus_post):
12730         Some cleanups, warn wrong return values.
12731
12732 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12733
12734         * check/gst/gstbin.c: (GST_START_TEST):
12735         * gst/gstbin.c: (bin_bus_handler):
12736         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12737         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12738         (gst_message_new_warning), (gst_message_new_tag),
12739         (gst_message_new_state_changed), (gst_message_new_segment_start),
12740         (gst_message_new_segment_done), (gst_message_new_custom):
12741         * gst/gstmessage.h:
12742         * tools/gst-launch.c: (event_loop):
12743         * tools/gst-md5sum.c: (event_loop):
12744           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12745
12746 2005-08-25  Wim Taymans  <wim@fluendo.com>
12747
12748         * check/generic/states.c: (GST_START_TEST):
12749         Cleanup can be done at the end.
12750
12751         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12752         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12753         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12754         Oh boy.. Thanks for finding this, Thomas. 
12755
12756 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12757
12758         * docs/gst/gstreamer.types:
12759           added missing types
12760
12761 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12762
12763         * docs/gst/gstreamer-docs.sgml:
12764         * docs/gst/gstreamer-sections.txt:
12765         * docs/gst/tmpl/.cvsignore:
12766         * gst/gstbin.c:
12767         * gst/gstiterator.c:
12768         * gst/gstutils.c:
12769         * gst/registries/gstxmlregistry.h:
12770           added missing classes and symbols (123 more to go)
12771           removed removed symbols from section file
12772           fixed many doc-comments
12773
12774 2005-08-24  Wim Taymans  <wim@fluendo.com>
12775
12776         * check/generic/states.c: (GST_START_TEST):
12777         Make sure all tasks are stopped.
12778
12779         * check/gst/gstbin.c: (GST_START_TEST):
12780         Unref after usage for proper valgrinding.
12781
12782         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12783         Really wait for the task to stop before destroying the
12784         mutex.
12785
12786         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12787         (gst_queue_src_activate_push):
12788         Small cleanups. Don't stop the task when we did not start
12789         it.
12790
12791         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12792         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12793         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12794         (gst_task_join):
12795         * gst/gsttask.h:
12796         Protect the stream lock with the object lock.
12797         Disallow setting the stream lock when running.
12798         Add cleanup_all to wait for the threadpool to finish.
12799         Remove code to autoallocate a mutex if none was provided.
12800         Add _join() to wait for a task to stop.
12801         Protect the thread pool with a global lock.
12802
12803 2005-08-24  Wim Taymans  <wim@fluendo.com>
12804
12805         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12806         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12807         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12808         * gst/base/gstbasesink.h:
12809         Handle newsegment events correctly.
12810         Drop buffers out of the segment range.
12811
12812 2005-08-22  Andy Wingo  <wingo@pobox.com>
12813
12814         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12815         macro, implements an interface and gstimplementsinterface for a
12816         new type.
12817
12818 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12819
12820         * check/Makefile.am:
12821         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12822           add a test that does a bunch of state changes on elements
12823           needs some fixing for valgrind
12824         * check/states/sinks.c: (gst_object_suite):
12825           whitespace
12826         * gst/gstcaps.h:
12827           add prototype for gst_caps_is_equal_fixed
12828         * gst/gstplugin.c:
12829         * gst/gstregistrypool.c:
12830           doc fixes
12831
12832 2005-08-24  Andy Wingo  <wingo@pobox.com>
12833
12834         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12835         convert a negative value. Doesn't make much sense. Mostly this is
12836         here to force callers to ensure -1 maps to -1.
12837
12838 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12839
12840         * docs/pwg/advanced-types.xml:
12841           Well done to Michael for catching my deliberate introduction
12842           of this spelling mistake. 
12843         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12844         * gst/gstelement.h:
12845           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12846           unlink pads before removing the element from the bin.
12847
12848 2005-08-24  Andy Wingo  <wingo@pobox.com>
12849
12850         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12851         the same thing as GST_DEBUG=*:4.
12852         (parse_debug_level, parse_debug_category): New helper parsers.
12853
12854 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12855
12856         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12857         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12858         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12859         (gst_base_transform_buffer_alloc),
12860         (gst_base_transform_handle_buffer):
12861           use gboolean return values and pointers to size so we can use the
12862           full GST_BUFFER_SIZE range (guint) for buffer sizes
12863           use GstPadDirection for transform_caps
12864         * gst/base/gstbasetransform.h:
12865           rename get_size to get_unit_size since that's what it is
12866         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12867           use GstPadDirection for transform_caps
12868         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12869         * gst/gstutils.h:
12870           cleanup and debugging
12871
12872 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12873
12874         * gst/gstelement.c: (gst_element_class_init),
12875         (gst_element_set_state), (activate_pads),
12876         (gst_element_save_thyself):
12877         * tools/gst-compprep.c: (main):
12878         * tools/gst-inspect.c: (print_element_properties_info):
12879         * tools/gst-xmlinspect.c: (print_element_properties):
12880           Fixed long standing mem-leak
12881
12882 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12883
12884         * check/gst/gstbin.c: (GST_START_TEST):
12885         * gst/gstbin.c: (bin_bus_handler):
12886         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12887         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12888         (gst_message_new_warning), (gst_message_new_tag),
12889         (gst_message_new_state_changed), (gst_message_new_segment_start),
12890         (gst_message_new_segment_done), (gst_message_new_custom):
12891         * gst/gstmessage.h:
12892         * tools/gst-launch.c: (event_loop):
12893         * tools/gst-md5sum.c: (event_loop):
12894           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12895           that applications can sensibly post custom messages with references
12896           to their own objects.
12897
12898 2005-08-24  Andy Wingo  <wingo@pobox.com>
12899
12900         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12901         already.
12902
12903 2005-08-24  Wim Taymans  <wim@fluendo.com>
12904
12905         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12906         (gst_base_transform_transform_caps),
12907         (gst_base_transform_transform_size),
12908         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12909         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12910         (gst_base_transform_handle_buffer):
12911         * gst/base/gstbasetransform.h:
12912         Many fixes and new features added by Thomas. Can now also do
12913         transforms with variable sizes and a custom fixate_caps function.
12914
12915 2005-08-24  Wim Taymans  <wim@fluendo.com>
12916
12917         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12918         Some debugging.
12919
12920         * gst/gstclock.h:
12921         Cast to ClockTime before formatting to time.
12922
12923         * gst/gstutils.h:
12924         Cleanups.
12925
12926 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * check/gst-libs/controller.c: (GST_START_TEST),
12929         (gst_controller_suite):
12930         * docs/gst/tmpl/gstcaps.sgml:
12931         * docs/gst/tmpl/gstghostpad.sgml:
12932         * docs/gst/tmpl/gstquery.sgml:
12933         * docs/gst/tmpl/gstutils.sgml:
12934         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12935         (gst_object_sink_values), (gst_object_get_value_arrays),
12936         (gst_object_get_value_array):
12937           gracefully handle helper method calls to objects that are not beeing
12938           controlled, added test case for that          
12939
12940 2005-08-23  Wim Taymans  <wim@fluendo.com>
12941
12942         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12943         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12944         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12945         (gst_event_parse_qos), (gst_event_new_seek),
12946         (gst_event_parse_seek):
12947         * gst/gstevent.h:
12948         Some more debugging output and doc cleanups.
12949
12950         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12951         Fix possible deadlock.
12952
12953 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12954
12955         * docs/gst/gstreamer-docs.sgml:
12956         * docs/gst/gstreamer-sections.txt:
12957         * docs/gst/gstreamer.types:
12958         * docs/gst/tmpl/.cvsignore:
12959         * gst/gstbin.h:
12960         * gst/gstbus.c:
12961         * gst/gstelement.c:
12962         * gst/gstevent.h:
12963           added 100 symbols from gstreamer-unused.txt to the right sections
12964           fixed more broken comments
12965           added GstBus to docs
12966
12967 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12968
12969         * docs/gst/gstreamer-sections.txt:
12970         * docs/gst/tmpl/.cvsignore:
12971         * docs/gst/tmpl/gstbin.sgml:
12972         * docs/gst/tmpl/gstbuffer.sgml:
12973         * gst/base/gstbasesrc.c:
12974         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12975         * gst/gstbuffer.c:
12976         * gst/gstbuffer.h:
12977         * tools/gst-launch.1.in:
12978           inlined more doc comments, added missing comments and fixed comments
12979           fixed typos
12980
12981 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12982
12983         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12984           some debugging
12985         * gst/gstcaps.h:
12986           whitespace fixes
12987         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12988           more debugging
12989         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12990         * gst/gststructure.h:
12991           add a fixate function for booleans; add a FIXME that these func
12992           names should probably be gst_structure_fixate_*
12993
12994 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12995
12996         * docs/gst/gstreamer-docs.sgml:
12997         * docs/gst/gstreamer-sections.txt:
12998         * gst/Makefile.am:
12999         * gst/gstbin.c: (gst_bin_get_type),
13000         (gst_bin_child_proxy_get_child_by_index),
13001         (gst_bin_child_proxy_get_children_count),
13002         (gst_bin_child_proxy_init):
13003         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13004         (gst_child_proxy_get_child_by_index),
13005         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13006         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13007         (gst_child_proxy_get), (gst_child_proxy_set_property),
13008         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13009         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13010         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13011         * gst/gstchildproxy.h:
13012         * gst/parse/grammar.y:
13013         * tools/gst-inspect.c: (print_interfaces),
13014         (print_element_properties_info), (print_element_info):
13015           ported gstchildproxy over from 0.8
13016           ported gst-inspect fixes and enhancements over from 0.8
13017
13018 2005-08-22  Wim Taymans  <wim@fluendo.com>
13019
13020         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13021         (gst_base_transform_handle_buffer):
13022         Also call the transform function if we have ANY caps.
13023
13024         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13025         Fix debug info.
13026
13027 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13028
13029         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13030           Don't pretend to handle seek events if the source is not seekable
13031
13032 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13033
13034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13035           Remove extra parameter to debug output
13036
13037         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13038         (gst_base_src_do_seek), (gst_base_src_activate_push):
13039           Fix seek event handling.
13040
13041         * gst/gstpipeline.c: (gst_pipeline_change_state):
13042         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13043         (gst_queue_src_activate_push):
13044           Don't start the src pad task on FLUSH_STOP if the pad
13045           isn't linked.
13046           Debug changes.
13047
13048 2005-08-22  Wim Taymans  <wim@fluendo.com>
13049
13050         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13051         Added check for gst_static_caps_get() refcounting.
13052
13053 2005-08-22  Wim Taymans  <wim@fluendo.com>
13054
13055         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13056         Make _static_caps_get() refcounting sane.
13057         
13058         * gst/gstelement.c: (gst_element_set_state):
13059         Add g_return_val_if_fail() to protect against segfaults.
13060
13061 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13062
13063         * docs/gst/tmpl/gstevent.sgml:
13064         * gst/gstevent.c:
13065         * gst/gstevent.h:
13066           inlined remaining docs, added missing doc comments
13067
13068 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13069
13070         * check/gst/gstbin.c: (GST_START_TEST):
13071           since we don't know when preroll is done, use refcount range
13072           check for the sink
13073         * gst/check/gstcheck.h:
13074           add macro for checking refcount range
13075
13076 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13077
13078         * check/Makefile.am:
13079           clean up environment for when registry gets built versus
13080           when actual tests are run; valgrind seems to not report
13081           leaks if GST_PLUGIN_PATH is set to some specific values
13082         * check/gst/gstbin.c: (GST_START_TEST):
13083           add more refcounting checks; maybe this exposes a
13084           preroll lock bug ?
13085         * common/check.mak:
13086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13087         * gst/check/gstcheck.h:
13088         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13089         (gst_bin_change_state):
13090         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13091           add/fix debugging/whitespace
13092
13093 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13094
13095         * check/gst/gstevent.c: (event_probe), (test_event),
13096         (GST_START_TEST):
13097          Er, don't call gst_bin_watch_for_state_change you idiot.
13098
13099 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13100
13101         * check/Makefile.am:
13102           Use CHECK_CFLAGS and CHECK_LIBS
13103         * check/gst/gstevent.c: (event_probe), (test_event),
13104         (GST_START_TEST):
13105           Don't leak events.
13106         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13107         (gst_base_src_start), (gst_base_src_stop),
13108         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13109         (gst_base_src_change_state):
13110           Sprinkle gst_base_src_stop liberally around error paths to fix
13111           problems reusing a source after failed state changes.
13112         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13113         (helper_find_suggest), (gst_type_find_helper):
13114           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13115         * gst/gstevent.h:
13116         * docs/gst/tmpl/gstevent.sgml:
13117           Migrate part of the docs from the SGML file. Wait for ensonic to
13118           tell me how I did it wrong ;)
13119         * tools/gst-typefind.c: (main):
13120           Extra robustness to state changes between files.
13121
13122 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13123
13124         * check/Makefile.am:
13125           don't valgrind the controller test - it's leaking - Stefan, HELP
13126         * gst/check/gstcheck.c: (gst_check_message_error),
13127         (gst_check_chain_func), (gst_check_setup_element),
13128         (gst_check_teardown_element), (gst_check_setup_src_pad),
13129         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13130         (gst_check_teardown_sink_pad):
13131         * gst/check/gstcheck.h:
13132           add a bunch of methods to set up elements, and src and sink pads
13133         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13134         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13135         (GST_START_TEST):
13136           use them
13137         * gst/gstmessage.c:
13138         * gst/gsttag.h:
13139           whitespace/doc fixes
13140
13141 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13142
13143         * gst/gstelement.h:
13144           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13145           be handled by the application and not always printed as well
13146
13147 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13148
13149         * check/Makefile.am:
13150           set GST_TOOLS_DIR
13151         * gst/check/gstcheck.c: (gst_check_message_error):
13152         * gst/check/gstcheck.h:
13153           add a fail_unless_equals_int
13154           add fail_unless for error messages
13155
13156 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * check/Makefile.am:
13159         * check/gst.supp:
13160         * common/Makefile.am:
13161         * common/check.mak:
13162         * common/gst.supp:
13163           factor out some of the common stuff so we can use it
13164
13165 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13166
13167         * check/Makefile.am:
13168         * check/gst/gstiterator.c: (GST_START_TEST):
13169         * check/gst/gstsystemclock.c: (GST_START_TEST),
13170         (gst_systemclock_suite):
13171         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13172         * gst/gstclock.c:
13173           valgrind more tests
13174
13175 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13176
13177         * check/elements/.cvsignore:
13178         * check/elements/gstfakesrc.c:
13179           rename to name of element
13180         * check/elements/identity.c: (chain_func), (event_func),
13181         (setup_identity), (cleanup_identity), (GST_START_TEST),
13182         (identity_suite), (main):
13183           add a test for identity
13184         * check/Makefile.am:
13185         * pkgconfig/Makefile.am:
13186         * pkgconfig/gstreamer-check.pc.in:
13187         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13188         * gst/check:
13189         * gst/Makefile.am:
13190         * configure.ac:
13191           move the check stuff to a library that gets installed
13192         * check/gst-libs/controller.c: (GST_START_TEST):
13193         * check/gst-libs/gdp.c:
13194         * check/gst/gst.c: (GST_START_TEST):
13195         * check/gst/gstbin.c:
13196         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13197         * check/gst/gstbus.c:
13198         * check/gst/gstcaps.c: (GST_START_TEST):
13199         * check/gst/gstelement.c:
13200         * check/gst/gstghostpad.c:
13201         * check/gst/gstiterator.c:
13202         * check/gst/gstmessage.c:
13203         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13204         * check/gst/gstobject.c:
13205         * check/gst/gstpad.c: (GST_START_TEST):
13206         * check/gst/gststructure.c: (GST_START_TEST):
13207         * check/gst/gstsystemclock.c: (GST_START_TEST),
13208         (gst_systemclock_suite):
13209         * check/gst/gsttag.c: (gst_tag_suite):
13210         * check/gst/gstvalue.c:
13211         * check/pipelines/cleanup.c:
13212         * check/pipelines/simple_launch_lines.c:
13213         * check/states/sinks.c:
13214           change include statement
13215
13216         * docs/gst/gstreamer-sections.txt:
13217         * docs/gst/tmpl/gstpad.sgml:
13218           document more pad stuff
13219         * gst/gstminiobject.c: (gst_mini_object_ref),
13220         (gst_mini_object_unref):
13221           debug refcounting
13222
13223 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13224
13225         * docs/gst/tmpl/gst.sgml:
13226         * gst/gst.c:
13227           eliminate another tmpl file, fix spelling in the long-description
13228
13229 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13230
13231         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13232         (test_event), (timediff), (gstevents_suite):
13233           Should fix build on 64-bit arch's
13234
13235 2005-08-18  Andy Wingo  <wingo@pobox.com>
13236
13237         Make sure that when a pipeline goes to PLAYING, that data has
13238         actually hit the sink.
13239
13240         * check/states/sinks.c (test_sink): A sink that doesn't get any
13241         data shouldn't return SUCCESS for going to either PLAYING or
13242         PAUSED. Test also the return values on the way back down.
13243
13244         * gst/gstelement.c (gst_element_set_state): When changing the
13245         state of an element currently changing state asynchronously, go to
13246         lost-state after commiting the pending state. Makes future calls
13247         to get_state continue to return ASYNC.
13248
13249         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13250         ASYNC when going to PLAYING if we still don't have preroll, as can
13251         happen with live sources.
13252
13253 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13254
13255         * docs/pwg/advanced-types.xml:
13256           Hack long paragraph into 2 chunks as a workaround for buggy
13257           jadetex version in sid and breezy that loops infinitely and
13258           eats all RAM.
13259
13260 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13261
13262         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13263         (test_event), (timediff), (gstevents_suite):
13264           Provide more error margin in clock measurements to allow for 
13265           g_get_current_time inaccuracies.
13266
13267 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13268
13269         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13270         (test_event), (timediff), (gstevents_suite):
13271            Fix error message output so I might be able to tell why the
13272            test works here but fails on the build farm.
13273
13274 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13275
13276         * check/Makefile.am:
13277         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13278         (test_event), (timediff), (gstevents_suite), (main):
13279           I wrote a test!
13280
13281         * docs/design/part-seeking.txt:
13282           Spelling correction
13283
13284         * docs/gst/tmpl/gstevent.sgml:
13285         * docs/gst/tmpl/gstfakesrc.sgml:
13286           Docs updates.
13287
13288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13289           Treat a buffer-without-newsegment the same as a receiving 
13290           a newsegment not in time format, and disable syncing to the clock
13291           with a warning.
13292
13293         * gst/gstbus.c: (gst_bus_set_sync_handler):
13294           Assert if anyone tries to replace the existing sync_handler for bus, 
13295           as only the owner should be setting it.
13296
13297         * gst/gstevent.h:
13298           Have a fixed set of custom event enums with events identified by
13299           their structure name (as in 0.8), rather than a free-for-all
13300           allowing collisions between enum values from different plugins.
13301
13302         * gst/gstpad.c: (gst_pad_class_init):
13303           Docs change.
13304           
13305         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13306           Handle out-of-band downstream events from the sending thread.
13307
13308 2005-08-17  Andy Wingo  <wingo@pobox.com>
13309
13310         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13311         play-timeout==0 to mean no timeout at all. In that case, don't
13312         bother with a get_state or a warning, just return directly, even
13313         if it's ASYNC.
13314
13315         * gst/base/gstbasetransform.c: Debug changes.
13316
13317         * gst/gstutils.h:
13318         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13319         ensure bins post state change messages. A bit of a hack but I can't
13320         think of a way to avoid it.
13321
13322         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13323
13324 2005-08-16  Andy Wingo  <wingo@pobox.com>
13325
13326         * gst/base/gstadapter.h:
13327         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13328         peek() but you own the data. Not terribly efficient atm.
13329
13330 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13331
13332         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13333         (gst_element_found_tags):
13334         * gst/gstutils.h:
13335           Add two utility functions for tag handling.
13336
13337 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13338
13339         * docs/manual/advanced-dataaccess.xml:
13340         * docs/manual/basics-helloworld.xml:
13341           Fix docs to use _bin_add() before _link(), which fixes the examples
13342           with recent core versions (reported by Madhan Raj M
13343           <raj_madan@rediffmail.com>, #313199).
13344
13345 2005-08-16  Wim Taymans  <wim@fluendo.com>
13346
13347         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13348         Added subtract checks.
13349
13350         * docs/design/part-events.txt:
13351         Some more docs about newsegment
13352
13353         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13354         Fix FIXME
13355
13356         * gst/gstcaps.c: (gst_caps_to_string):
13357         Add comments, cleanups.
13358         
13359         * gst/gstelement.c: (gst_element_save_thyself):
13360         cleanups
13361         
13362         * gst/gstvalue.c: (gst_value_collect_int_range),
13363         (gst_string_unwrap), (gst_value_union_int_int_range),
13364         (gst_value_union_int_range_int_range),
13365         (gst_value_intersect_int_int_range),
13366         (gst_value_intersect_int_range_int_range),
13367         (gst_value_intersect_double_double_range),
13368         (gst_value_intersect_double_range_double_range),
13369         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13370         (gst_value_subtract_int_range_int),
13371         (gst_value_subtract_double_range_double),
13372         (gst_value_subtract_double_range_double_range),
13373         (gst_value_subtract_from_list), (gst_value_subtract_list),
13374         (gst_value_can_compare), (gst_value_compare_fraction):
13375         Cleanups, add comments, remove unneeded asserts.
13376
13377 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13378
13379         * tools/gst-launch.c: (event_loop):
13380           don't convert NULL structures to strings
13381
13382 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13383
13384         * docs/gst/gstreamer-sections.txt:
13385           made some defines private
13386         * docs/gst/tmpl/gstconfig.sgml:
13387         * docs/gst/tmpl/gstqueue.sgml:
13388         * docs/gst/tmpl/gsttaglist.sgml:
13389         * docs/gst/tmpl/gsttypes.sgml:
13390         * docs/gst/tmpl/gstutils.sgml:
13391         * docs/pwg/appendix-porting.xml:
13392         * gst/base/gstbasesink.h:
13393         * gst/base/gstbasesrc.c:
13394         * gst/base/gstbasesrc.h:
13395         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13396         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13397         * gst/gstelement.c: (gst_element_class_init):
13398         * gst/gstpad.c: (gst_pad_class_init):
13399         * gst/gstqueue.c: (gst_queue_class_init):
13400         * gst/gstxml.c: (gst_xml_class_init):
13401           documented all undocumented signal inline
13402         * libs/gst/controller/gst-controller.h:
13403           added padding
13404
13405 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13406
13407         * docs/pwg/appendix-porting.xml:
13408           Document _set_link_function -> _set_setcaps_function.
13409
13410 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13411
13412         * check/Makefile.am:
13413           add a .check target for running the check
13414         * check/gst-libs/controller.c: (GST_START_TEST):
13415           cosmetic fixups
13416         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13417           complete checks for gstbuffer; would be nice if I could get the
13418           gcov stuff to work so I can see if I actually completed gstbuffer.c
13419         * check/gstcheck.h:
13420           add ASSERT_BUFFER_REFCOUNT
13421
13422 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13423
13424         * docs/gst/gstreamer-sections.txt:
13425         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13426         * gst/gsttag.h:
13427           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13428           spew out a warning if a tag that is already registered
13429           is re-registered, unless it is re-registered with a 
13430           different type (#308438).
13431
13432 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13433
13434         * docs/pwg/appendix-porting.xml:
13435         * docs/pwg/building-state.xml:
13436           Add some paragraphs about state changes in 0.9 to the PWG
13437           and the porting guide, in particular about the new meaning
13438           of GST_STATE_PAUSED and how to write state change functions
13439           with concurrent access by multiple threads in mind.
13440
13441 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13442
13443         * docs/gst/gstreamer-docs.sgml:
13444         * docs/libs/gstreamer-libs-docs.sgml:
13445           added deprecation and since indexes
13446         * libs/gst/controller/gst-controller.c:
13447         * libs/gst/controller/gst-helper.c:
13448           added since tags
13449
13450
13451 2005-08-11  Wim Taymans  <wim@fluendo.com>
13452
13453         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13454         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13455         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13456         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13457         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13458         (gst_ghost_pad_set_target):
13459         Actually implement (re)setting the target on a ghostpad
13460         as described in the docs.
13461
13462 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13463
13464         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13465           Check whether GST_DEBUG_NO_COLOR environment variable is
13466           set and disable coloured debug output if that is the case.
13467
13468 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13469
13470         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13471         (gst_type_find_helper):
13472           The memory returned by gst_type_find_peek() needs to
13473           stay valid until the end of a typefind function, and
13474           typefind functions may keep results from different 
13475           offsets around, so we can't just unref the buffer from
13476           the previous _peek(), but have to save all buffers 
13477           returned by _peek() until typefinding is done and only
13478           free them then.
13479
13480 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * docs/gst/gstreamer-sections.txt:
13483         * gst/gstutils.h:
13484           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13485
13486 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13487
13488         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13489           Fix a pretty good memleak.
13490
13491 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13492
13493         * gst/gstiterator.h:
13494           Fix wrong include and 'make distcheck'.
13495
13496 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13497
13498         * gst/gstbin.c: (bin_bus_handler):
13499           Use gst_element_post_message() instead.
13500
13501 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13502
13503         * gst/base/gstadapter.h:
13504         * gst/base/gstbasesink.h:
13505         * gst/base/gstbasesrc.h:
13506         * gst/base/gstbasetransform.h:
13507         * gst/base/gstcollectpads.h:
13508         * gst/base/gstpushsrc.h:
13509         * gst/gstiterator.h:
13510           Add padding to our base elements' class and instance structs and
13511           to GstIterator (you will need to rebuild all plugins and apps!)
13512
13513 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13514
13515         * gst/gstbin.c: (bin_bus_handler):
13516           Make default message forwarding from child->bus to bin->bus
13517           threadsafe and make it not emit warnings if the parent has no bus.
13518
13519 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13520
13521         * gst/gstelement.c: (activate_pads):
13522           On paused->ready, set pad->caps to NULL, as is the documented
13523           behaviour in this state change. Fixes playback of series of
13524           media files when visualization is enabled in Totem.
13525
13526 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13527
13528         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13529           Allow NULL as filter-caps (which means "any").
13530
13531 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13532
13533         * docs/libs/gstreamer-libs-sections.txt:
13534         * libs/gst/controller/gst-controller.c:
13535         * libs/gst/controller/gst-controller.h:
13536         * libs/gst/controller/gst-helper.c:
13537           adding more entries to the docs and fix small doc-bugs
13538
13539 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13540
13541         * docs/gst/gstreamer-docs.sgml:
13542         * docs/gst/gstreamer-sections.txt:
13543         * docs/gst/gstreamer.types:
13544         * docs/gst/tmpl/gstbasesink.sgml:
13545         * docs/gst/tmpl/gstbasesrc.sgml:
13546         * docs/gst/tmpl/gstbasetransform.sgml:
13547         * docs/gst/tmpl/gstfakesrc.sgml:
13548         * gst/base/gstcollectpads.c:
13549         * gst/base/gstcollectpads.h:
13550         * libs/gst/controller/gst-controller.c:
13551         * libs/gst/controller/gst-controller.h:
13552         * libs/gst/controller/gst-helper.c:
13553         * libs/gst/controller/gst-interpolation.c:
13554         * libs/gst/controller/lib.c:
13555           added long/short desc for controller docs
13556           added collectpads base class docs
13557           added correct includes to base-class docs
13558
13559 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13560
13561         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13562         (gst_test_mono_source_set_property),
13563         (gst_test_mono_source_class_init), (GST_START_TEST),
13564         (gst_controller_suite):
13565         * docs/gst/gstreamer-docs.sgml:
13566         * docs/gst/gstreamer-sections.txt:
13567         * docs/gst/gstreamer.types:
13568         * docs/libs/gstreamer-libs-docs.sgml:
13569         * docs/libs/gstreamer-libs-sections.txt:
13570         * gst/base/gstadapter.c:
13571         * libs/gst/controller/gst-controller.c:
13572         (gst_controlled_property_new), (gst_controlled_property_free),
13573         (gst_controller_new_valist),
13574         (gst_controller_remove_properties_valist),
13575         (gst_controller_sink_values), (_gst_controller_finalize):
13576         * libs/gst/controller/gst-controller.h:
13577         * libs/gst/controller/gst-helper.c:
13578         (gst_object_control_properties), (gst_object_uncontrol_properties),
13579         (gst_object_get_controller), (gst_object_set_controller),
13580         (gst_object_sink_values), (gst_object_get_value_arrays),
13581         (gst_object_get_value_array):
13582           more tests (and fixes) for the controller
13583           more docs for the controller
13584           integrated companies docs for the adapter 
13585
13586 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13587
13588         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13589         (GST_START_TEST), (fakesrc_suite):
13590           add tests for sizetype
13591
13592 2005-08-04  Andy Wingo  <wingo@pobox.com>
13593
13594         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13595         fixes buffer_alloc proxying among other things.
13596
13597         * gst/base/gstbasetransform.c:
13598         * gst/base/gstbasetransform.h:
13599         Revert patch to gstbasetransform from 7-28 removing
13600         delay_configure.
13601
13602         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13603         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13604         Semantics changed, should return not the size of the output buffer
13605         but the byte size of a buffer with a given caps.
13606
13607         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13608         debug object.
13609         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13610         out) are not the pad caps until setcaps finishes.
13611         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13612         not-in-place case as well. Deal with changing from in-place to
13613         not-in-place within calling pad_alloc_buffer. Still a bit
13614         concerned about the overhead here...
13615
13616 2005-08-03  Andy Wingo  <wingo@pobox.com>
13617
13618         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13619         fixating is an error.
13620
13621 2005-08-04  Edward Hervey  <edward@fluendo.com>
13622
13623         * gst/base/gstadapter.h: 
13624         Added gst_adapter_get_type() to the header
13625
13626 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13627
13628         * check/Makefile.am:
13629         * check/gst-libs/controller.c:
13630         * libs/gst/controller/gst-controller.c:
13631         (gst_controller_new_valist):
13632           added check test suite for the controller
13633         * gst/base/gstpushsrc.c:
13634           fixed a doc typo
13635
13636 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13637
13638         * docs/gst/Makefile.am:
13639         * docs/gst/gstreamer-docs.sgml:
13640         * docs/gst/gstreamer-sections.txt:
13641         * docs/gst/gstreamer.types:
13642         * docs/gst/tmpl/gstfakesrc.sgml:
13643         * gst/base/README:
13644         * gst/base/gstbasesink.c:
13645         * gst/base/gstbasesink.h:
13646         * gst/base/gstbasesrc.c:
13647         * gst/base/gstbasesrc.h:
13648         * gst/base/gstbasetransform.c:
13649         * gst/base/gstpushsrc.c:
13650         * gst/base/gstpushsrc.h:
13651           add short/long description docs to base classes
13652           add pushsrc to the docs
13653           remove consolidated doc fragments
13654
13655 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13656
13657         * configure.ac:
13658         * docs/libs/Makefile.am:
13659         * docs/libs/gstreamer-libs-docs.sgml:
13660         * docs/libs/gstreamer-libs-sections.txt:
13661         * docs/libs/gstreamer-libs.types:
13662         * examples/Makefile.am:
13663         * examples/controller/.cvsignore:
13664         * examples/controller/Makefile.am:
13665         * examples/controller/audio-example.c: (main):
13666         * libs/gst/Makefile.am:
13667         * libs/gst/controller/.cvsignore:
13668         * libs/gst/controller/Makefile.am:
13669         * libs/gst/controller/gst-controller.c:
13670         (on_object_controlled_property_changed), (gst_timed_value_compare),
13671         (gst_timed_value_find),
13672         (gst_controlled_property_set_interpolation_mode),
13673         (gst_controlled_property_new), (gst_controlled_property_free),
13674         (gst_controller_find_controlled_property),
13675         (gst_controller_new_valist), (gst_controller_new),
13676         (gst_controller_remove_properties_valist),
13677         (gst_controller_remove_properties), (gst_controller_set),
13678         (gst_controller_set_from_list), (gst_controller_unset),
13679         (gst_controller_get), (gst_controller_get_all),
13680         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13681         (gst_controller_get_value_array),
13682         (gst_controller_set_interpolation_mode),
13683         (_gst_controller_finalize), (_gst_controller_init),
13684         (_gst_controller_class_init), (gst_controller_get_type):
13685         * libs/gst/controller/gst-controller.h:
13686         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13687         (g_object_uncontrol_properties), (g_object_get_controller),
13688         (g_object_set_controller), (g_object_sink_values),
13689         (g_object_get_value_arrays), (g_object_get_value_array):
13690         * libs/gst/controller/gst-interpolation.c:
13691         (gst_controlled_property_find_timed_value_node),
13692         (interpolate_none_get), (interpolate_trigger_get),
13693         (interpolate_trigger_get_value_array):
13694         * libs/gst/controller/lib.c: (gst_controller_init):
13695         * pkgconfig/Makefile.am:
13696         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13697         * pkgconfig/gstreamer-control.pc.in:
13698         * testsuite/Makefile.am:
13699         * testsuite/controller/.cvsignore:
13700         * testsuite/controller/Makefile.am:
13701         * testsuite/controller/interpolator.c: (main):
13702           added controller code
13703           removed dparam pc files
13704
13705 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13706         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13707         (gst_collectpads_stop):
13708           Broadcast the condition when shutting down, to make sure we wake all
13709           threads up. Shut down pads on finalize, for safety.
13710
13711 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13712         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13713         (gst_base_transform_handle_buffer),
13714         (gst_base_transform_change_state):
13715           Handle PAUSED->READY->PAUSED transition after negotiation
13716           occurred already.
13717         * gst/gstmessage.c: (gst_message_init):
13718           Extra piece of debug for new messages.
13719
13720 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13721
13722         * configure.ac:
13723         * docs/gst/tmpl/gstbasesrc.sgml:
13724         * docs/gst/tmpl/gstelement.sgml:
13725         * docs/gst/tmpl/gstevent.sgml:
13726         * docs/gst/tmpl/gstfakesrc.sgml:
13727         * docs/gst/tmpl/gstformat.sgml:
13728         * docs/gst/tmpl/gstghostpad.sgml:
13729         * docs/gst/tmpl/gstpad.sgml:
13730         * docs/gst/tmpl/gstquery.sgml:
13731         * docs/gst/tmpl/gststructure.sgml:
13732         * docs/gst/tmpl/gsttaglist.sgml:
13733         * docs/gst/tmpl/gstvalue.sgml:
13734         * docs/libs/gstreamer-libs-docs.sgml:
13735         * docs/libs/gstreamer-libs-sections.txt:
13736         * docs/libs/gstreamer-libs.types:
13737         * libs/gst/Makefile.am:
13738         * libs/gst/control/.cvsignore:
13739         * libs/gst/control/Makefile.am:
13740         * libs/gst/control/control.c:
13741         * libs/gst/control/control.h:
13742         * libs/gst/control/dparam.c:
13743         * libs/gst/control/dparam.h:
13744         * libs/gst/control/dparam_smooth.c:
13745         * libs/gst/control/dparam_smooth.h:
13746         * libs/gst/control/dparamcommon.h:
13747         * libs/gst/control/dparammanager.c:
13748         * libs/gst/control/dparammanager.h:
13749         * libs/gst/control/dplinearinterp.c:
13750         * libs/gst/control/dplinearinterp.h:
13751         * libs/gst/control/unitconvert.c:
13752         * libs/gst/control/unitconvert.h:
13753         * testsuite/Makefile.am:
13754         * testsuite/dynparams/.cvsignore:
13755         * testsuite/dynparams/Makefile.am:
13756         * testsuite/dynparams/dparamstest.c:
13757         * tools/Makefile.am:
13758         * tools/gst-inspect.c: (print_element_info), (main):
13759         * tools/gst-xmlinspect.c: (print_element_info), (main):
13760           deactivate and remove dparams (libgstcontrol)
13761
13762 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13763
13764         * gst/elements/gsttypefindelement.c:
13765         (gst_type_find_element_have_type), (gst_type_find_element_init),
13766         (stop_typefinding), (gst_type_find_element_handle_event),
13767         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13768         * gst/elements/gsttypefindelement.h:
13769           Set caps on all outgoing buffers, not just the first one.
13770
13771 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13772
13773         * gst/elements/gsttypefindelement.c:
13774         (gst_type_find_element_have_type),
13775         (gst_type_find_element_check_set_buffer_caps),
13776         (gst_type_find_element_init), (stop_typefinding),
13777         (gst_type_find_element_handle_event),
13778         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13779         * gst/elements/gsttypefindelement.h:
13780           Set caps on first outgoing buffer when we've found the type.
13781
13782 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13783
13784         * docs/gst/gstreamer-docs.sgml:
13785         * docs/gst/gstreamer-sections.txt:
13786         * docs/gst/tmpl/gstscheduler.sgml:
13787         * docs/gst/tmpl/gstschedulerfactory.sgml:
13788           Remove some old cruft from docs.
13789
13790 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13791
13792         * gst/gstpad.h:
13793           Fix inline docs for GstPadLinkReturn.
13794           
13795         * gst/gststructure.c: (gst_structure_has_name):
13796         * gst/gststructure.h:
13797         * docs/gst/gstreamer-sections.txt:
13798           New API: gst_structure_has_name().
13799
13800 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13801
13802         * configure.ac:
13803           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13804           and _LARGEFILE_SOURCE in config.h as required. Do not 
13805           export those flags in our .pc files any longer (#142209).
13806
13807           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13808
13809         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13810         (gst_file_sink_do_seek), (gst_file_sink_event),
13811         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13812           Redo seek/tell calls with large file support in mind; add some
13813           debugging messages; add log message that tells us when large
13814           file support is unavailable or not enabled for some reason.
13815
13816         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13817           Add log message that tells us when large file support 
13818           is unavailable or not enabled for some reason.
13819
13820 2005-07-29  Wim Taymans  <wim@fluendo.com>
13821
13822         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13823         Added test for removing an element with ghostpad from a bin.
13824         Fixed test as current implementation does the right thing.
13825
13826         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13827         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13828         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13829         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13830         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13831         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13832         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13833         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13834         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13835         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13836         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13837         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13838         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13839         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13840         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13841         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13842         * gst/gstghostpad.h:
13843         Clean up ghostpads, remove properties for internal stuff.
13844         Make threadsafe.
13845         Fix refcounting.
13846         Prepare for switching targets, not all use cases work yet.
13847
13848 2005-07-29  Wim Taymans  <wim@fluendo.com>
13849
13850         * docs/design/part-gstghostpad.txt:
13851         Small update.
13852
13853         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13854         (gst_bin_remove_func):
13855         Unlinking pads while holding the bin LOCK is not a good
13856         idea.
13857
13858         * gst/gstpad.c: (gst_pad_class_init),
13859         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13860         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13861         No prob setting template after creating the pad.
13862
13863 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13864
13865         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13866         (gst_bus_peek), (gst_bus_source_dispatch),
13867         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13868         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13869           gst_bus_poll may be called from other threads. Handle
13870           this nicely by not making poll_data disappear off the
13871           stack once gst_bus_poll returns.
13872           gst_bus_peek now increments the refcount on the returned
13873           message.
13874
13875 2005-07-29  Wim Taymans  <wim@fluendo.com>
13876
13877         * docs/design/part-gstghostpad.txt:
13878         Overview of current GhostPad datastructures and use
13879         cases for changing the target.
13880
13881 2005-07-28  Wim Taymans  <wim@fluendo.com>
13882
13883         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13884         Added checks for hierarchy consistency whan adding linked
13885         elements to bins.
13886
13887         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13888         Added check to test element scheduling without bin/pipeline.
13889
13890         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13891         First add elements to bin, then link.
13892         
13893         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13894         (gst_bin_remove_func):
13895         Unlink pads from elements added/removed from bin to maintain
13896         hierarchy consistency.
13897
13898 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13899
13900         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13901         (gst_base_transform_handle_buffer):
13902         * gst/base/gstbasetransform.h:
13903           Remove broken delay_configure (fixes renegotiation of software
13904           scaling pipelines); remove some leftover printf()s.
13905
13906 2005-07-28  Wim Taymans  <wim@fluendo.com>
13907
13908         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13909         Added some more tests for wrong hierarchy
13910
13911         * docs/design/part-overview.txt:
13912         Some updates.
13913
13914         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13915         Cleanups.
13916
13917         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13918         (gst_element_dispose):
13919         Some more cleanups.
13920
13921         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13922         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13923         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13924         (gst_pad_set_caps), (gst_pad_send_event):
13925         Check for correct hierarchy when linking pads. Moving to
13926         strict requirement for ghostpads when linking elements in
13927         different bins.
13928
13929         * gst/gstpad.h:
13930         Clean ups. Added WRONG_HIERARCHY return value.
13931
13932 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13933
13934         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13935           Better debug if no transform is possible.
13936
13937 2005-07-27  Wim Taymans  <wim@fluendo.com>
13938
13939         * docs/random/wtay/network-transp:
13940         Some old doc I had.
13941
13942 2005-07-27  Wim Taymans  <wim@fluendo.com>
13943
13944         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13945         (gst_dp_event_from_packet):
13946         Fix serialization of seek events.
13947
13948 2005-07-27  Wim Taymans  <wim@fluendo.com>
13949
13950         * check/gst-libs/gdp.c: (GST_START_TEST):
13951         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13952         Fix compilation and fix event serialization.
13953
13954 2005-07-27  Wim Taymans  <wim@fluendo.com>
13955
13956         * CHANGES-0.9:
13957         * docs/design/part-TODO.txt:
13958         * docs/design/part-events.txt:
13959         Some docs updates
13960
13961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13962         (gst_base_sink_event), (gst_base_sink_do_sync),
13963         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13964         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13965         (gst_base_src_do_seek), (gst_base_src_event_handler),
13966         (gst_base_src_loop):
13967         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13968         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13969         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13970         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13971         (gst_base_transform_set_passthrough),
13972         (gst_base_transform_is_passthrough):
13973         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13974         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13975         Event updates.
13976
13977         * gst/gstbuffer.h:
13978         Use faster casts.
13979
13980         * gst/gstelement.c: (gst_element_seek):
13981         * gst/gstelement.h:
13982         Update gst_element_seek.
13983
13984         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13985         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13986         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13987         (gst_event_new_eos), (gst_event_new_newsegment),
13988         (gst_event_parse_newsegment), (gst_event_new_tag),
13989         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13990         (gst_event_parse_qos), (gst_event_new_seek),
13991         (gst_event_parse_seek), (gst_event_new_navigation):
13992         * gst/gstevent.h:
13993         Make GstEvent use GstStructure. Add parsing code, make sure the
13994         API is sufficiently generic.
13995         Mark possible directions of events and serialization.
13996
13997         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13998         (_gst_message_copy), (gst_message_new_segment_start),
13999         (gst_message_new_segment_done), (gst_message_new_custom),
14000         (gst_message_parse_segment_start),
14001         (gst_message_parse_segment_done):
14002         Small cleanups.
14003
14004         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14005         (gst_pad_set_caps), (gst_pad_send_event):
14006         Update for new events. 
14007         Catch events sent in wrong directions.
14008
14009         * gst/gstqueue.c: (gst_queue_link_src),
14010         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14011         (gst_queue_handle_src_query):
14012         Event updates.
14013
14014         * gst/gsttag.c:
14015         * gst/gsttag.h:
14016         Remove event code from this file.
14017
14018         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14019         (gst_dp_event_from_packet):
14020         Event updates.
14021
14022 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14023
14024         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14025         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14026         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14027           Make debugging actually useful.
14028
14029 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14030
14031         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14032         (gst_pad_fixate_caps):
14033           Implement default fixation once again, so that gst_pad_fixate()
14034           actually does anything at all. This probably needs to be some
14035           sort of a last resort, and use profile-based fixation first, but
14036           since that doesn't exist yet, this is the best we have. Fixes
14037           visualization in Totem.
14038
14039 2005-07-22  Wim Taymans  <wim@fluendo.com>
14040
14041         * docs/design/part-events.txt:
14042         Small update.
14043
14044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14045         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14046         (gst_base_sink_activate_pull):
14047         Some more comments.
14048
14049         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14050         (gst_fake_src_create):
14051         Fix handoff marshall.
14052
14053         * gst/elements/gstidentity.c: (gst_identity_class_init),
14054         (gst_identity_transform_ip):
14055         We're a real inplace element.
14056
14057         * gst/gstbus.c: (gst_bus_post):
14058         Added some comments.
14059
14060         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14061         * tests/muxing/case1.c: (main):
14062         * tests/sched/dynamic-pipeline.c: (main):
14063         * tests/sched/interrupt1.c: (main):
14064         * tests/sched/interrupt2.c: (main):
14065         * tests/sched/interrupt3.c: (main):
14066         * tests/sched/runxml.c: (main):
14067         * tests/sched/sched-stress.c: (main):
14068         * tests/seeking/seeking1.c: (event_received), (main):
14069         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14070         (main):
14071         * tests/threadstate/threadstate3.c: (main):
14072         * tests/threadstate/threadstate4.c: (main):
14073         * tests/threadstate/threadstate5.c: (main):
14074         Fix the tests.
14075
14076 2005-07-21  Wim Taymans  <wim@fluendo.com>
14077
14078         * docs/design/part-seeking.txt:
14079         Some small additions.
14080
14081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14082         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14083         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14084         * gst/base/gstbasesink.h:
14085         discont values are gint64, handle the math correctly.
14086
14087         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14088         Make the basesrc report error if the source pad is not linked.
14089
14090         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14091         (gst_queue_loop), (gst_queue_handle_src_query),
14092         (gst_queue_src_activate_push):
14093         Make queue collect data even if the srcpad is not linked.
14094         Start pushing out data as soon as it is linked.
14095
14096         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14097         * gst/gstutils.h:
14098         Added gst_flow_get_name() to ease error reporting.
14099
14100 2005-07-20  Wim Taymans  <wim@fluendo.com>
14101
14102         * gst/gstmessage.c: (gst_message_new_segment_start),
14103         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14104         (gst_message_parse_segment_done):
14105         * gst/gstmessage.h:
14106         Added a bunch of messages for advanced seeking.
14107
14108         * gst/parse/grammar.y:
14109         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14110         (gst_dpman_state_changed):
14111         Fix some new-pad -> pad-added signals
14112
14113 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14114
14115         * docs/manual/appendix-porting.xml:
14116         * docs/pwg/appendix-porting.xml:
14117           Document new-pad/state-change signal renames and the FixedList
14118           type rename.
14119
14120 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14121
14122         * docs/manual/advanced-autoplugging.xml:
14123         * docs/manual/basics-helloworld.xml:
14124         * docs/manual/basics-pads.xml:
14125         * docs/random/ds/0.9-suggested-changes:
14126         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14127         * gst/gstelement.h:
14128         * gst/gstevent.h:
14129         * gst/gstformat.h:
14130         * gst/gstquery.h:
14131         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14132         (gst_structure_parse_array), (gst_structure_parse_value):
14133         * gst/gstvalue.c: (gst_type_is_fixed),
14134         (gst_value_list_prepend_value), (gst_value_list_append_value),
14135         (gst_value_list_get_size), (gst_value_list_get_value),
14136         (gst_value_transform_array_string), (gst_value_serialize_array),
14137         (gst_value_deserialize_array), (gst_value_intersect_array),
14138         (gst_value_is_fixed), (_gst_value_initialize):
14139         * gst/gstvalue.h:
14140           GstElement::new-pad -> pad-added, GstElement::state-change ->
14141           state-changed, GstValueFixedList -> GstValueArray, add format and
14142           flags as their own arguments in gst_element_seek() (should improve
14143           "bindeability"), remove function generators since they don't work
14144           under a whole bunch of compilers (they were deprecated already
14145           anyway).
14146
14147 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14148
14149         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14150         (_gst_debug_register_funcptr):
14151         * gst/gstinfo.h:
14152           Fix illegal cast on some platforms (#309253).
14153
14154 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14155
14156         * gst/gstmessage.c: (gst_message_new_custom):
14157         * gst/gstmessage.h:
14158           Add _new_custom, make _new_application a macro to _new_custom.
14159
14160 2005-07-20  Wim Taymans  <wim@fluendo.com>
14161
14162         * gst/base/gstbasesrc.c: (gst_base_src_init),
14163         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14164         * gst/base/gstbasesrc.h:
14165         Add a gboolean to decide when to push out a discont.
14166
14167         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14168         (gst_queue_loop), (gst_queue_handle_src_query),
14169         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14170         (gst_queue_set_property), (gst_queue_get_property):
14171         Some cleanups.
14172
14173         * tests/threadstate/threadstate1.c: (main):
14174         Make a thread test compile and run... very silly..
14175
14176
14177 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14178
14179         * docs/manual/appendix-porting.xml:
14180           Mention removal of libgstgconf-0.9.la and existence of gconf
14181           elements.
14182
14183 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14184
14185         * docs/pwg/advanced-clock.xml:
14186         * docs/pwg/appendix-porting.xml:
14187         * docs/pwg/intro-preface.xml:
14188         * docs/pwg/other-base.xml:
14189         * docs/pwg/other-manager.xml:
14190         * docs/pwg/other-nton.xml:
14191         * docs/pwg/other-ntoone.xml:
14192         * docs/pwg/other-oneton.xml:
14193         * docs/pwg/pwg.xml:
14194           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14195           demuxer), remove n-to-n (was never written), fix some code examples
14196           and links and update the porting section to include all this.
14197
14198 2005-07-19  Wim Taymans  <wim@fluendo.com>
14199
14200         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14201         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14202         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14203         (gst_queue_src_activate_push), (gst_queue_change_state),
14204         (gst_queue_get_property):
14205         * gst/gstqueue.h:
14206         Propagate GstFlowReturn more intelligently upstream and output
14207         an ERROR/EOS when streaming stopped due to fatal error.
14208
14209 2005-07-19  Wim Taymans  <wim@fluendo.com>
14210
14211         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14212         Don't block forever for the state change to complete, the
14213         pipeline already did with a sensible timeout.
14214
14215 2005-07-19  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14218         Make sure we never call the create function is we
14219         got deactivated.
14220
14221 2005-07-19  Andy Wingo  <wingo@pobox.com>
14222
14223         * gst/parse/parse.l: Attempt to solve bug #172815.
14224
14225 2005-07-19  Wim Taymans  <wim@fluendo.com>
14226
14227         * docs/design/part-clocks.txt:
14228         * docs/design/part-events.txt:
14229         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14230         Small docs updates.
14231         Only update the seeking values when we are not
14232         busy streaming.
14233
14234 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14235
14236         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14237           Oops, ignore the result of gst_pad_push_event here.
14238
14239 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14240
14241         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14242         (gst_base_src_activate_push):
14243           Send discont event from the loop function, as pads
14244           aren't activated yet in the activate_push handler.
14245
14246         * gst/gstbin.c: (bin_bus_handler):
14247           Don't leak element name.
14248
14249 2005-07-18  Andy Wingo  <wingo@pobox.com>
14250
14251         * configure.ac: Use AS_LIBTOOL_TAGS.
14252
14253 2005-07-18  Wim Taymans  <wim@fluendo.com>
14254
14255         * docs/gst/gstreamer.types:
14256         Remove deleted types.
14257
14258 2005-07-18  Wim Taymans  <wim@fluendo.com>
14259
14260         * check/elements/gstfakesrc.c: (GST_START_TEST):
14261         * configure.ac:
14262         * gst/Makefile.am:
14263         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14264         (init_popt_callback):
14265         * gst/gst.h:
14266         * gst/gst_private.h:
14267         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14268         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14269         * gst/gstbin.h:
14270         * gst/gstbus.h:
14271         * gst/gstconfig.h.in:
14272         * gst/gstelement.c: (gst_element_class_init),
14273         (gst_element_set_base_time), (gst_element_get_base_time),
14274         (iterator_fold_with_resync), (gst_element_change_state),
14275         (gst_element_dispose), (gst_element_get_bus):
14276         * gst/gstelement.h:
14277         * gst/gstelementfactory.h:
14278         * gst/gsterror.c: (_gst_core_errors_init):
14279         * gst/gsterror.h:
14280         * gst/gstevent.h:
14281         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14282         * gst/gstindex.c:
14283         * gst/gstinfo.c: (_gst_debug_init):
14284         * gst/gstmessage.c: (_gst_message_copy):
14285         * gst/gstmessage.h:
14286         * gst/gstminiobject.h:
14287         * gst/gstobject.c:
14288         * gst/gstobject.h:
14289         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14290         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14291         * gst/gstpad.h:
14292         * gst/gstparse.h:
14293         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14294         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14295         (gst_pipeline_get_last_stream_time):
14296         * gst/gstpipeline.h:
14297         * gst/gstpluginfeature.h:
14298         * gst/gstquery.h:
14299         * gst/gstscheduler.c:
14300         * gst/gstscheduler.h:
14301         * gst/gststructure.h:
14302         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14303         (gst_task_finalize), (gst_task_func), (gst_task_create),
14304         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14305         (gst_task_stop), (gst_task_pause):
14306         * gst/gsttask.h:
14307         * gst/gsttypefind.h:
14308         * gst/gsttypes.h:
14309         * gst/registries/gstlibxmlregistry.c: (load_feature),
14310         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14311         * gst/registries/gstxmlregistry.c:
14312         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14313         * gst/schedulers/threadscheduler.c:
14314         * libs/gst/control/dparammanager.h:
14315         * tools/gst-inspect.c: (print_element_list),
14316         (print_plugin_features), (print_element_features):
14317         * tools/gst-xmlinspect.c: (print_element_list),
14318         (print_plugin_info), (main):
14319         Removed plugable schedulers.
14320         Removed Scheduler/Manager from elements.
14321         Removed gsttypes.h, rearranged includes.
14322         Removed dependency pad<->element, element<>pipeline, and
14323         various others,  fix includes.
14324         implement gst_pad_get_parent() with gst_object_get_parent()
14325         Make GstTask sefcontained.
14326         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14327         timeout.
14328         Fix endless loop in iterator_fold_with_resync.
14329
14330
14331 2005-07-18  Wim Taymans  <wim@fluendo.com>
14332
14333         * gst/Makefile.am:
14334         * gst/gstarch.h:
14335         Remove old file.
14336
14337 2005-07-18  Wim Taymans  <wim@fluendo.com>
14338
14339         * gst/Makefile.am:
14340         No more cothreads.h
14341
14342 2005-07-18  Wim Taymans  <wim@fluendo.com>
14343
14344         * gst/cothreads.c:
14345         * gst/cothreads.h:
14346         Let's remove these.
14347
14348 2005-07-18  Wim Taymans  <wim@fluendo.com>
14349
14350         * docs/design/part-dynamic.txt:
14351         * docs/design/part-events.txt:
14352         * docs/design/part-seeking.txt:
14353         Some more docs in the works.
14354
14355         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14356         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14357         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14358         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14359         (gst_base_transform_handle_buffer),
14360         (gst_base_transform_sink_activate_push),
14361         (gst_base_transform_src_activate_pull),
14362         (gst_base_transform_set_passthrough),
14363         (gst_base_transform_is_passthrough):
14364         Refcounting fixes.
14365
14366         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14367         Cleanups.
14368
14369         * gst/gstevent.c: (gst_event_finalize):
14370         Set SRC to NULL.
14371
14372         * gst/gstutils.c: (gst_element_unlink),
14373         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14374         (gst_pad_proxy_setcaps):
14375         * gst/gstutils.h:
14376         Add _get_parent_element() to get a pads parent as an element.
14377
14378 2005-07-18  Wim Taymans  <wim@fluendo.com>
14379
14380         * check/gst/gstbin.c: (GST_START_TEST):
14381         Remove bogus test.
14382
14383 2005-07-18  Wim Taymans  <wim@fluendo.com>
14384
14385         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14386         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14387         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14388         (gst_base_sink_event), (gst_base_sink_do_sync),
14389         (gst_base_sink_chain), (gst_base_sink_loop),
14390         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14391         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14392         Refcounting fixes.
14393         Fix logic for returning ASYNC when not prerolled.
14394
14395 2005-07-18  Wim Taymans  <wim@fluendo.com>
14396
14397         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14398         Fix nasty refcount bug.
14399
14400 2005-07-16 Philippe Khalaf <burger@speedy.org>
14401
14402         * gst/elements/gstfdsrc.c:
14403         * gst/elements/gstfdsrc.h:
14404         * gst/elements/gstelements.c:
14405         * gst/elements/Makefile.am:
14406         Ported fdsrc to 0.9.
14407
14408 2005-07-16  Wim Taymans  <wim@fluendo.com>
14409
14410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14411         (gst_base_sink_do_sync):
14412         Fix compile error.
14413
14414 2005-07-16  Wim Taymans  <wim@fluendo.com>
14415
14416         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14417         (gst_base_sink_event), (gst_base_sink_get_times),
14418         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14419         * gst/base/gstbasesink.h:
14420         Store and use discont values when syncing buffers as described
14421         in design docs.
14422         
14423         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14424         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14425         (gst_base_src_activate_push):
14426         Push discont event when starting.
14427
14428         * gst/elements/gstidentity.c: (gst_identity_transform):
14429         Small cleanups.
14430
14431         * gst/gstbin.c: (gst_bin_change_state):
14432         Small cleanups in base_time  distribution.
14433
14434         * gst/gstelement.c: (gst_element_set_base_time),
14435         (gst_element_get_base_time), (gst_element_change_state):
14436         * gst/gstelement.h:
14437         Added methods for the base_time of the element.
14438         Some MT fixes.
14439
14440         * gst/gstpipeline.c: (gst_pipeline_send_event),
14441         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14442         (gst_pipeline_get_last_stream_time):
14443         * gst/gstpipeline.h:
14444         MT fixes.
14445         Handle seeking as described in design doc, remove stream_time
14446         hack.
14447         Cleanups clock and stream_time selection code. Added accessors
14448         for the stream_time.
14449         
14450
14451 2005-07-16  Andy Wingo  <wingo@pobox.com>
14452
14453         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14454         (#305291).
14455
14456 2005-07-16  Wim Taymans  <wim@fluendo.com>
14457
14458         * check/gst/gstbin.c: (GST_START_TEST):
14459         Make elements silent as the deep_notify refs the
14460         parent, which might make the test fail.
14461
14462         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14463         Don't hold the lock for too long.
14464
14465 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14466
14467         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14468           Don't unref the caps we passed to gst_caps_make_writable() after
14469           passing them. gst_caps_make_writable() will do that for us.
14470
14471 2005-07-15  Andy Wingo  <wingo@pobox.com>
14472
14473         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14474         (#157311).
14475
14476         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14477         own marshalling function for the handoff signal. Properly type the
14478         buffer as a buffer. Fixes some warnings. Should do a more general
14479         solution.
14480         (gst_identity_class_init): Plug into the right marshaller.
14481
14482 2005-07-15  Wim Taymans  <wim@fluendo.com>
14483
14484         * docs/design/part-TODO.txt:
14485         * docs/design/part-clocks.txt:
14486         * docs/design/part-element-sink.txt:
14487         * docs/design/part-events.txt:
14488         * docs/design/part-gstpipeline.txt:
14489         Updated docs, mostly DISCONT related.
14490
14491 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14492
14493         * docs/pwg/building-pads.xml:
14494           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14495
14496 2005-07-15  Andy Wingo  <wingo@pobox.com>
14497
14498         * tools/gst-typefind.c: Update, add copyright block.
14499
14500         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14501         Normalize and truncate caps before fixation.
14502
14503         * gst/gstcaps.h:
14504         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14505         discards all but the first structure from its argument.
14506
14507 2005-07-15  Wim Taymans  <wim@fluendo.com>
14508
14509         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14510         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14511         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14512         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14513         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14514         (gst_base_transform_chain), (gst_base_transform_change_state),
14515         (gst_base_transform_set_passthrough),
14516         (gst_base_transform_is_passthrough):
14517         * gst/base/gstbasetransform.h:
14518         Make passthrough work using the bufferpools.
14519         Changed API a bit, subclasses have to write into a buffer
14520         provided by the base class.
14521         More debug info in nego functions.
14522         
14523         * gst/elements/gstidentity.c: (gst_identity_init),
14524         (gst_identity_transform):
14525         Port to new base class.
14526
14527 2005-07-15  Wim Taymans  <wim@fluendo.com>
14528
14529         * gst/gstmessage.c: (gst_message_new_state_changed):
14530         * tools/gst-launch.c: (event_loop), (main):
14531         Totally dump messages in -launch with the -m option.
14532         Fix message name for State messages,
14533
14534 2005-07-14  Wim Taymans  <wim@fluendo.com>
14535
14536         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14537         Post error messages on errors.
14538
14539 2005-07-14  Wim Taymans  <wim@fluendo.com>
14540
14541         * gst/gstcaps.c: (gst_caps_do_simplify):
14542         Remove debug info.
14543
14544         * gst/gsterror.h:
14545         Define error for stream stopped.
14546
14547         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14548         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14549         Do proper return values.
14550
14551         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14552         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14553         (gst_pad_get_range):
14554         Better return values.
14555
14556         * gst/gstpad.h:
14557         Reorganise return values, add macro to check for fatal errors.
14558
14559         * gst/gstqueue.c: (gst_queue_chain):
14560         Return proper GstFlowReturn values,
14561
14562 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14563
14564         * docs/gst/gstreamer-sections.txt:
14565         * docs/gst/gstreamer.types:
14566         * docs/gst/tmpl/gst.sgml:
14567         * docs/gst/tmpl/gstbasesink.sgml:
14568         * docs/gst/tmpl/gstbasesrc.sgml:
14569         * docs/gst/tmpl/gstbasetransform.sgml:
14570         * docs/gst/tmpl/gstbin.sgml:
14571         * docs/gst/tmpl/gstbuffer.sgml:
14572         * docs/gst/tmpl/gstcaps.sgml:
14573         * docs/gst/tmpl/gstclock.sgml:
14574         * docs/gst/tmpl/gstcompat.sgml:
14575         * docs/gst/tmpl/gstconfig.sgml:
14576         * docs/gst/tmpl/gstelement.sgml:
14577         * docs/gst/tmpl/gstelementdetails.sgml:
14578         * docs/gst/tmpl/gstelementfactory.sgml:
14579         * docs/gst/tmpl/gstenumtypes.sgml:
14580         * docs/gst/tmpl/gsterror.sgml:
14581         * docs/gst/tmpl/gstevent.sgml:
14582         * docs/gst/tmpl/gstfakesink.sgml:
14583         * docs/gst/tmpl/gstfakesrc.sgml:
14584         * docs/gst/tmpl/gstfilesink.sgml:
14585         * docs/gst/tmpl/gstfilesrc.sgml:
14586         * docs/gst/tmpl/gstfilter.sgml:
14587         * docs/gst/tmpl/gstformat.sgml:
14588         * docs/gst/tmpl/gstghostpad.sgml:
14589         * docs/gst/tmpl/gstimplementsinterface.sgml:
14590         * docs/gst/tmpl/gstindex.sgml:
14591         * docs/gst/tmpl/gstindexfactory.sgml:
14592         * docs/gst/tmpl/gstinfo.sgml:
14593         * docs/gst/tmpl/gstiterator.sgml:
14594         * docs/gst/tmpl/gstmacros.sgml:
14595         * docs/gst/tmpl/gstmemchunk.sgml:
14596         * docs/gst/tmpl/gstminiobject.sgml:
14597         * docs/gst/tmpl/gstobject.sgml:
14598         * docs/gst/tmpl/gstpad.sgml:
14599         * docs/gst/tmpl/gstpadtemplate.sgml:
14600         * docs/gst/tmpl/gstparse.sgml:
14601         * docs/gst/tmpl/gstpipeline.sgml:
14602         * docs/gst/tmpl/gstplugin.sgml:
14603         * docs/gst/tmpl/gstpluginfeature.sgml:
14604         * docs/gst/tmpl/gstquery.sgml:
14605         * docs/gst/tmpl/gstqueue.sgml:
14606         * docs/gst/tmpl/gstregistry.sgml:
14607         * docs/gst/tmpl/gstregistrypool.sgml:
14608         * docs/gst/tmpl/gstscheduler.sgml:
14609         * docs/gst/tmpl/gstschedulerfactory.sgml:
14610         * docs/gst/tmpl/gststructure.sgml:
14611         * docs/gst/tmpl/gstsystemclock.sgml:
14612         * docs/gst/tmpl/gsttaglist.sgml:
14613         * docs/gst/tmpl/gsttagsetter.sgml:
14614         * docs/gst/tmpl/gsttrace.sgml:
14615         * docs/gst/tmpl/gsttrashstack.sgml:
14616         * docs/gst/tmpl/gsttypefind.sgml:
14617         * docs/gst/tmpl/gsttypefindfactory.sgml:
14618         * docs/gst/tmpl/gsttypes.sgml:
14619         * docs/gst/tmpl/gsturihandler.sgml:
14620         * docs/gst/tmpl/gsturitype.sgml:
14621         * docs/gst/tmpl/gstutils.sgml:
14622         * docs/gst/tmpl/gstvalue.sgml:
14623         * docs/gst/tmpl/gstversion.sgml:
14624         * docs/gst/tmpl/gstxml.sgml:
14625         * docs/libs/tmpl/gstcontrol.sgml:
14626         * docs/libs/tmpl/gstdataprotocol.sgml:
14627         * docs/libs/tmpl/gstdparam.sgml:
14628         * docs/libs/tmpl/gstdplinint.sgml:
14629         * docs/libs/tmpl/gstdpman.sgml:
14630         * docs/libs/tmpl/gstdpsmooth.sgml:
14631         * docs/libs/tmpl/gstgetbits.sgml:
14632         * docs/libs/tmpl/gstunitconvert.sgml:
14633         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14634         (gst_push_src_base_init), (gst_push_src_class_init),
14635         (gst_push_src_init), (gst_push_src_create):
14636         * gst/base/gstpushsrc.h:
14637         * gst/elements/gstelements.c:
14638         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14639         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14640         (gst_fake_sink_init), (gst_fake_sink_set_property),
14641         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14642         (gst_fake_sink_event), (gst_fake_sink_preroll),
14643         (gst_fake_sink_render), (gst_fake_sink_change_state):
14644         * gst/elements/gstfakesink.h:
14645         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14646         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14647         (gst_fake_src_base_init), (gst_fake_src_class_init),
14648         (gst_fake_src_init), (gst_fake_src_event_handler),
14649         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14650         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14651         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14652         (gst_fake_src_create_buffer), (gst_fake_src_create),
14653         (gst_fake_src_start), (gst_fake_src_stop):
14654         * gst/elements/gstfakesrc.h:
14655         * gst/elements/gstfilesink.c: (_do_init),
14656         (gst_file_sink_base_init), (gst_file_sink_class_init),
14657         (gst_file_sink_init), (gst_file_sink_dispose),
14658         (gst_file_sink_set_location), (gst_file_sink_set_property),
14659         (gst_file_sink_get_property), (gst_file_sink_open_file),
14660         (gst_file_sink_close_file), (gst_file_sink_query),
14661         (gst_file_sink_event), (gst_file_sink_render),
14662         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14663         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14664         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14665         * gst/elements/gstfilesink.h:
14666         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14667         (gst_file_src_class_init), (gst_file_src_init),
14668         (gst_file_src_finalize), (gst_file_src_set_location),
14669         (gst_file_src_set_property), (gst_file_src_get_property),
14670         (gst_file_src_map_region), (gst_file_src_map_small_region),
14671         (gst_file_src_create_mmap), (gst_file_src_create_read),
14672         (gst_file_src_create), (gst_file_src_is_seekable),
14673         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14674         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14675         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14676         (gst_file_src_uri_handler_init):
14677         * gst/elements/gstfilesrc.h:
14678           more autistic cleanliness in functions/names/defines
14679
14680 2005-07-13  Andy Wingo  <wingo@pobox.com>
14681
14682         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14683         source couldn't negotiate.
14684
14685         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14686         connections again.
14687
14688         * gst/gstutils.h:
14689         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14690         function. I am channeling Hades. Put your boots on suckers!!!
14691
14692 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14693
14694         * testsuite/caps/Makefile.am:
14695         * testsuite/caps/value_compare.c:
14696         * testsuite/caps/value_intersect.c:
14697         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14698           move two testsuite apps over to the check dir
14699
14700 2005-07-12  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14703         Added more debug info in the negotiate process.
14704
14705         * gst/gstmessage.h:
14706         Prepare for segment playback.
14707
14708         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14709         Better debugging.
14710
14711         * gst/gstutils.c:
14712         Some more docs.
14713
14714         * tools/gst-launch.c: (main):
14715         NULL pipeline on errors.
14716
14717 2005-07-12  Andy Wingo  <wingo@pobox.com>
14718
14719         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14720         not it comes from a malloc region. Make sure our copy gets freed.
14721
14722 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14723
14724         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14725         * check/gst/gstmessage.c: (GST_START_TEST):
14726         * check/gst/gststructure.c: (GST_START_TEST),
14727         (gst_structure_suite), (main):
14728           more testing
14729         * gst/gstelement.c: (gst_element_message_full):
14730           clean up GError and debug string now that they get copied
14731         * gst/gstmessage.c: (gst_message_new_error),
14732         (gst_message_new_warning), (gst_message_parse_error),
14733         (gst_message_parse_warning):
14734           use GST_TYPE_G_ERROR for structure_new, and take copies of
14735           arguments, so that we don't mess up refcounting
14736
14737 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14738
14739         * check/Makefile.am:
14740           add per-test valgrind targets
14741         * check/gst-libs/gdp.c: (GST_START_TEST),
14742         (gst_data_protocol_suite), (main):
14743           clean up
14744
14745 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14746
14747         * check/Makefile.am:
14748           instate more valgrindable tests
14749         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14750         (GST_START_TEST), (fakesrc_suite):
14751         * check/gst/gstpad.c: (GST_START_TEST):
14752         * check/gst/gststructure.c: (GST_START_TEST):
14753           fix test leaks
14754         * docs/gst/tmpl/gstminiobject.sgml:
14755         * gst/gstpad.c: (gst_pad_finalize):
14756           fix the static mutex leak
14757
14758 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14759
14760         * check/Makefile.am:
14761           add two more tests for valgrinding
14762         * check/gst/gstvalue.c: (GST_START_TEST):
14763           test refcount of deserialized buffer, found a leak
14764         * docs/gst/gstreamer-docs.sgml:
14765         * docs/gst/gstreamer-sections.txt:
14766         * docs/gst/gstreamer.types:
14767         * docs/gst/tmpl/gstminiobject.sgml:
14768           add miniobject to docs
14769         * gst/gstminiobject.c:
14770           add some docs
14771         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14772         (gst_string_unwrap):
14773           fix a hard-to-find invalid write for one of the tests
14774           fix a leak for deserialized buffers
14775
14776 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14777
14778         * docs/pwg/advanced-events.xml:
14779         * docs/pwg/advanced-request.xml:
14780         * docs/pwg/advanced-scheduling.xml:
14781         * docs/pwg/appendix-porting.xml:
14782         * docs/pwg/building-boiler.xml:
14783         * docs/pwg/intro-preface.xml:
14784         * docs/pwg/other-ntoone.xml:
14785           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14786           of example code and explanation for pad activation, loop() and
14787           getrange() functions and a bit more. Remove old comments pointing
14788           to loop-functions.
14789         * examples/pwg/Makefile.am:
14790           Add loop/getrange examples.
14791
14792 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14793
14794         * configure.ac:
14795           check for valgrind binary + some fixes
14796         * check/gst.supp:
14797           valgrind suppressions for the tests
14798         * check/Makefile.am:
14799           add a valgrind: target that valgrinds the unit tests
14800         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14801         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14802         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14803         * check/gst/gstghostpad.c:
14804           added some cleanup
14805         * check/gst/gstdata.c:
14806           removed
14807         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14808         (thread_unref), (gst_mini_object_suite), (main):
14809           added
14810         * gst/gst.c: (gst_deinit):
14811         * gst/gst.h:
14812           add a method to clean up.
14813         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14814         (gst_system_clock_obtain):
14815           allow for disposing the system clock.
14816         * tools/gst-launch.c: (main):
14817           deinit
14818
14819 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14820
14821         * docs/gst/tmpl/gstbasesrc.sgml:
14822         * docs/gst/tmpl/gstfakesrc.sgml:
14823         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14824         (gst_base_src_init), (gst_base_src_set_property),
14825         (gst_base_src_get_property), (gst_base_src_get_range),
14826         (gst_base_src_start):
14827         * gst/base/gstbasesrc.h:
14828           add num-buffers property
14829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14830         (gst_fakesrc_init), (gst_fakesrc_set_property),
14831         (gst_fakesrc_get_property), (gst_fakesrc_create),
14832         (gst_fakesrc_start):
14833           remove num-buffers property
14834
14835 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * docs/gst/gstreamer-sections.txt:
14838         * docs/gst/tmpl/gstbasesink.sgml:
14839         * docs/gst/tmpl/gstbasesrc.sgml:
14840         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14841         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14842         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14843         (gst_base_sink_set_property), (gst_base_sink_get_property),
14844         (gst_base_sink_handle_object), (gst_base_sink_event),
14845         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14846         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14847         (gst_base_sink_loop), (gst_base_sink_deactivate),
14848         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14849         (gst_base_sink_change_state):
14850         * gst/base/gstbasesink.h:
14851         * gst/base/gstbasesrc.h:
14852         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14853         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14854         (gst_filesink_init):
14855           more macro splitting
14856
14857 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14858
14859         * gst/gstelement.c: (gst_element_get_bus):
14860           add debug
14861         * tools/gst-launch.c: (check_intr), (event_loop):
14862           fix bus leaks
14863
14864 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14865
14866         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14867           fix a caps leak
14868
14869 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14870
14871         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14872         (gst_base_src_finalize):
14873           add finalize method and clean up properly
14874         * gst/gstpipeline.c: (gst_pipeline_dispose):
14875           add debug
14876
14877 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14878
14879         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14880         (gst_bin_suite):
14881           add more things to check
14882         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14883         * gst/gstelement.c:
14884           more debug
14885
14886 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14887
14888         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14889         (GST_START_TEST), (fakesrc_suite):
14890         * check/gst-libs/gdp.c: (GST_START_TEST):
14891         * check/gst/gst.c: (GST_START_TEST):
14892         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14893         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14894         * check/gst/gstbus.c: (GST_START_TEST):
14895         * check/gst/gstcaps.c: (GST_START_TEST):
14896         * check/gst/gstdata.c: (GST_START_TEST):
14897         * check/gst/gstelement.c: (GST_START_TEST):
14898         * check/gst/gstghostpad.c: (GST_START_TEST):
14899         * check/gst/gstiterator.c: (GST_START_TEST):
14900         * check/gst/gstmessage.c: (GST_START_TEST):
14901         * check/gst/gstobject.c: (GST_START_TEST):
14902         * check/gst/gstpad.c: (GST_START_TEST):
14903         * check/gst/gststructure.c: (GST_START_TEST):
14904         * check/gst/gstsystemclock.c: (GST_START_TEST),
14905         (gst_systemclock_suite):
14906         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14907         * check/gst/gstvalue.c: (GST_START_TEST):
14908         * check/pipelines/cleanup.c: (GST_START_TEST):
14909         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14910         * check/states/sinks.c: (GST_START_TEST):
14911         * check/gstcheck.c: (gst_check_init):
14912         * check/gstcheck.h:
14913           add debugging category
14914           use GST_START_TEST now, so we add a debug line
14915
14916 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14917
14918         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14919           add test for state change message on a bin
14920         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14921           add another test
14922         * gst/gstbin.c: (gst_bin_init):
14923         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14924         * gst/gstelement.c: (gst_element_post_message),
14925         (gst_element_set_state):
14926         * gst/gstelementfactory.c: (gst_element_factory_create):
14927         * gst/gstmessage.c: (gst_message_new):
14928         * gst/gstscheduler.c:
14929           various debugging additions and cleanups
14930
14931 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14932
14933         * check/Makefile.am:
14934         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14935         (main):
14936           adding tests for elements
14937         * gst/gstelement.c: (gst_element_dispose):
14938
14939 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14940
14941         * gst/registries/gstlibxmlregistry.c: (load_feature):
14942           plug more leaks.  A simple gst_init() now is leakfree, yay.
14943
14944 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14945
14946         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14947         (gst_xml_registry_load):
14948           plug another memleak
14949
14950 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14951
14952         * configure.ac:
14953           use GST_SET_ERROR_CFLAGS
14954         * docs/faq/cvs.xml:
14955           change to ERROR_CFLAGS
14956
14957 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14958
14959         * configure.ac:
14960           make GST_ERROR_CFLAGS overridable and re-enable Werror
14961         * docs/faq/cvs.xml:
14962           add a note about error CFLAGS
14963         * docs/gst/tmpl/gstfakesrc.sgml:
14964         * gst/elements/gstfakesrc.c:
14965           comment out some unused code
14966         * gst/gst.c: (split_and_iterate):
14967         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14968         (load_feature):
14969           plug some memleaks
14970
14971 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * common/Makefile.am:
14974         * common/gtk-doc.mak:
14975         * docs/gst/Makefile.am:
14976           factor out gtk-doc.mak
14977
14978 2005-07-07  Wim Taymans  <wim@fluendo.com>
14979
14980         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14981         (gst_thread_scheduler_dispose):
14982         Unlock the STREAM_LOCK completely.
14983
14984 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14985
14986         * check/Makefile.am:
14987         * check/elements/.cvsignore:
14988         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14989         (START_TEST), (fakesrc_suite), (main):
14990         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14991         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14992         (gst_fakesrc_create), (gst_fakesrc_start):
14993         * gst/elements/gstfakesrc.h:
14994           adding a first element test
14995
14996 2005-07-07  Andy Wingo  <wingo@pobox.com>
14997
14998         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14999         debug message.
15000
15001 2005-07-07  Wim Taymans  <wim@fluendo.com>
15002
15003         * gst/gstquery.c:
15004         * gst/gstquery.h:
15005         Remove old types
15006
15007 2005-07-07  Wim Taymans  <wim@fluendo.com>
15008
15009         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15010         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15011         Allow subclasses to implement their own negotiation.
15012
15013 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15014
15015         * docs/design/part-gstbin.txt:
15016         * docs/design/part-gstpipeline.txt:
15017           Update design notes to reflect the movement of
15018           responsibility for bus handling from GstPipeline to
15019           GstBin
15020
15021 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15022
15023         * configure.ac:
15024           Remove unnecessary queue2/3/4 examples.
15025
15026 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15027
15028         * examples/Makefile.am:
15029         * examples/helloworld/helloworld.c: (event_loop), (main):
15030         * examples/queue/queue.c: (event_loop), (main):
15031         * examples/queue2/queue2.c: (main):
15032           Update a couple of the examples to work again.
15033
15034         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15035         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15036          Spelling corrections and extra debug.
15037         
15038         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15039         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15040         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15041         * gst/gstbin.h:
15042         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15043         (gst_pipeline_change_state):
15044         * gst/gstpipeline.h:
15045           Move the bus handler for children to the GstBin, and create a
15046           separate bus for receiving messages from children to the one the
15047           bus sends 'upwards' on.
15048
15049 2005-07-06  Wim Taymans  <wim@fluendo.com>
15050
15051         * gst/base/README:
15052         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15053         (gst_base_sink_handle_object), (gst_base_sink_loop),
15054         (gst_base_sink_change_state):
15055         * gst/base/gstbasesink.h:
15056         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15057         (gst_base_src_init), (gst_base_src_setcaps),
15058         (gst_base_src_getcaps), (gst_base_src_loop),
15059         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15060         (gst_base_src_start), (gst_base_src_change_state):
15061         * gst/base/gstbasesrc.h:
15062         Make basesrc negotiate.
15063         Handle the case where preroll fails in basesink.
15064         Update README.
15065
15066 2005-07-06  Wim Taymans  <wim@fluendo.com>
15067
15068         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15069         Implement the fixate function.
15070         Clean up acceptcaps.
15071
15072 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15073
15074         * docs/pwg/building-filterfactory.xml:
15075         * docs/pwg/pwg.xml:
15076           Remove never-written filter-factory chapter; I'll add the various
15077           base classes to part 4 ("other element types") later on.
15078
15079 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15080
15081         * docs/pwg/advanced-negotiation.xml:
15082         * docs/pwg/building-boiler.xml:
15083         * docs/pwg/building-pads.xml:
15084         * docs/pwg/pwg.xml:
15085         * examples/pwg/Makefile.am:
15086           Add a chapter on caps negotiation, simplify the original code
15087           samples a bit w.r.t. caps negotiation, add link to the advanced
15088           section. Add a bunch of examples showing different use cases of
15089           different types of caps negotiation. Upstream renegotiation isn't
15090           fully documented yet since nobody knows how that works.
15091
15092 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15093
15094         * check/gst/gstpad.c:
15095         * check/gstcheck.c:
15096         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15097           if pad has no parent, return NULL as list of internal links
15098
15099 2005-07-05  Andy Wingo  <wingo@pobox.com>
15100
15101         * gst/elements/gstfilesrc.c:
15102         * gst/elements/gstfakesrc.c: 
15103         * gst/base/gstpushsrc.c:
15104         * gst/base/gstbasesrc.h: 
15105         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15106         
15107 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15108
15109         * Makefile.am:
15110           better report generation target (lcov needs a patch)
15111
15112 2005-07-05  Andy Wingo  <wingo@pobox.com>
15113
15114         * gst/elements, testsuite: Null if we got it...
15115
15116 2005-07-05  Wim Taymans  <wim@fluendo.com>
15117
15118         * configure.ac:
15119         * libs/gst/dataprotocol/Makefile.am:
15120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15121         * libs/gst/dataprotocol/dataprotocol.h:
15122         * pkgconfig/Makefile.am:
15123         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15124         * pkgconfig/gstreamer-dataprotocol.pc.in:
15125         Ported dataprotol to 0.9. 
15126         Added pkgconfig files.
15127
15128 2005-07-05  Andy Wingo  <wingo@pobox.com>
15129
15130         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15131         Default to returning TRUE for the case when tranform_caps returns
15132         a fixed caps, like for identity or volume.
15133
15134         * check/gst/gstbus.c (pound_bus_with_messages): 
15135         * check/gst/gstmessage.c (START_TEST): 
15136         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15137         message API change.
15138
15139         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15140         logic weaks here: always run transform_caps, trying passthrough
15141         operation only if the original caps intersects with the transform.
15142
15143         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15144         source and sink caps.
15145
15146         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15147         Intersect the peer caps with the pad template before going into
15148         transform_caps.
15149         (gst_base_transform_transform_caps): More debugging.
15150
15151         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15152         src argument.
15153
15154 2005-07-04  Edward Hervey  <edward@fluendo.com>
15155
15156         * gst/gstutils.c:
15157         * gst/gstutils.h:
15158         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15159         in bindings.
15160
15161 2005-07-04  Andy Wingo  <wingo@pobox.com>
15162
15163         * check/gst/gstpad.c: Only set explicit caps on pads.
15164
15165 2005-07-01  Andy Wingo  <wingo@pobox.com>
15166
15167         * tests/network-clock.scm: Commentary update.
15168
15169         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15170         Didn't really make sense, not implementable with basetransform,
15171         etc.
15172         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15173         attempt at implementing the sync property, needs an unlock method.
15174
15175         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15176         New func, by default returns the same caps (the identity
15177         transformation).
15178         (gst_base_transform_getcaps): Uses transform_caps to return
15179         something sensible.
15180         (gst_base_transform_setcaps): Complicated logic to get caps on
15181         both pads, even if they are different, and to call set_caps once
15182         for every time both pads get their caps set.
15183         (gst_base_transform_handle_buffer): Give the ref to the transform
15184         function. Allows in-place modification of the buffer.
15185
15186         * gst/base/gstbasetransform.h (transform_caps): New class method.
15187         Given caps on one side, what can I do on the other.
15188         (set_caps): Take two caps, one for each side of the element.
15189
15190         * gst/gstpad.h:
15191         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15192         caps in place. This is safe because we can check the mutability of
15193         the caps, and a good idea because fixate functions are just called
15194         as a matter of last resort. (Not actually implemented.)
15195         (gst_pad_set_caps): If the caps we're setting is actually the same
15196         as the existing pad caps, just update the pointer without calling
15197         setcaps. Assert that caps is either NULL or fixed, as per the
15198         docs.
15199
15200         * gst/gstghostpad.c: Update for fixate changes.
15201
15202 2005-07-02  Andy Wingo  <wingo@pobox.com>
15203
15204         * gst/gstcaps.c:
15205         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15206         two refcounts makes it immutable, which is enough. Doc more.
15207
15208 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15209
15210         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15211           Put the mini_object into GValue as a mini_object,
15212           not a gpointer, since that's how we declared
15213           the signal.
15214
15215 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15216
15217         * examples/pwg/Makefile.am:
15218           Fix buildbot again.
15219
15220 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15221
15222         * docs/pwg/building-testapp.xml:
15223           Add extra check.
15224         * examples/pwg/Makefile.am:
15225           Fix buildbot.
15226
15227 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15228
15229         * configure.ac:
15230         * examples/Makefile.am:
15231         * examples/pwg/Makefile.am:
15232         * examples/pwg/extract.pl:
15233           Enable building the PWG examples.
15234         * docs/pwg/advanced-interfaces.xml:
15235           Add URI interface stub.
15236         * docs/pwg/advanced-types.xml:
15237         * docs/pwg/other-autoplugger.xml:
15238         * docs/pwg/appendix-porting.xml:
15239         * docs/pwg/pwg.xml:
15240           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15241         * docs/pwg/building-boiler.xml:
15242         * docs/pwg/building-chainfn.xml:
15243         * docs/pwg/building-pads.xml:
15244         * docs/pwg/building-props.xml:
15245         * docs/pwg/building-state.xml:
15246         * docs/pwg/building-testapp.xml:
15247           Update the building-*.xml parts for 0.9 changes. All examples
15248           code blocks compile in examples/pwg/*.
15249
15250 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15251
15252         * docs/manual/advanced-autoplugging.xml:
15253         * docs/manual/appendix-checklist.xml:
15254         * docs/manual/appendix-integration.xml:
15255         * docs/manual/highlevel-components.xml:
15256           Fix playbin/decodebin examples, update docs a bit, mention bus
15257           instead of signals in various places, mention kmplayer and
15258           kaffeine since they have a working GStreamer backend in the KDE
15259           section.
15260
15261 2005-06-30  Wim Taymans  <wim@fluendo.com>
15262
15263         * CHANGES-0.9:
15264         * docs/design/draft-ghostpads.txt:
15265         * docs/design/draft-push-pull.txt:
15266         * docs/design/draft-query.txt:
15267         * docs/design/part-TODO.txt:
15268         * docs/design/part-query.txt:
15269         Added CHANGES-0.9 doc, updated status of other docs.
15270         
15271         * gst/gstquery.h:
15272         Remove "hmm" macro
15273
15274 2005-06-30  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15277         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15278         (gst_base_sink_change_state):
15279         * gst/base/gstbasesink.h:
15280         Some tweaks, only EOS and a buffer complete a preroll.
15281
15282 2005-06-30  Andy Wingo  <wingo@pobox.com>
15283
15284         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15285         activate_push down to the internal pad as well.
15286
15287 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15288
15289         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15290
15291         * gst/gsttaginterface.c:
15292           Some documentation fixes (#307394 and #307397).
15293
15294 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15295
15296         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15297
15298         * gst/gstvalue.c: (gst_value_intersect_list):
15299           Fix memleak (#309125).
15300
15301 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15302
15303         * docs/manual/advanced-dataaccess.xml:
15304           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15305         * docs/manual/basics-pads.xml:
15306           Add reference for filtered caps to above chapter.
15307
15308 2005-06-30  Wim Taymans  <wim@fluendo.com>
15309
15310         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15311         (gst_bin_change_state):
15312         Probes are gone.
15313         Lame attempt at making the state change function a bit
15314         more readable.
15315
15316 2005-06-30  Wim Taymans  <wim@fluendo.com>
15317
15318         * docs/design/part-clocks.txt:
15319         * docs/design/part-element-sink.txt:
15320         * docs/design/part-events.txt:
15321         * docs/design/part-preroll.txt:
15322         * docs/design/part-states.txt:
15323         Some more tweeks and additions to the docs.
15324
15325 2005-06-30  Wim Taymans  <wim@fluendo.com>
15326
15327         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15328         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15329         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15330         (gst_pad_check_pull_range), (gst_pad_get_range),
15331         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15332         * gst/gstpad.h:
15333         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15334         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15335         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15336         (gst_pad_remove_buffer_probe):
15337         Removed atomic operations, use existing LOCK.
15338         Move exception handling out of main code path.
15339
15340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15341
15342         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15343         (silly_return_true_function), (gst_pad_class_init),
15344         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15345         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15346         (gst_pad_send_event):
15347           Fix accumulator, add default value by using _emitv() instead
15348           of _emit() for signal emission.
15349
15350 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15351
15352         * docs/manual/advanced-dataaccess.xml:
15353         * examples/manual/Makefile.am:
15354           Add probe example.
15355         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15356           Make work (??).
15357
15358 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15359
15360         * gst/elements/gstfilesink.c: (gst_filesink_render):
15361           Simplify code so that we don't have to handle short
15362           writes and return GST_FLOW_ERROR if an error occured.
15363
15364 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15365
15366         * docs/gst/gstreamer-docs.sgml:
15367           Remove probes more.
15368
15369 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15370
15371         * docs/gst/gstreamer-sections.txt:
15372         * docs/gst/tmpl/gstpad.sgml:
15373         * docs/gst/tmpl/gstprobe.sgml:
15374         * gst/Makefile.am:
15375         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15376         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15377         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15378         (gst_pad_push_event), (gst_pad_send_event):
15379         * gst/gstpad.h:
15380         * gst/gstutils.c: (gst_pad_add_data_probe),
15381         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15382         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15383         (gst_pad_remove_buffer_probe):
15384         * gst/gstutils.h:
15385           Remove old probes, add new g-signal-based probes and some utility
15386           functions.
15387
15388 2005-06-29  Edward Hervey  <edward@fluendo.com>
15389
15390         * gst/gstelementfactory.c:
15391         * gst/gstutils.h:
15392         * gst/gstutils.c:
15393         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15394         the definition to the header file.
15395
15396 2005-06-29  Andy Wingo  <wingo@pobox.com>
15397
15398         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15399         plugins from the source directory.
15400
15401 2005-06-29  Wim Taymans  <wim@fluendo.com>
15402
15403         * docs/gst/tmpl/gstbuffer.sgml:
15404         * docs/gst/tmpl/gstclock.sgml:
15405         Some fixings for blantently wrong text.
15406
15407 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15408
15409         * check/Makefile.am:
15410         * gst/gst.c: (add_path_func), (init_pre):
15411         * gst/gstregistry.c: (gst_registry_add_path):
15412           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15413           only scan the GST_PLUGIN_PATH locations, and not add
15414           system locations
15415
15416 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15417
15418         * docs/gst/gstreamer-sections.txt:
15419         * docs/gst/tmpl/gstbasesrc.sgml:
15420         * gst/gstelement.c:
15421         * gst/gstelement.h:
15422         * gst/gstevent.c:
15423         * gst/gstutils.c:
15424           doc fixes
15425
15426 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15427
15428         * docs/manual/advanced-autoplugging.xml:
15429           Fix autoplugging example.
15430
15431 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15432
15433         * docs/manual/advanced-autoplugging.xml:
15434         * docs/manual/mime-world.fig:
15435           Try to get autoplugging working, fix type detection. Fix text
15436           in hello-world image.
15437
15438 2005-06-29  Wim Taymans  <wim@fluendo.com>
15439
15440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15441         (gst_base_sink_change_state):
15442         Small debug line.
15443
15444         * gst/gstclock.h:
15445         map SIGNAL and BROADCAST to the right function.
15446
15447         * gst/gstobject.h:
15448         Remove redundant braces.
15449
15450         * gst/gstpad.c: (gst_pad_set_caps):
15451         Don't call setcaps function when reseting caps to NULL.
15452
15453         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15454         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15455         (gst_system_clock_id_unschedule):
15456         Use BROADCAST as this is what we do.
15457
15458 2005-06-29  Wim Taymans  <wim@fluendo.com>
15459
15460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15461         We are actually prerolling before commiting the state
15462         change. 
15463
15464 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15465
15466         * docs/manual/advanced-clocks.xml:
15467         * docs/manual/advanced-interfaces.xml:
15468         * docs/manual/advanced-metadata.xml:
15469         * docs/manual/advanced-position.xml:
15470         * docs/manual/advanced-schedulers.xml:
15471         * docs/manual/advanced-threads.xml:
15472         * docs/manual/appendix-porting.xml:
15473         * docs/manual/basics-bins.xml:
15474         * docs/manual/basics-bus.xml:
15475         * docs/manual/basics-elements.xml:
15476         * docs/manual/basics-helloworld.xml:
15477         * docs/manual/basics-pads.xml:
15478         * docs/manual/highlevel-components.xml:
15479         * docs/manual/manual.xml:
15480         * docs/manual/thread.fig:
15481           Update (until threads/scheduling) Application Development Manual;
15482           remove GstThread, add GstBus, add simple porting checklist, add
15483           documentation for tag writing, clocks, make all examples until this
15484           part compile and run.
15485         * examples/manual/Makefile.am:
15486           Update from changes to Application Development Manual; add bus
15487           example, remove thread example.
15488
15489 2005-06-28  Wim Taymans  <wim@fluendo.com>
15490
15491         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15492         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15493         (gst_bus_source_dispatch):
15494         Add debugging messages.
15495         Make internal methods static.
15496         Handle the case where the bus is flushed in the handler.
15497         
15498         * gst/gstelement.c: (gst_element_get_bus):
15499         Fix refcount in _get_bus();
15500
15501         * gst/gstpipeline.c: (gst_pipeline_change_state),
15502         (gst_pipeline_get_clock_func):
15503         Clock refcounting fixes.
15504         Handle the case where preroll timed out more gracefully.
15505         
15506         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15507         Clean up the internal thread in dispose. This is needed
15508         for subclasses that actually get disposed.
15509         
15510         * gst/schedulers/threadscheduler.c:
15511         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15512         (gst_thread_scheduler_dispose):
15513         Free thread pool in dispose.
15514
15515 2005-06-28  Andy Wingo  <wingo@pobox.com>
15516
15517         * tests/network-clock-utils.scm (debug, print-event): New utils.
15518
15519         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15520         (*packet-loss*): Unified loss probability.
15521         (network-time): Report out-of-band events.
15522
15523         * tests/plot-data: Add support for out-of-band events. Hack it
15524         into this script instead of passing it down the pipe; should fix
15525         this later.
15526
15527 2005-06-28  Wim Taymans  <wim@fluendo.com>
15528
15529         * docs/gst/gstreamer.types:
15530         * docs/gst/tmpl/gstbasesrc.sgml:
15531         * docs/gst/tmpl/gstpad.sgml:
15532         Docs fixes.
15533
15534 2005-06-28  Wim Taymans  <wim@fluendo.com>
15535
15536         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15537         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15538         (gst_proxy_pad_do_fixatecaps):
15539         Correctly proxy the check_pull_range function.
15540
15541 2005-06-28  Andy Wingo  <wingo@pobox.com>
15542
15543         * tests/network-clock.scm: Removed need for slib.
15544         
15545 2005-06-28  Wim Taymans  <wim@fluendo.com>
15546
15547         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15548         (gst_basesink_preroll_queue_flush):
15549         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15550         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15551         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15552         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15553         (gst_proxy_pad_set_property):
15554         * gst/gstpad.c:
15555         * gst/gstpad.h:
15556         * gst/gstqueue.c: (gst_queue_init):
15557         The deprecated pad loop function is removed now.
15558
15559 2005-06-28  Andy Wingo  <wingo@pobox.com>
15560
15561         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15562         New parameters, simulate network packet loss.
15563
15564         * tests/network-clock-utils.scm: Initialize the RNG.
15565
15566 2005-06-28  Wim Taymans  <wim@fluendo.com>
15567
15568         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15569         (gst_basesink_event), (gst_basesink_deactivate):
15570         Flushing the preroll queue always needs to unlock the waiters.
15571
15572 2005-06-28  Edward Hervey  <edward@fluendo.com>
15573
15574         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15575         Wheen a seek was successful on a pipeline, set the stream_time to the
15576         seek offset in order to have a synchronized stream_time.
15577
15578 2005-06-28  Wim Taymans  <wim@fluendo.com>
15579
15580         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15581         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15582         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15583         (gst_proxy_pad_do_fixatecaps):
15584         Call wrapper function instead of just calling the function
15585         pointers. This takes care of any locking and whatmore.
15586
15587 2005-06-28  Wim Taymans  <wim@fluendo.com>
15588
15589         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15590         (gst_pad_pull_range):
15591         * gst/gstpad.h:
15592         CONNECTED -> LINKED.
15593
15594 2005-06-28  Andy Wingo  <wingo@pobox.com>
15595
15596         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15597         source-munging commit!!!
15598
15599         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15600         (gst_object_sink): Take gpointer arguments, not GstObject --
15601         avoids casts. Like GLib.
15602
15603         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15604         activate.
15605
15606 2005-06-27  Andy Wingo  <wingo@pobox.com>
15607
15608         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15609         remaining buffer.
15610
15611         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15612         returns a sorted copy of the trace list.
15613         (gst_alloc_trace_print_live): New API, only prints traces with
15614         live objects. Sort the list.
15615         (gst_alloc_trace_print_all): Sort the list.
15616         (gst_alloc_trace_print): Align columns.
15617
15618         * gst/elements/gstttypefindelement.c:
15619         * gst/elements/gsttee.c:
15620         * gst/base/gstbasesrc.c:
15621         * gst/base/gstbasesink.c:
15622         * gst/base/gstbasetransform.c:
15623         * gst/gstqueue.c: Adapt for pad activation changes.
15624
15625         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15626         sched.
15627         (gst_pipeline_dispose): Drop ref on sched.
15628
15629         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15630         (gst_pad_activate_default): Push mode by default.
15631         (pre_activate_switch, post_activate_switch): New stubs, things to
15632         do before and after switching activation modes on pads.
15633         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15634         the pad's activate function to choose which mode to activate.
15635         Shortcut on deactivation and call the right function directly.
15636         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15637         mode.
15638         (gst_pad_activate_push): New API, same for push mode.
15639         (gst_pad_set_activate_function) 
15640         (gst_pad_set_activatepull_function) 
15641         (gst_pad_set_activatepush_function): Setters for new API.
15642
15643         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15644         Trace all miniobjects.
15645         (gst_mini_object_make_writable): Unref the arg if we copy, like
15646         gst_caps_make_writable.
15647
15648         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15649
15650         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15651         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15652         Adapt for new pad API.
15653
15654         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15655
15656         * gst/gstelement.h:
15657         * gst/gstelement.c (gst_element_iterate_src_pads) 
15658         (gst_element_iterate_sink_pads): New API functions.
15659         
15660         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15661         should fold into gstiterator.c in some form.
15662         (gst_element_pads_activate): Simplified via use of fold and
15663         delegation of decisions to gstpad->activate.
15664
15665         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15666         help in debugging.
15667
15668         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15669         class once in init, like gstmessage. Didn't run into this issue
15670         but it seems correct. Don't initialize a trace, gstminiobject does
15671         that.
15672
15673         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15674         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15675         to the bus.
15676         (assert_live_count): New util function, uses alloc traces to check
15677         cleanup.
15678
15679         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15680         To be modified when unlink drops the internal pad.
15681
15682 2005-06-27  Wim Taymans  <wim@fluendo.com>
15683
15684         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15685         (gst_bin_change_state):
15686         Cleanup the get_state() function a little, make sure it
15687         iterates the same set of elements.
15688         Added stub iterate_state_order().
15689
15690 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15691
15692         * docs/gst/gstreamer-docs.sgml:
15693         * docs/gst/gstreamer-sections.txt:
15694         * docs/gst/gstreamer.types:
15695         * docs/gst/tmpl/gstbasesink.sgml:
15696         * docs/gst/tmpl/gstbasesrc.sgml:
15697         * docs/gst/tmpl/gstbasetransform.sgml:
15698         * docs/gst/tmpl/gstelement.sgml:
15699         * docs/gst/tmpl/gstiterator.sgml:
15700         * gst/base/gstbasesrc.c:
15701         * gst/base/gstbasesrc.h:
15702         * gst/base/gstbasetransform.h:
15703         * gst/gstelement.c:
15704         * gst/gstiterator.h:
15705           adding basetransform and iterator docs
15706
15707 2005-06-27  Andy Wingo  <wingo@pobox.com>
15708
15709         * docs/design/part-activation.txt: Notes on how activation should
15710         work -- not quite implemented yet.
15711
15712 2005-06-25  Wim Taymans  <wim@fluendo.com>
15713
15714         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15715         At least get the chain function correct, needs more
15716         fixing.
15717
15718 2005-06-25  Wim Taymans  <wim@fluendo.com>
15719
15720         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15721         (gst_basesink_handle_object), (gst_basesink_event),
15722         (gst_basesink_do_sync), (gst_basesink_handle_event),
15723         (gst_basesink_change_state):
15724         * gst/gsttask.h:
15725         Right, two problems here: ghostpads don't take locks and
15726         glib _rec_mutex_lock_full() with depth==0 still locks.
15727         Catch illegal locking and g_warn them.
15728
15729 2005-06-25  Wim Taymans  <wim@fluendo.com>
15730
15731         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15732         Have to check for completion now...
15733
15734 2005-06-25  Wim Taymans  <wim@fluendo.com>
15735
15736         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15737         (gst_basesink_handle_object), (gst_basesink_event),
15738         (gst_basesink_do_sync), (gst_basesink_handle_event),
15739         (gst_basesink_change_state):
15740         * gst/gstpad.h:
15741         Unlock STREAM_LOCK whatever the recursion was.
15742
15743 2005-06-25  Wim Taymans  <wim@fluendo.com>
15744
15745         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15746         (gst_basesink_preroll_queue_empty),
15747         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15748         (gst_basesink_event), (gst_basesink_do_sync),
15749         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15750         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15751         (gst_basesink_change_state):
15752         Reworked the base sink, handle event and buffer serialisation
15753         correctly and removed possible deadlock.
15754         Handle EOS correctly.
15755
15756 2005-06-25  Wim Taymans  <wim@fluendo.com>
15757
15758         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15759         (gst_pipeline_change_state):
15760         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15761         Allow elements to post EOS in the state change function.
15762         Fix up -launch, make it exit the poll loop when the
15763         pipeline actually changed state.
15764         Fix up warning parsing in -launch.
15765
15766 2005-06-25  Wim Taymans  <wim@fluendo.com>
15767
15768         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15769         (gst_tee_sink_activate):
15770         Core takes STREAM_LOCK for us now.
15771
15772 2005-06-25  Wim Taymans  <wim@fluendo.com>
15773
15774         * gst/gstelement.c: (gst_element_get_state_func),
15775         (gst_element_set_state):
15776         * gst/gstelement.h:
15777         * gst/gstmessage.c: (gst_message_parse_error),
15778         (gst_message_parse_warning):
15779         Keep track of current target state while performing a state
15780         change so that subclasses can do something interesting.
15781         Fix parsing of warning/error messages when GError is NULL.
15782
15783 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15784
15785         * docs/gst/Makefile.am:
15786         * docs/gst/gstreamer-docs.sgml:
15787         * docs/gst/gstreamer-sections.txt:
15788         * docs/gst/gstreamer.types:
15789         * docs/gst/tmpl/gstbasesink.sgml:
15790         * docs/gst/tmpl/gstbasesrc.sgml:
15791         * docs/gst/tmpl/gstbin.sgml:
15792         * docs/gst/tmpl/gstcompat.sgml:
15793         * docs/gst/tmpl/gstfakesink.sgml:
15794         * docs/gst/tmpl/gstfakesrc.sgml:
15795         * docs/gst/tmpl/gstfilesink.sgml:
15796         * docs/gst/tmpl/gstfilesrc.sgml:
15797         * docs/gst/tmpl/gstindex.sgml:
15798         * docs/manual/appendix-quotes.xml:
15799         * gst/base/gstbasesrc.h:
15800         * gst/elements/gstfakesrc.h:
15801         * gst/gstmessage.h:
15802           start pulling in base classes and elements in our docs
15803
15804 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15805
15806         * docs/gst/Makefile.am:
15807         * docs/libs/Makefile.am:
15808           fixed make distcheck with gtk-doc 1.3
15809
15810 2005-06-23  Wim Taymans  <wim@fluendo.com>
15811
15812         * gst/gstelement.c: (gst_element_get_state_func),
15813         (gst_element_set_state), (gst_element_change_state):
15814         When the state did not change, also report NO_PREROLL
15815         when it matters.
15816
15817 2005-06-23  Wim Taymans  <wim@fluendo.com>
15818
15819         * gst/gstpad.c: (gst_pad_event_default):
15820         * gst/gstqueue.c: (gst_queue_loop):
15821         No unsafe task pausing please.
15822
15823 2005-06-23  Wim Taymans  <wim@fluendo.com>
15824
15825         * gst/schedulers/threadscheduler.c:
15826         (gst_thread_scheduler_task_start),
15827         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15828         Ref the task before pushing it on the threadpool. This
15829         makes sure that we have a ref when the threadfunction is
15830         actually called.
15831
15832 2005-06-23  Andy Wingo  <wingo@pobox.com>
15833
15834         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15835         offset is greater than the file's size.
15836
15837         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15838         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15839         * gst/gstobject.c (gst_object_class_init): Make the class lock
15840         recursive. Wim won't let me drop deep_notify. Decodebin works
15841         again, whoopdy doo.
15842
15843         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15844         internal pad, and hacks accordingly. Doesn't do it on the target
15845         pad because we change its caps. Probably catches all cases of
15846         interest tho.
15847         (gst_ghost_pad_set_property): Connect to notify::caps as
15848         appropritate.
15849
15850         * tests/network-clock.scm (plot-simulation): Pipe data to the
15851         elite python skript.
15852
15853         * tests/network-clock-utils.scm (define-parameter): New macro,
15854         defines a parameter that can be set via the command line.
15855         (set-parameter!, parse-parameter-arguments): Command line args
15856         parser.
15857
15858         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15859         stdin.
15860
15861 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15862
15863         * gst/elements/gsttypefindelement.c:
15864         (gst_type_find_element_handle_event):
15865           Don't restart typefinding on a discont.
15866         * gst/gstelement.c: (gst_element_set_state):
15867           Debug spelling fix.
15868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15869           Allow changing mode of an active pad.
15870           Debug output fixes.
15871         * gst/registries/gstlibxmlregistry.c: (load_feature):
15872           Don't cast a static pad template to a normal pad template.
15873
15874 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15875
15876         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15877         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15878           remove gst_strtoll completely, since it didn't actually do
15879           anything more than what g_ascii_strtoull already does.
15880           check for range errors when deserializing
15881           do a cast for the unsigned cases; but further fixing needs
15882           a decision on what the interpretation of "(int)" and
15883           deserialization should be for values that fall outside the
15884           type's boundaries (ie, refuse, or interpret as casting)
15885
15886 2005-06-23  Wim Taymans  <wim@fluendo.com>
15887
15888         * check/Makefile.am:
15889         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15890         * docs/design/part-live-source.txt:
15891         * docs/design/part-states.txt:
15892         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15893         (gst_basesrc_set_live), (gst_basesrc_is_live),
15894         (gst_basesrc_get_range), (gst_basesrc_activate),
15895         (gst_basesrc_change_state):
15896         * gst/base/gstbasesrc.h:
15897         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15898         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15899         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15900         * gst/gstelement.c: (gst_element_get_state_func),
15901         (gst_element_set_state):
15902         * gst/gstelement.h:
15903         * gst/gsttypes.h:
15904         * tools/gst-launch.c: (event_loop), (main):
15905         Added support for live sources and other elements that
15906         cannot do preroll.
15907         Updated design docs, added live-source design doc.
15908         Implemented live source functionality in basesrc
15909         Fix error condition in _bin_get_state()
15910         Implement live source handling in -launch.
15911         Added check for live sources.
15912         Fixed case in GstBin where elements were changed state
15913         multiple times.
15914
15915
15916 2005-06-23  Andy Wingo  <wingo@pobox.com>
15917
15918         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15919         borken refcounting.
15920
15921         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15922         gst_caps_replace takes care of this for us.
15923
15924         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15925         gst_pad_set_caps on the target, not just its setcaps() function.
15926
15927         * tests/network-clock.scm: 
15928         * tests/network-clock-utils.scm: A network clock simulator.
15929         Something of an algorithmic testbed before doing something in C.
15930
15931 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15932
15933         * check/Makefile.am:
15934         * check/gst/capslist.h:
15935           copy over from 0.8, and add two with bitmasks specified with
15936           (int) 0xFF...
15937         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15938           add test to parse everything from capslist.h
15939         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15940         (main):
15941           add test for structure deserialization
15942         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15943           add tests for deserialization of strings to int types
15944         * gst/gststructure.c: (gst_structure_nth_field_name):
15945         * gst/gststructure.h:
15946           add a way to get the name of a field referenced by index
15947         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15948           instead of checking if the resulting long long lies between
15949           min and max, we check if the long long would fit into
15950           a number of bytes for the final type.
15951           This fixes cases where a string represents 2^32 - 1, which
15952           when cast to int would be the (valid) -1, but is bigger than
15953           G_MAXINT
15954
15955 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15956
15957         * gst/parse/grammar.y:
15958           add a log line for type deserialization
15959
15960 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15961
15962         * check/gst/gstvalue.c: (START_TEST):
15963         * gst/gstvalue.c: (gst_value_deserialize):
15964           return long long, not int, so gint64 deserialization actually
15965           works.  Is there any flag that makes the compiler check this ?
15966           Fixes #308559
15967
15968 2005-06-22  Wim Taymans  <wim@fluendo.com>
15969
15970         * gst/gstbuffer.h:
15971         Added convenience macros for setting buffers in GValue.
15972
15973 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15974
15975         * check/gst/.cvsignore:
15976         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15977           add a test deserializing int64, and comment part out because
15978           it fails, yay !
15979
15980 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15981
15982         * check/Makefile.am:
15983         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15984         * testsuite/Makefile.am:
15985         * testsuite/caps/Makefile.am:
15986         * testsuite/caps/value_serialize.c:
15987         * testsuite/test_gst_init.c:
15988           move a value_serialize test over
15989
15990 2005-06-20  Wim Taymans  <wim@fluendo.com>
15991
15992         * gst/gstpad.c:
15993         Small doc updates.
15994         
15995         * gst/gstvalue.c: (gst_value_compare_buffer),
15996         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15997         (gst_value_compare_flags), (gst_value_serialize_flags),
15998         (gst_value_deserialize_flags), (_gst_value_initialize):
15999         Fix serialisation of buffers, they are not boxed types anymore
16000
16001 2005-06-20  Wim Taymans  <wim@fluendo.com>
16002
16003         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16004         Testcase to show error in buffer-on-caps serialisation.
16005
16006 2005-06-20  Andy Wingo  <wingo@pobox.com>
16007
16008         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16009         will be adding to later.
16010
16011         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16012         if its socks fill with rocks.
16013         (gst_system_clock_obtain): Set the name on object construction.
16014         Avoid double-checked locking.
16015
16016 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16017
16018         * gst/gsturi.c: (gst_element_make_from_uri):
16019           Fix potential endless loop.
16020
16021 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16022
16023         * check/Makefile.am:
16024           add gsttag
16025         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16026         (main):
16027           move over from testsuite dir and clean up
16028         * configure.ac:
16029         * gst/gsttag.c:
16030         * testsuite/Makefile.am:
16031         * testsuite/tags/.cvsignore:
16032         * testsuite/tags/Makefile.am:
16033         * testsuite/tags/merge.c:
16034           remove testsuite/tags
16035
16036 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16037
16038         * docs/gst/gstreamer-sections.txt:
16039         * docs/gst/tmpl/gstenumtypes.sgml:
16040         * win32/gstenumtypes.c:
16041           clean up documentation build a little
16042
16043 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16044
16045         * check/gstcheck.h:
16046           add macros for checking refcounts on objects and caps
16047         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16048           add some more unit tests
16049         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16050         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16051           fix leaked refcounts (I hope :)) so unittest works
16052         * gst/gstpad.h:
16053           whitespace removal
16054
16055 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16056
16057         * configure.ac: back to HEAD
16058
16059 === release 0.9.1 ===
16060
16061 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16062
16063         * NEWS:
16064         * RELEASE:
16065           updated
16066
16067 2005-06-17  Andy Wingo  <wingo@pobox.com>
16068
16069         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16070         assert; it's always possible that the pad gets deactivated in
16071         between the checks in gstpad.c and the implementation. Rely on
16072         finish_preroll() to return a FLUSHING or similar instead of on the
16073         assert.
16074         
16075         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16076         clock and post an EOS message if we come out of finish_preroll in
16077         the playing state.
16078
16079 2005-06-16  David Schleef  <ds@schleef.org>
16080
16081         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16082         (gst_capsfilter_set_property): Allow NULL as possible value
16083         for filter_caps property, indicating GST_CAPS_ANY.
16084
16085 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16086
16087         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16088           fix debug output
16089         * gst/schedulers/Makefile.am:
16090           use libgst prefix
16091         * gstreamer.spec.in:
16092           fix spec for it
16093
16094 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16095
16096         * gstreamer.spec.in:
16097           clean up
16098
16099 2005-06-08  Andy Wingo  <wingo@pobox.com>
16100
16101         * gst/gstutils.c: RPAD fixes all around.
16102         (gst_element_link_pads): Refcounting fixes.
16103
16104         * tools/gst-inspect.c:
16105         * tools/gst-xmlinspect.c:
16106         * parse/grammar.y:
16107         * gst/base/gsttypefindhelper.c:
16108         * gst/base/gstbasesink.c:
16109         * gst/gstqueue.c: RPAD fixes.
16110
16111         * gst/gstghostpad.h:
16112         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16113         pads. The tricky thing is they provide both source and sink
16114         interfaces, since they proxy the internal pad for the external
16115         pad, and vice versa. Implement with lower-level ProxyPad objects,
16116         with the interior proxy pad as a child of the exterior ghost pad.
16117         Should write a doc on this.
16118         
16119         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16120         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16121         gst_object API.
16122         
16123         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16124         pads are real pads. No ghost pads in this file. Not documenting
16125         the myriad s/RPAD/PAD/ and REALIZE fixes.
16126         (gst_pad_class_init): Add properties for "direction" and
16127         "template". Both are construct-only, so they can't change during
16128         the life of the pad. Fixes properly deriving from GstPad.
16129         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16130         derived objects, just set properties when creating the objects via
16131         g_object_new.
16132         (gst_pad_get_parent): Implement as a function, return NULL if the
16133         parent is not an element.
16134         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16135         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16136         
16137         * gst/gstobject.c (gst_object_class_init): Make name a construct
16138         property. Don't set it in the object init.
16139
16140         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16141         with UNKNOWN direction.
16142         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16143         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16144         (gst_element_remove_pad): Remove ghost-pad special cases.
16145         (gst_element_pads_activate): Remove rpad cruft.
16146
16147         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16148         catch the pad's-parent-not-an-element case.
16149
16150         * gst/gst.h: Include gstghostpad.h.
16151
16152         * gst/gst.c (init_post): No more real, ghost pads.
16153
16154         * gst/Makefile.am: Add gstghostpad.[ch].
16155
16156         * check/Makefile.am:
16157         * check/gst/gstbin.c:
16158         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16159         into a bin creates ghost pads, and that the refcounts are right.
16160         Partly moved from gstbin.c.
16161
16162 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16163
16164         * check/gst-libs/.cvsignore:
16165         * check/gst/.cvsignore:
16166         * check/pipelines/.cvsignore:
16167           ignore more
16168         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16169         (START_TEST), (cleanup_suite), (main):
16170           add some tests related to cleanup after running pipelines
16171
16172 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16173
16174         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16175           add a testsuite for GstBuffer
16176
16177 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16178
16179         * gst/gstminiobject.h:
16180           add defines for accessing the refcount
16181
16182 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16183
16184         * Makefile.am: added support for html unit test coverage reports
16185
16186 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16187
16188         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16189           Free existing caps if the capsfilter changes. Add a FIXME about
16190           setting those caps on the pads.
16191
16192         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16193           Before adding a ghost pad to a parent bin, check that there isn't
16194           already one for the element on the bin. Prevents infinite recursion
16195           when using decodebin in parse pipelines. Andy says he'll rewrite the
16196           way this works anyway, so ignore the hack.
16197
16198 2005-06-02  Andy Wingo  <wingo@pobox.com>
16199
16200         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16201         file size, pass it on to the type find helper.
16202
16203         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16204         segment_start and segment_end properly according to the seek
16205         method. Segment_end is still a bit flaky because offset can be
16206         negative for CUR and END cases, but it takes -1 as an "unset"
16207         value.
16208
16209 2005-06-02  Wim Taymans  <wim@fluendo.com>
16210
16211         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16212         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16213         (gst_basesink_activate):
16214         * gst/base/gstbasesink.h:
16215         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16216         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16217         (gst_pad_query), (gst_pad_start_task):
16218         * gst/gstpad.h:
16219         * gst/gstqueue.c: (gst_queue_bufferalloc),
16220         (gst_queue_handle_sink_event), (gst_queue_chain):
16221         Bufferalloc: return GstFlowReturn to more accuratly report
16222         why allocation failed.
16223
16224 2005-06-02  Wim Taymans  <wim@fluendo.com>
16225
16226         * gst/gstpipeline.c: (gst_pipeline_send_event):
16227         Take snapshot of state without blocking.
16228
16229 2005-06-02  Wim Taymans  <wim@fluendo.com>
16230
16231         * docs/design/part-TODO.txt:
16232         * docs/design/part-caps.txt:
16233         * docs/design/part-clocks.txt:
16234         * docs/design/part-negotiation.txt:
16235         * docs/design/part-preroll.txt:
16236         Small doc updates 
16237
16238 2005-05-30  Wim Taymans  <wim@fluendo.com>
16239
16240         * gst/elements/gstidentity.c: (gst_identity_event),
16241         (gst_identity_transform), (gst_identity_get_property):
16242         Protect last_message property as it is accessed from
16243         multiple threads.
16244
16245 2005-05-30  Wim Taymans  <wim@fluendo.com>
16246
16247         * gst/gstelement.c: (gst_element_init),
16248         (gst_element_pads_activate), (gst_element_change_state):
16249         Slicker pad activation code.
16250
16251 2005-05-30  Wim Taymans  <wim@fluendo.com>
16252
16253         * gst/Makefile.am:
16254         * gst/gstelement.h:
16255         * gst/gstelementfactory.h:
16256         * gst/gsttypes.h:
16257         Move elementfactory methods to separate .h file.
16258
16259 2005-05-30  Wim Taymans  <wim@fluendo.com>
16260
16261         * docs/design/part-overview.txt:
16262         * gst/gstsystemclock.h:
16263         Small typo fixes, doc updates.
16264
16265 2005-05-30  Wim Taymans  <wim@fluendo.com>
16266
16267         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16268         (init_popt_callback):
16269         Remove cpu-opt flag.
16270
16271 2005-05-30  Wim Taymans  <wim@fluendo.com>
16272
16273         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16274         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16275         * gst/gstbuffer.h:
16276         Avoid typechecking in places where not needed.
16277         Added accessor for malloc_data.
16278
16279 2005-05-30  Wim Taymans  <wim@fluendo.com>
16280
16281         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16282         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16283         (gst_pad_configure_sink), (gst_pad_configure_src),
16284         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16285         (gst_pad_start_task):
16286         Propagate errors from _set_caps() in configure_src/sink
16287         functions instead of returning TRUE.
16288         FLUSH events can travel up and downstream
16289
16290
16291 2005-05-30  Wim Taymans  <wim@fluendo.com>
16292
16293         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16294         (gst_basesink_activate):
16295         Handle EOS in preroll.
16296
16297 2005-05-30  Wim Taymans  <wim@fluendo.com>
16298
16299         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16300         (gst_queue_loop), (gst_queue_handle_src_event):
16301         Remove old pieces of code
16302         Flushing the queue in an upstream event is a very bad idea.
16303
16304 2005-05-26  Andy Wingo  <wingo@pobox.com>
16305
16306         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16307         gst_value_set_mini_object so as to add a ref on the object (which
16308         will be removed when the value is unset).
16309
16310         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16311         arg type in ::handoff.
16312
16313         * gst/gstelement.c (gst_element_change_state): Also deactivate
16314         pads in READY->NULL, just in case the element didn't make it to
16315         PAUSED. Wingo tested, Wim approved.
16316
16317 2005-05-26  Wim Taymans  <wim@fluendo.com>
16318
16319         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16320         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16321         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16322         A flushing pad cannot be used to alloc_buffer from.
16323
16324 2005-05-26  Wim Taymans  <wim@fluendo.com>
16325
16326         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16327         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16328         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16329         (gst_bus_create_watch), (gst_bus_add_watch_full):
16330         * gst/gstbus.h:
16331         Implement a real GSource and use g_main_context_wakeup() to
16332         signal new messages instead of the socketpair.
16333
16334 2005-05-25  Wim Taymans  <wim@fluendo.com>
16335
16336         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16337         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16338         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16339         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16340         (gst_pad_send_event), (gst_pad_start_task):
16341         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16342         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16343         (gst_queue_sink_activate), (gst_queue_src_activate),
16344         (gst_queue_change_state):
16345         * gst/gstqueue.h:
16346         Fix state changes for non sinks. We now change sinks, then elements
16347         with unconnected srcpads, then the rest.
16348         More efficient queue unlocking in flush and state changes.
16349         Set the pad activate mode even if it does not have an activate
16350         function.
16351
16352 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16353
16354         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16355           Don't go in pull mode for non-seekable sources.
16356         * gst/elements/gsttypefindelement.h:
16357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16358         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16359         (free_entry), (stop_typefinding),
16360         (gst_type_find_element_handle_event), (find_peek),
16361         (gst_type_find_element_chain), (do_pull_typefind),
16362         (gst_type_find_element_change_state):
16363           Allow typefinding (w/o seeking) in push-mode, simplified version
16364           of what was in 0.8.
16365         * gst/gstutils.c: (gst_buffer_join):
16366         * gst/gstutils.h:
16367           gst_buffer_join() from 0.8.
16368
16369 2005-05-25  Wim Taymans  <wim@fluendo.com>
16370
16371         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16372         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16373         (gst_pad_send_event), (gst_pad_start_task):
16374         Disable attempt at mode switching until it is figured out.
16375
16376 2005-05-25  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16379         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16380         (gst_basesink_finish_preroll), (gst_basesink_chain),
16381         (gst_basesink_loop), (gst_basesink_activate),
16382         (gst_basesink_change_state):
16383         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16384         (gst_basesrc_get_range), (gst_basesrc_loop),
16385         (gst_basesrc_activate):
16386         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16387         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16388         (gst_real_pad_init), (gst_real_pad_set_property),
16389         (gst_real_pad_get_property), (gst_pad_set_active),
16390         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16391         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16392         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16393         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16394         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16395         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16396         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16397         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16398         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16399         (gst_pad_stop_task):
16400         * gst/gstpad.h:
16401         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16402         (gst_queue_loop), (gst_queue_src_activate):
16403         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16404         (gst_task_get_state):
16405         * gst/gsttask.h:
16406         * gst/schedulers/threadscheduler.c:
16407         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16408         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16409         in task function.
16410         Remove ACTIVE pad flag, use FLUSHING everywhere
16411         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16412         functions.
16413         Add locks around IS_FLUSHING when reading.
16414         Take STREAM lock in chain(), get_range() functions so plugins
16415         don't need to take it anymore.
16416         
16417
16418
16419 2005-05-25  Wim Taymans  <wim@fluendo.com>
16420
16421         * tools/gst-launch.c: (event_loop):
16422         Unref message after using its contents instead of
16423         before.
16424
16425 2005-05-24  Wim Taymans  <wim@fluendo.com>
16426
16427         * docs/design/draft-ghostpads.txt:
16428         * docs/design/draft-push-pull.txt:
16429         * docs/design/draft-query.txt:
16430         * docs/design/part-overview.txt:
16431         Docs updates, added general overview doc.
16432
16433 2005-05-21  David Schleef  <ds@schleef.org>
16434
16435         * docs/gst/tmpl/old/GstBin.sgml:
16436         * docs/gst/tmpl/old/GstBuffer.sgml:
16437         * docs/gst/tmpl/old/GstCaps.sgml:
16438         * docs/gst/tmpl/old/GstClock.sgml:
16439         * docs/gst/tmpl/old/GstCompat.sgml:
16440         * docs/gst/tmpl/old/GstData.sgml:
16441         * docs/gst/tmpl/old/GstElement.sgml:
16442         * docs/gst/tmpl/old/GstEvent.sgml:
16443         * docs/gst/tmpl/old/GstIndex.sgml:
16444         * docs/gst/tmpl/old/GstStructure.sgml:
16445         * docs/gst/tmpl/old/GstTag.sgml:
16446         * docs/gst/tmpl/old/cothreads.sgml:
16447         * docs/gst/tmpl/old/cothreads_compat.sgml:
16448         * docs/gst/tmpl/old/gettext.sgml:
16449         * docs/gst/tmpl/old/gobject2gtk.sgml:
16450         * docs/gst/tmpl/old/grammar.tab.sgml:
16451         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16452         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16453         * docs/gst/tmpl/old/gst_private.sgml:
16454         * docs/gst/tmpl/old/gstaggregator.sgml:
16455         * docs/gst/tmpl/old/gstarch.sgml:
16456         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16457         * docs/gst/tmpl/old/gstbufferstore.sgml:
16458         * docs/gst/tmpl/old/gstdata_private.sgml:
16459         * docs/gst/tmpl/old/gstdisksink.sgml:
16460         * docs/gst/tmpl/old/gstdisksrc.sgml:
16461         * docs/gst/tmpl/old/gstelementfactory.sgml:
16462         * docs/gst/tmpl/old/gstextratypes.sgml:
16463         * docs/gst/tmpl/old/gstfakesink.sgml:
16464         * docs/gst/tmpl/old/gstfakesrc.sgml:
16465         * docs/gst/tmpl/old/gstfdsink.sgml:
16466         * docs/gst/tmpl/old/gstfdsrc.sgml:
16467         * docs/gst/tmpl/old/gstfilesink.sgml:
16468         * docs/gst/tmpl/old/gstfilesrc.sgml:
16469         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16470         * docs/gst/tmpl/old/gstidentity.sgml:
16471         * docs/gst/tmpl/old/gstindexfactory.sgml:
16472         * docs/gst/tmpl/old/gstmarshal.sgml:
16473         * docs/gst/tmpl/old/gstmd5sink.sgml:
16474         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16475         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16476         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16477         * docs/gst/tmpl/old/gstpipefilter.sgml:
16478         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16479         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16480         * docs/gst/tmpl/old/gstshaper.sgml:
16481         * docs/gst/tmpl/old/gstspider.sgml:
16482         * docs/gst/tmpl/old/gstspideridentity.sgml:
16483         * docs/gst/tmpl/old/gststatistics.sgml:
16484         * docs/gst/tmpl/old/gsttee.sgml:
16485         * docs/gst/tmpl/old/gsttimecache.sgml:
16486         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16487         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16488         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16489         * docs/gst/tmpl/old/types.sgml:
16490           I didn't intend to add these or check them in.
16491
16492 2005-05-19  David Schleef  <ds@schleef.org>
16493
16494         * configure.ac: Use -no-common everywhere.  In a sane world, it
16495           would be the default in libtool, because without it, you can't
16496           build DLLs on Windows.
16497         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16498         * docs/gst/gstreamer-sections.txt:
16499         * docs/gst/tmpl/gstcpu.sgml:
16500         * docs/gst/tmpl/gstdata.sgml:
16501         * docs/gst/tmpl/gstthread.sgml:
16502
16503 2005-05-19  David Schleef  <ds@schleef.org>
16504
16505         * gst/gstminiobject.c: (gst_value_set_mini_object),
16506         (gst_value_take_mini_object), (gst_value_get_mini_object):
16507         * gst/gstminiobject.h: Add GValue set/get functions.
16508
16509 2005-05-19  Wim Taymans  <wim@fluendo.com>
16510
16511         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16512         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16513         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16514         * gst/gstbuffer.h:
16515         * gst/gstbus.c: (gst_bus_post):
16516         * gst/gstelement.c: (gst_element_get_random_pad):
16517         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16518         Make subbufer unref the parent in finalize.
16519         some more debugging info.
16520
16521
16522 2005-05-19  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16525         (gst_basesink_init), (gst_basesink_finalize),
16526         (gst_basesink_activate), (gst_basesink_change_state):
16527         Don't free preroll queue too early.
16528
16529 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16530
16531         * gst/Makefile.am:
16532         * gst/ROADMAP:
16533           Hi, I'm outdated. Please shoot me.
16534
16535 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16536
16537         * gst/gstpipeline.c: (gst_pipeline_send_event):
16538           Do not access variables after they have been deleted.
16539
16540 2005-05-19  Wim Taymans  <wim@fluendo.com>
16541
16542         * tools/gst-inspect.c: (print_plugin_features):
16543         A plugin feature does unfortunatly not use the
16544         object name yet...
16545
16546 2005-05-18  Wim Taymans  <wim@fluendo.com>
16547
16548         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16549         Port _span() functions to new subbuffers.
16550
16551 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16552
16553         * gst/gstbin.c: (gst_bin_add_func):
16554           Fix clock settery in bins when adding kids after the clock has
16555           been selected.
16556
16557 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16558
16559         * gst/elements/gstidentity.c: (gst_identity_class_init):
16560           Workaround until signals support GstMiniObject.
16561
16562 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16563
16564         * gst/gstbuffer.c:
16565         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16566
16567 2005-05-18  Wim Taymans  <wim@fluendo.com>
16568
16569         * gst/base/Makefile.am:
16570         * gst/base/gstadapter.c: (gst_adapter_base_init),
16571         (gst_adapter_class_init), (gst_adapter_init),
16572         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16573         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16574         (gst_adapter_flush), (gst_adapter_available),
16575         (gst_adapter_available_fast):
16576         * gst/base/gstadapter.h:
16577         Ported and added adapter to the base classes.
16578
16579 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16580
16581         * gst/gst.c:
16582         * gst/gstmessage.c:
16583           Make sure the class is reffed/unreffed once before threads can be
16584           used.  Fixes #304551.
16585
16586 2005-05-17  Wim Taymans  <wim@fluendo.com>
16587
16588         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16589         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16590         * gst/gstminiobject.c: (gst_mini_object_get_type),
16591         (gst_mini_object_free):
16592         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16593         (gst_pad_push), (gst_pad_push_event):
16594         * gst/gstqueue.c: (gst_queue_change_state):
16595         Don't queue buffers in basesink when we are flushing.
16596         Unref buffer when flushing in basesink.
16597         Flush queue when going to READY
16598         Unref buffer when _push() returns an error.
16599         Don't free MiniObject instance when refcount is incremented
16600         in _finalize() so that we can recover objects.
16601
16602 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16603
16604         * docs/manual/advanced-schedulers.xml:
16605         * docs/manual/appendix-checklist.xml:
16606         * docs/pwg/advanced-clock.xml:
16607         * docs/pwg/advanced-interfaces.xml:
16608         * docs/pwg/advanced-request.xml:
16609         * docs/pwg/advanced-types.xml:
16610         * docs/pwg/intro-preface.xml:
16611         * examples/plugins/example.c: (gst_example_get_type),
16612         (gst_example_class_init), (gst_example_chain),
16613         (gst_example_set_property), (gst_example_get_property),
16614         (gst_example_change_state), (plugin_init):
16615         * examples/plugins/example.h:
16616           small doc fixes
16617
16618 2005-05-17  Wim Taymans  <wim@fluendo.com>
16619
16620         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16621         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16622         * gst/gstqueue.c: (gst_queue_change_state):
16623         Clear queue when going to READY.
16624         Remove IN_SETCAPS flag too.
16625
16626 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16627
16628         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16629           Remove implicit cast from gboolean to GstElementStateReturn;
16630           make sure we still return failure in paused => ready case if
16631           the parent class fails to change state and our own stop 
16632           vfunc succeeds.
16633
16634 2005-05-17  Wim Taymans  <wim@fluendo.com>
16635
16636         * tools/gst-launch.c: (event_loop):
16637         Message was unreffed too soon.
16638
16639 2005-05-16  Andy Wingo  <wingo@pobox.com>
16640
16641         * gst/gstbin.c (sink_iterator_filter): Err... um...
16642
16643         * check/gst/gstbin.c (test_ghost_pads): New test for the
16644         ghosting-if-elements-not-in-same-bin behavior.
16645
16646 2005-05-16  David Schleef  <ds@schleef.org>
16647
16648         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16649         accessing refcount directly.
16650
16651 2005-05-15  David Schleef  <ds@schleef.org>
16652
16653         * check/Makefile.am: remove GstData checks
16654         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16655         * gst/Makefile.am: add miniobject, remove data
16656         * gst/gst.h: add miniobject, remove data
16657         * gst/gstdata.c: remove
16658         * gst/gstdata.h: remove
16659         * gst/gstdata_private.h: remove
16660         * gst/gsttypes.h: remove GstEvent and GstMessage
16661         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16662         * gst/gstmarshal.list: change BOXED -> OBJECT
16663
16664         Implement GstMiniObject.
16665         * gst/gstminiobject.c:
16666         * gst/gstminiobject.h:
16667
16668         Modify to be subclasses of GstMiniObject.
16669         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16670         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16671         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16672         (gst_subbuffer_get_type), (gst_subbuffer_init),
16673         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16674         (gst_buffer_span):
16675         * gst/gstbuffer.h:
16676         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16677         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16678         (_gst_event_copy), (gst_event_new):
16679         * gst/gstevent.h:
16680         * gst/gstmessage.c: (_gst_message_initialize),
16681         (gst_message_get_type), (gst_message_class_init),
16682         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16683         (gst_message_new), (gst_message_new_error),
16684         (gst_message_new_warning), (gst_message_new_tag),
16685         (gst_message_new_state_changed), (gst_message_new_application):
16686         * gst/gstmessage.h:
16687         * gst/gstprobe.c: (gst_probe_perform),
16688         (gst_probe_dispatcher_dispatch):
16689         * gst/gstprobe.h:
16690         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16691         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16692         (_gst_query_copy), (gst_query_new):
16693
16694         Update elements for GstData -> GstMiniObject changes
16695         * gst/gstquery.h:
16696         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16697         (gst_queue_chain), (gst_queue_loop):
16698         * gst/elements/gstbufferstore.c:
16699         (gst_buffer_store_add_buffer_func),
16700         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16701         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16702         (gst_fakesink_render):
16703         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16704         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16705         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16706         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16707         (gst_filesrc_create_read):
16708         * gst/elements/gstidentity.c: (gst_identity_class_init):
16709         * gst/elements/gsttypefindelement.c:
16710         (gst_type_find_element_src_event), (free_entry_buffers),
16711         (gst_type_find_element_handle_event):
16712         * libs/gst/dataprotocol/dataprotocol.c:
16713         (gst_dp_header_from_buffer):
16714         * libs/gst/dataprotocol/dataprotocol.h:
16715         * libs/gst/dataprotocol/dp-private.h:
16716
16717 2005-05-15  David Schleef  <ds@schleef.org>
16718
16719         * gst/elements/gstelements.c: Don't include headers that were
16720         just removed.
16721
16722 2005-05-15  David Schleef  <ds@schleef.org>
16723
16724         * gst/elements/Makefile.am: Remove some elements that don't
16725         need to be in the core (or even exist at all).
16726         * gst/elements/gstaggregator.c:
16727         * gst/elements/gstaggregator.h:
16728         * gst/elements/gstmd5sink.c:
16729         * gst/elements/gstmd5sink.h:
16730         * gst/elements/gstmultifilesrc.c:
16731         * gst/elements/gstmultifilesrc.h:
16732         * gst/elements/gstpipefilter.c:
16733         * gst/elements/gstpipefilter.h:
16734         * gst/elements/gstshaper.c:
16735         * gst/elements/gstshaper.h:
16736         * gst/elements/gststatistics.c:
16737         * gst/elements/gststatistics.h:
16738         * po/POTFILES.in: Remove above files.
16739
16740 2005-05-14  Andy Wingo  <wingo@pobox.com>
16741
16742         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16743         so as to get the refs right.
16744         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16745         unreffing objects that don't pass the filter.
16746
16747         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16748         gst_element_set_bus.
16749         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16750         normal cases, this will destroy the bus.
16751
16752         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16753         object.
16754
16755         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16756         has no sinks.
16757
16758 2005-05-13  Andy Wingo  <wingo@pobox.com>
16759
16760         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16761         gst_pad_link, call pad_link_maybe_ghosting,
16762         (pad_link_maybe_ghosting): Links pads, making sure that the
16763         elements being linked are in the same bin.
16764         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16765         Helpers for pad_link_maybe_ghosting.
16766
16767 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16768
16769         * configure.ac:
16770           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16771
16772 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16773
16774         * docs/design/part-element-source.txt:
16775           Mention GstPushSrc
16776
16777 2005-05-12  Wim Taymans  <wim@fluendo.com>
16778
16779         * gst/base/gstbasesink.c: (gst_basesink_init),
16780         (gst_basesink_activate):
16781         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16782         (gst_basesrc_is_seekable):
16783         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16784         (bin_element_is_sink), (gst_bin_change_state):
16785         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16786         * gst/gstelement.h:
16787         Identify sinks by their flag to avoid overly complicated
16788         checks (fow now).
16789         Do state changes even for elements not reachable from the
16790         sinks.
16791         BaseSink is a sink now :)
16792         Some more debugging info in the basesrc.
16793
16794
16795 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16796
16797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16798           Implement _query on a bin, similar to _send_event.
16799
16800 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16801
16802         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16803           Discont event offset format should be GST_FORMAT_BYTES,
16804           not GST_FORMAT_TIME.
16805
16806 2005-05-12  Wim Taymans  <wim@fluendo.com>
16807
16808         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16809         Same fix as Ronald's but without the signal. 
16810
16811 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16812
16813         * gst/gstutils.c: (gst_element_query_position):
16814           No, an element is not a pad.
16815
16816 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16817
16818         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16819         (gst_bin_get_state):
16820           If a child is removed from a bin while we remove the child from
16821           the bin and while we're retrieving its state, signal this to the
16822           get_state function so we abort the wait (instead of waiting for
16823           a timeout) and can immediately re-iterate over all other elements.
16824
16825 2005-05-12  Wim Taymans  <wim@fluendo.com>
16826
16827         * gst/base/Makefile.am:
16828         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16829         (gst_basesrc_start):
16830         * gst/base/gstbasesrc.h:
16831         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16832         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16833         (gst_pushsrc_init), (gst_pushsrc_create):
16834         * gst/base/gstpushsrc.h:
16835         Added is_seekable to BaseSrc
16836         Added simple PushSrc.
16837
16838 2005-05-11  Wim Taymans  <wim@fluendo.com>
16839
16840         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16841         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16842         (gst_element_link_pads), (gst_element_query_position),
16843         (gst_element_query_convert), (intersect_caps_func),
16844         (gst_pad_query_position), (gst_pad_query_convert):
16845         Fix refcounting in utils function.
16846         No point in trying to activate a pad when it's added, it could
16847         be added from the state change function and then we deadlock, the
16848         element has to decide what to do.
16849
16850 2005-05-10  Andy Wingo  <wingo@pobox.com>
16851
16852         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16853         *all* the arguments.
16854
16855         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16856         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16857         lock (according to the docs -- if this is wrong change the docs).
16858
16859         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16860         flush messages in the NULL state.
16861
16862         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16863         message immediately and return.
16864         (gst_bus_set_flushing): New function. If a bus is flushing, it
16865         flushes out any queued messages and immediately unrefs new
16866         messages. This is so when an element goes to NULL, all of the
16867         unhandled messages coming from it can be freed, and their
16868         references to the element dropped. In other words: message source
16869         ref considered harmful :P
16870
16871         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16872         we're finished with it.
16873
16874         * gst/gstmessage.c (gst_message_new_state_changed): 
16875
16876 2005-05-10  Wim Taymans  <wim@fluendo.com>
16877
16878         * gst/gstvalue.c: (gst_value_compare_flags),
16879         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16880         (_gst_value_initialize):
16881         Added flags serialize/deserialize/compare code.
16882
16883 2005-05-09  Andy Wingo  <wingo@pobox.com>
16884
16885         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16886         Intersect the peer's caps with our caps.
16887
16888 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16889
16890         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16891         * gst/elements/gsttypefindelement.c: (find_peek):
16892           Handle negative offsets better. Fixes decodebin.
16893
16894 2005-05-09  Wim Taymans  <wim@fluendo.com>
16895
16896         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16897         (gst_base_transform_event):
16898         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16899         Implement accept_caps.
16900         Fix silly lock/unlock mismatch in base class.
16901
16902 2005-05-09  Wim Taymans  <wim@fluendo.com>
16903
16904         * docs/design/draft-push-pull.txt:
16905         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16906         * gst/elements/gstfilesink.c: (gst_filesink_init),
16907         (gst_filesink_query):
16908         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16909         (gst_type_find_handle_src_query), (find_element_get_length):
16910         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16911         * gst/gstelement.h:
16912         * gst/gstmessage.c:
16913         * gst/gstmessage.h:
16914         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16915         (gst_real_pad_get_caps_unlocked),
16916         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16917         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16918         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16919         (gst_real_pad_dispose), (gst_real_pad_finalize),
16920         (gst_pad_load_and_link), (gst_pad_save_thyself),
16921         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16922         (gst_pad_check_pull_range), (gst_pad_pull_range),
16923         (gst_pad_template_get_type), (gst_pad_template_class_init),
16924         (gst_pad_template_init), (gst_pad_template_dispose),
16925         (name_is_valid), (gst_static_pad_template_get),
16926         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16927         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16928         (gst_pad_get_element_private), (gst_pad_start_task),
16929         (gst_pad_pause_task), (gst_pad_stop_task),
16930         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16931         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16932         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16933         (gst_ghost_pad_new):
16934         * gst/gstpad.h:
16935         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16936         (gst_query_new_position), (gst_query_set_position),
16937         (gst_query_parse_position), (gst_query_new_convert),
16938         (gst_query_set_convert), (gst_query_parse_convert):
16939         * gst/gstquery.h:
16940         * gst/gstqueryutils.c:
16941         * gst/gstqueryutils.h:
16942         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16943         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16944         (gst_queue_handle_src_query):
16945         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16946         (gst_element_query_position), (gst_element_query_convert),
16947         (intersect_caps_func), (gst_pad_query_position),
16948         (gst_pad_query_convert):
16949         * gst/gstutils.h:
16950         * tools/gst-inspect.c: (print_pad_info):
16951         * tools/gst-xmlinspect.c: (print_element_info):
16952         Remove old query functions. Ported old code.
16953         Added position/convert helper functions to gstutils.
16954         Reordered gstpad.c code, grouping relevant things.
16955         Remove gst_message_new(), always need to speficy a specific
16956         message.
16957
16958
16959 2005-05-09  Andy Wingo  <wingo@pobox.com>
16960
16961         * gst/gstiterator.h: Add some includes.
16962
16963         * gst/gstqueryutils.h: Include more headers.
16964
16965         * gst/gstpad.h:
16966         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16967         some uses of gst_pad_query.
16968
16969         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16970         NULL out parameters.
16971         (gst_query_new_position): New proc, allocates a new position
16972         query.
16973
16974         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16975         gstqueryutils.c to the build.
16976
16977         * gst/gststructure.c (gst_structure_set_valist): Implement with
16978         the generic G_VALUE_COLLECT.
16979         
16980 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16981
16982         * gst/Makefile.am: (gst_headers):
16983         Added gstqueryutils.h to the list of headers to install, that was
16984         a 'nachty' move wingo :)
16985
16986 2005-05-06  Andy Wingo  <wingo@pobox.com>
16987
16988         * gst/gstquery.h
16989         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16990         GstData, init a memchunk.
16991         (standard_definitions): Add a few query types, deprecate a few.
16992         (gst_query_get_type): New proc.
16993         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16994         implementation.
16995         (gst_query_new_application, gst_query_get_structure): New public
16996         procs.
16997
16998         * docs/design/draft-query.txt: Removed LINKS from the query types,
16999         because all the rest can be dispatched to other pads -- seemed
17000         ugly to have a query that couldn't be dispatched. internal_links
17001         is fine as a pad method.
17002
17003         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17004         in gstpad.c, but maintain binary compatibility for the moment.
17005         Will fix before 0.9 is out.
17006
17007         * gst/gstqueryutils.c: 
17008         * gst/gstqueryutils.h: New files, implement 3 methods for each
17009         query type: parse_query, parse_response, and set. Probably need an
17010         allocator as well.
17011
17012         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17013
17014         * gst/elements/gstfilesink.c (gst_filesink_query2):
17015         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17016         query_types, and formats methods.
17017
17018         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17019         (gst_pad_set_query2_function): New functions.
17020         (gst_real_pad_init): Set query2_default as the default query2
17021         function. Basically just dispatches to internally linked pads.
17022
17023         Needs review!
17024         
17025         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17026         without using the atomic operations. Only one thread can possibly
17027         be accessing the data at this point. Changed so as to avoid
17028         gst_atomic operations.
17029
17030 2005-05-06  Wim Taymans  <wim@fluendo.com>
17031
17032         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17033         Also set caps if we use the fallback buffer alloc.
17034
17035 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17036
17037         * docs/gst/Makefile.am:
17038         * docs/gst/gstreamer-docs.sgml:
17039         * docs/gst/gstreamer-sections.txt:
17040         * docs/gst/tmpl/gstatomic.sgml:
17041         * docs/gst/tmpl/gstmemchunk.sgml:
17042         * testsuite/elements/struct_i386.h:
17043         * win32/GStreamer.vcproj:
17044         * win32/Makefile:
17045           Purge GstAtomic stuff from docs and win32 makefiles as well
17046
17047 2005-05-06  Wim Taymans  <wim@fluendo.com>
17048
17049         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17050         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17051         * gst/gstpad.c: (gst_pad_peer_get_caps):
17052         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17053         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17054         (gst_queue_src_activate), (gst_queue_change_state):
17055         * gst/gstqueue.h:
17056         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17057         (intersect_caps_func):
17058         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17059         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17060         Some fixes for the peer_get_caps() change.
17061
17062 2005-05-06  Wim Taymans  <wim@fluendo.com>
17063
17064         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17065         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17066         (gst_basesink_activate):
17067         Actually do something with error codes returned from the push
17068         functions.
17069
17070 2005-05-06  Wim Taymans  <wim@fluendo.com>
17071
17072         * docs/design/part-element-sink.txt:
17073         * docs/design/part-element-source.txt:
17074         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17075         (gst_basesink_event), (gst_basesink_activate):
17076         * gst/base/gstbasesink.h:
17077         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17078         (gst_basesrc_activate):
17079         * gst/base/gstbasesrc.h:
17080         * gst/gstelement.c: (gst_element_pads_activate):
17081         Some more documentation.
17082         Fixed scheduling decision in _pads_activate().
17083
17084 2005-05-05  Andy Wingo  <wingo@pobox.com>
17085
17086         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17087         the test suite.
17088
17089 2005-05-05  Wim Taymans  <wim@fluendo.com>
17090
17091         * gst/base/Makefile.am:
17092         * gst/base/gstbasesink.h:
17093         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17094         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17095         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17096         (gst_collectpads_class_init), (gst_collectpads_init),
17097         (gst_collectpads_finalize), (gst_collectpads_new),
17098         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17099         (find_pad), (gst_collectpads_remove_pad),
17100         (gst_collectpads_is_active), (gst_collectpads_collect),
17101         (gst_collectpads_collect_range), (gst_collectpads_start),
17102         (gst_collectpads_stop), (gst_collectpads_peek),
17103         (gst_collectpads_pop), (gst_collectpads_available),
17104         (gst_collectpads_read), (gst_collectpads_flush),
17105         (gst_collectpads_chain):
17106         * gst/base/gstcollectpads.h:
17107         * gst/elements/Makefile.am:
17108         * gst/elements/gstelements.c:
17109         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17110         (gst_fakesink_get_times), (gst_fakesink_event),
17111         (gst_fakesink_preroll), (gst_fakesink_render):
17112         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17113         (gst_filesink_init), (gst_filesink_set_location),
17114         (gst_filesink_open_file), (gst_filesink_close_file),
17115         (gst_filesink_pad_query), (gst_filesink_event),
17116         (gst_filesink_render), (gst_filesink_change_state):
17117         * gst/elements/gstfilesink.h:
17118         Added object to help in making collect pad based elements.
17119         Ported filesink.
17120         Make event function in sink baseclass return gboolean.
17121
17122 2005-05-05  Wim Taymans  <wim@fluendo.com>
17123
17124         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17125         (gst_bin_get_by_name):
17126         * gst/gstbuffer.h:
17127         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17128         (gst_clock_finalize):
17129         * gst/gstdata.c: (gst_data_replace):
17130         * gst/gstdata.h:
17131         * gst/gstelement.c: (gst_element_request_pad),
17132         (gst_element_pads_activate):
17133         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17134         (gst_object_unref):
17135         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17136         (gst_pad_set_checkgetrange_function),
17137         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17138         (gst_pad_check_pull_range), (gst_pad_pull_range),
17139         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17140         (gst_pad_pause_task), (gst_pad_stop_task):
17141         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17142         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17143         Fix name lookup in GstBin.
17144         Added _data_replace() function and _buffer_replace()
17145         Use finalize method to clean up clock.
17146         Fix refcounting on request pads.
17147         Fix pad schedule mode error.
17148         Some more object refcounting debug info,
17149
17150
17151 2005-05-04  Andy Wingo <wingo@pobox.com>
17152
17153         * check/Makefile.am:
17154         * docs/gst/tmpl/gstatomic.sgml:
17155         * docs/gst/tmpl/gstplugin.sgml:
17156         * gst/base/gstbasesink.c: (gst_basesink_activate):
17157         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17158         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17159         (gst_basesrc_query), (gst_basesrc_set_property),
17160         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17161         (gst_basesrc_activate):
17162         * gst/base/gstbasesrc.h:
17163         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17164         (gst_base_transform_src_activate):
17165         * gst/elements/gstelements.c:
17166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17167         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17168         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17169         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17170         (gst_type_find_element_checkgetrange),
17171         (gst_type_find_element_activate):
17172         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17173         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17174         (gst_caps_load_thyself):
17175         * gst/gstelement.c: (gst_element_pads_activate),
17176         (gst_element_save_thyself), (gst_element_restore_thyself):
17177         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17178         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17179         * gst/gstpad.h:
17180         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17181         (gst_xml_parse_file), (gst_xml_parse_memory),
17182         (gst_xml_get_element), (gst_xml_make_element):
17183         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17184         (_file_index_id_save_xml), (gst_file_index_commit):
17185         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17186         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17187         (load_paths):
17188         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17189         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17190         * tools/gst-complete.c: (main):
17191         * tools/gst-compprep.c: (main):
17192         * tools/gst-inspect.c: (print_element_properties_info):
17193         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17194         * tools/gst-xmlinspect.c: (print_element_properties):
17195         GCC 4 fixen.
17196         
17197 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17198
17199         * gst/gstplugin.c: (gst_plugin_check_module),
17200         (gst_plugin_check_file), (gst_plugin_load_file):
17201             apply patch from #172526 to make register work on MacOSX
17202
17203 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17204
17205         * docs/gst/tmpl/gstconfig.sgml:
17206         * gst/gstconfig.h.in:
17207           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17208         * testsuite/debug/printf_extension.c: (main):
17209           Do not use GST_PTR_FORMAT on pointers to types with
17210           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17211         * testsuite/elements/property.h:
17212           use correct printf format
17213
17214 2005-05-02  Wim Taymans  <wim@fluendo.com>
17215
17216         * docs/design/draft-push-pull.txt:
17217         * docs/design/draft-query.txt:
17218         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17219         (gst_basesrc_start):
17220         Added draft for new query API.
17221         Added draft for better selecting scheduling methods.
17222         Make basesrc ignore length if the subclass does not support
17223         it.
17224
17225 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17226
17227         * gst/Makefile.am:
17228           possible fixes for automake-1.5 - _LIBADD is reserved
17229
17230 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17231
17232         * docs/faq/Makefile.am:
17233         * docs/manual/Makefile.am:
17234         * docs/manuals.mak:
17235         * docs/pwg/Makefile.am:
17236         * gst/Makefile.am:
17237           possible fixes for automake-1.5
17238
17239 2005-04-28  Wim Taymans  <wim@fluendo.com>
17240
17241         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17242         (gst_basesink_pad_getcaps), (gst_basesink_init),
17243         (gst_basesink_do_sync):
17244         * gst/gstclock.c: (gst_clock_entry_new):
17245         * gst/gstevent.c: (gst_event_discont_get_value):
17246         * gst/gstpipeline.c: (pipeline_bus_handler),
17247         (gst_pipeline_change_state):
17248         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17249         Better debugging of clocking info.
17250         Allow NULL values when getting discont values.
17251
17252 2005-04-27  Wim Taymans  <wim@fluendo.com>
17253
17254         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17255         * check/gst/gstpad.c: (gst_pad_suite):
17256         Increase timeout for checks.
17257
17258 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17259
17260         * check/Makefile.am:
17261           fix the broken rule for cleanup.  Apparently this rule is
17262           only needed on FC2, so maybe this warrants further autotool
17263           inspection.
17264
17265 2005-04-26  Wim Taymans  <wim@fluendo.com>
17266
17267         * gst/gsttrashstack.h:
17268         Ooohh. a nasty one! After having a failed pop() from the stack,
17269         it's possible that the stack is empty. In that case, don't
17270         follow the NULL pointer.
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),
17276         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17277         (gst_pad_check_pull_range), (gst_pad_pull_range),
17278         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17279         (gst_pad_pause_task), (gst_pad_stop_task):
17280         * gst/gstplugin.c: (gst_plugin_load):
17281         * gst/gstplugin.h:
17282         Remove gst_library_load as it does more harm than good with
17283         the new g_module flags.
17284         Revert bogus caps template check in pad linking, pad caps
17285         are important when linking not the template, which is more
17286         general than the current caps.
17287
17288 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17289
17290         * gst/autoplug/.cvsignore:
17291         * gst/autoplug/Makefile.am:
17292         * gst/autoplug/gstsearchfuncs.c:
17293         * gst/autoplug/gstsearchfuncs.h:
17294         * gst/autoplug/gstspider.c:
17295         * gst/autoplug/gstspider.h:
17296         * gst/autoplug/gstspideridentity.c:
17297         * gst/autoplug/gstspideridentity.h:
17298         * gst/autoplug/spidertest.c:
17299           Die, spider, die.
17300
17301 2005-04-25  Wim Taymans  <wim@fluendo.com>
17302
17303         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17304         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17305         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17306         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17307         * gst/gstpad.h:
17308         Added stubs for unimplemented functions. 
17309
17310 2005-04-24  David Schleef  <ds@schleef.org>
17311
17312         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17313         please fix.
17314
17315 2005-04-24  David Schleef  <ds@schleef.org>
17316
17317         Convert everything from GstAtomicInt to g_atomic_int_*, and
17318         remove gstatomic.
17319         * gst/Makefile.am:
17320         * gst/gstatomic.c:
17321         * gst/gstatomic.h:
17322         * gst/gstatomic_impl.h:
17323         * gst/gstbuffer.c:
17324         * gst/gstcaps.c:
17325         * gst/gstcaps.h:
17326         * gst/gstclock.c:
17327         * gst/gstclock.h:
17328         * gst/gstdata.c:
17329         * gst/gstdata.h:
17330         * gst/gstdata_private.h:
17331         * gst/gstevent.c:
17332         * gst/gstinfo.c:
17333         * gst/gstinfo.h:
17334         * gst/gstmessage.c:
17335         * gst/gstobject.c:
17336         * gst/gstobject.h:
17337         * gst/gststructure.c:
17338         * gst/gststructure.h:
17339         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17340         * gst/gstutils.h:
17341
17342 2005-04-24  David Schleef  <ds@schleef.org>
17343
17344         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17345         make the regressions tests work.  Remove some code that is no
17346         longer true.
17347         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17348         Disable warning for pads without templates.
17349
17350 2005-04-24  David Schleef  <ds@schleef.org>
17351
17352         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17353         functions that handle filtered links.
17354         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17355         removed functions.
17356         * gst/gstutils.c: Fix/remove utility functions that handle
17357         filtered caps.
17358         * gst/gstutils.h:
17359         * gst/gstvalue.c: Add serialization/deserialization of caps
17360         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17361         requires fixing so that the filter caps notation creates
17362         a capsfilter element and sets the filter_caps property.  I
17363         think everyone probably wants to keep the shorthand notation.
17364         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17365         * docs/gst/tmpl/gstpad.sgml:
17366
17367         * gst/elements/gstelements.c: Register capsfilter element.
17368         * gst/Makefile.am: fix spacing
17369         * docs/random/ds/0.9-suggested-changes: random
17370
17371 2005-04-23  David Schleef  <ds@schleef.org>
17372
17373         * gst/elements/Makefile.am:
17374         * gst/elements/gstcapsfilter.c: New element that acts like an
17375         identity, but filters caps.  Will eventually replace filtered
17376         caps in pad linking.
17377         * gst/gstutils.c: (gst_element_create_all_pads): New function
17378         to create all the ALWAYS pads that are registered with an
17379         element class.  This functionality should eventually be
17380         merged in with GstElement initialization.
17381         * gst/gstutils.h:
17382         * testsuite/trigger/README: part of trigger test code that should
17383         have been checked in a long time ago.
17384
17385 2005-04-23  David Schleef  <ds@schleef.org>
17386
17387         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17388         needed with new versions of libtool (nobody will confirm this),
17389         and hard to carry around.
17390         * gst/autoplug/Makefile.am:
17391         * gst/base/Makefile.am:
17392         * gst/elements/Makefile.am:
17393         * gst/indexers/Makefile.am:
17394         * gst/schedulers/Makefile.am:
17395         * libs/gst/bytestream/Makefile.am:
17396         * libs/gst/control/Makefile.am:
17397         * libs/gst/dataprotocol/Makefile.am:
17398         * libs/gst/getbits/Makefile.am:
17399
17400 2005-04-21  Wim Taymans  <wim@fluendo.com>
17401
17402         * docs/design/draft-push-pull.txt:
17403         * docs/design/part-MT-refcounting.txt:
17404         * docs/design/part-TODO.txt:
17405         * docs/design/part-caps.txt:
17406         * docs/design/part-events.txt:
17407         * docs/design/part-gstbus.txt:
17408         * docs/design/part-gstpipeline.txt:
17409         * docs/design/part-messages.txt:
17410         * docs/design/part-push-pull.txt:
17411         * docs/design/part-query.txt:
17412         Some more docs.
17413
17414 2005-04-21  Wim Taymans  <wim@fluendo.com>
17415
17416         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17417         (gst_message_new), (gst_message_new_error),
17418         (gst_message_new_warning), (gst_message_new_tag),
17419         (gst_message_new_state_changed), (gst_message_new_application),
17420         (gst_message_get_structure):
17421         * gst/gstmessage.h:
17422         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17423         (gst_structure_copy_conditional):
17424         Use parent refcount in GstMessage to ensure GstStructure
17425         consistency.
17426         Cleaned up headers a bit.
17427         
17428
17429 2005-04-20  Wim Taymans  <wim@fluendo.com>
17430
17431         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17432         (gst_basesink_pad_getcaps), (gst_basesink_init),
17433         (gst_basesink_chain_unlocked):
17434         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17435         (gst_type_find_helper):
17436         * gst/elements/gsttypefindelement.c:
17437         (gst_type_find_element_have_type), (gst_type_find_element_init),
17438         (stop_typefinding), (gst_type_find_element_handle_event),
17439         (find_suggest), (gst_type_find_element_chain),
17440         (gst_type_find_element_checkgetrange),
17441         (gst_type_find_element_getrange), (do_typefind),
17442         (gst_type_find_element_activate):
17443         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17444         (gst_buffer_default_free), (gst_buffer_default_copy),
17445         (gst_buffer_set_caps):
17446         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17447         (gst_caps_replace):
17448         * gst/gstmessage.c: (gst_message_new),
17449         (gst_message_new_state_changed):
17450         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17451         (gst_pad_set_checkgetrange_function),
17452         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17453         (gst_pad_set_caps), (gst_pad_check_pull_range),
17454         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17455         * gst/gstpad.h:
17456         * gst/gsttypefind.c: (gst_type_find_register):
17457         Make gst_caps_replace() work like other _replace() functions.
17458         Use _caps_replace() where possible.
17459         Make sure _message_new() initialises its field.
17460         Add gst_static_pad_template_get_caps()
17461
17462
17463 2005-04-18  Andy Wingo  <wingo@pobox.com>
17464
17465         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17466         on the peer, not the pad. I think that was a typo. Pass an extra
17467         arg to see if random access is possible. Activate the pads as
17468         PULL_RANGE if possible.
17469
17470         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17471
17472         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17473         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17474         to PROP_....
17475
17476 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17477
17478         * docs/faq/using.xml:
17479           Add note on gstreamer-properties (#154996).
17480
17481 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17482
17483         * docs/random/bbb/optional-properties:
17484           Some analysis on optional properties.
17485
17486 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17487
17488         * docs/gst/tmpl/gstelementfactory.sgml:
17489         * gst/gstelement.h:
17490         * gst/gstelementfactory.c: (gst_element_factory_init),
17491         (gst_element_factory_cleanup), (gst_element_register),
17492         (__gst_element_factory_add_static_pad_template),
17493         (gst_element_factory_get_static_pad_templates),
17494         (gst_element_factory_can_src_caps),
17495         (gst_element_factory_can_sink_caps):
17496         * gst/registries/Makefile.am:
17497         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17498         (gst_xml_registry_class_init), (gst_xml_registry_init),
17499         (gst_xml_registry_new), (gst_xml_registry_set_property),
17500         (gst_xml_registry_get_property), (get_time), (make_dir),
17501         (gst_xml_registry_get_perms_func),
17502         (plugin_times_older_than_recurse), (plugin_times_older_than),
17503         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17504         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17505         (add_to_char_array), (read_string), (read_uint), (read_enum),
17506         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17507         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17508         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17509         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17510         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17511         (gst_xml_registry_rebuild):
17512         * gst/registries/gstlibxmlregistry.h:
17513         * tools/gst-compprep.c: (main):
17514         * tools/gst-inspect.c: (print_pad_templates_info):
17515         * tools/gst-xmlinspect.c: (print_element_info):
17516           Use libxml2 for registry parsing, use staticpadtemplates in
17517           elementfactories. Makes gst_init() +/- 10x faster.
17518
17519 2005-04-12  Wim Taymans  <wim@fluendo.com>
17520
17521         * gst/base/Makefile.am:
17522         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17523         (gst_basesink_pad_getcaps), (gst_basesink_init),
17524         (gst_basesink_event), (gst_basesink_change_state):
17525         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17526         (gst_basesrc_init), (gst_basesrc_query),
17527         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17528         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17529         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17530         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17531         (gst_basesrc_stop), (gst_basesrc_activate),
17532         (gst_basesrc_change_state):
17533         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17534         (helper_find_suggest), (gst_type_find_helper):
17535         * gst/base/gsttypefindhelper.h:
17536         * gst/elements/Makefile.am:
17537         * gst/elements/gstelements.c:
17538         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17539         (gst_fakesink_get_times), (gst_fakesink_event),
17540         (gst_fakesink_preroll), (gst_fakesink_render):
17541         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17542         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17543         (gst_fakesrc_get_property), (gst_fakesrc_create),
17544         (gst_fakesrc_start), (gst_fakesrc_stop):
17545         * gst/elements/gstfakesrc.h:
17546         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17547         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17548         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17549         (gst_filesrc_create_read), (gst_filesrc_create),
17550         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17551         (gst_filesrc_start):
17552         * gst/elements/gsttypefindelement.c:
17553         (gst_type_find_element_have_type), (gst_type_find_element_init),
17554         (start_typefinding), (stop_typefinding), (push_buffer_store),
17555         (gst_type_find_element_handle_event),
17556         (gst_type_find_element_chain),
17557         (gst_type_find_element_checkgetrange),
17558         (gst_type_find_element_getrange), (do_typefind),
17559         (gst_type_find_element_activate),
17560         (gst_type_find_element_change_state):
17561         * gst/elements/gsttypefindelement.h:
17562         * gst/gstpipeline.c: (pipeline_bus_handler):
17563         Added typefind helper.
17564         Small preroll fix in the base sink.
17565         Disable typefind code in basesrc.
17566         Crude port of typefindelement.
17567         Fakesrc cleanups.
17568
17569
17570 2005-04-11  Wim Taymans  <wim@fluendo.com>
17571
17572         * check/gst/gstbus.c: (gstbus_suite):
17573         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17574         * check/gstcheck.h:
17575           Fix up the timeout so that the test does not fail.
17576
17577 2005-04-06  Wim Taymans  <wim@fluendo.com>
17578
17579         * gst/base/README:
17580         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17581         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17582         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17583         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17584         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17585         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17586         (gst_basesrc_stop), (gst_basesrc_activate),
17587         (gst_basesrc_change_state), (basesrc_find_peek),
17588         (basesrc_find_suggest), (gst_basesrc_type_find):
17589         * gst/base/gstbasesrc.h:
17590         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17591         (gst_filesrc_class_init), (gst_filesrc_init),
17592         (gst_filesrc_finalize), (gst_filesrc_set_location),
17593         (gst_filesrc_set_property), (gst_filesrc_get_property),
17594         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17595         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17596         (gst_filesrc_create_read), (gst_filesrc_create),
17597         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17598         * gst/elements/gstfilesrc.h:
17599         * gst/gstelement.c: (gst_element_get_state_func),
17600         (gst_element_lost_state), (gst_element_pads_activate):
17601         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17602         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17603         (gst_pad_pull_range):
17604         * gst/gstpad.h:
17605         More work on the generic source base class, implement seeking,
17606         query.
17607         Make filesrc extend the base source class.
17608         Added gst_pad_set_checkgetrange_function to GstPad.
17609
17610 2005-04-06  Andy Wingo  <wingo@pobox.com>
17611
17612         * pkgconfig/gstreamer-base.pc.in:
17613         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17614
17615         * pkgconfig/Makefile.am:
17616         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17617
17618 2005-04-04  Wim Taymans  <wim@fluendo.com>
17619
17620         * gst/base/Makefile.am:
17621         * gst/base/README:
17622         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17623         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17624         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17625         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17626         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17627         (gst_basesrc_base_init), (gst_basesrc_class_init),
17628         (gst_basesrc_init), (gst_basesrc_get_formats),
17629         (gst_basesrc_get_query_types), (gst_basesrc_query),
17630         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17631         (gst_basesrc_set_property), (gst_basesrc_get_property),
17632         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17633         (gst_basesrc_loop), (gst_basesrc_activate),
17634         (gst_basesrc_change_state):
17635         * gst/base/gstbasesrc.h:
17636         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17637         (gst_fakesrc_class_init), (gst_fakesrc_init),
17638         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17639         (gst_fakesrc_get_property), (gst_fakesrc_create):
17640         * gst/elements/gstfakesrc.h:
17641         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17642         (gst_filesrc_open_file), (gst_filesrc_loop),
17643         (gst_filesrc_activate), (filesrc_find_peek),
17644         (gst_filesrc_type_find):
17645         Made base source class, make fakesrc extend it.
17646         Add comments to basesink class.
17647         Some filesrc cleanup.
17648
17649 2005-03-31  David Schleef  <ds@schleef.org>
17650
17651         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17652         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17653         expected to link against libgstreamer.
17654         * gst/base/Makefile.am: link against libgstreamer
17655         * gst/elements/Makefile.am: same
17656
17657 2005-03-31  Andy Wingo  <wingo@pobox.com>
17658
17659         * tests/instantiate/Makefile.am:
17660         * tests/instantiate/caps.c: Add test to test speed of caps copy
17661         and free.
17662
17663         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17664         GMemChunk to be fair.
17665
17666         * gst/gsttrashstack.h: Remove warning about using the fallback
17667         trash stack implementation, it's still faster than malloc.
17668
17669 2005-03-30  Andy Wingo  <wingo@pobox.com>
17670
17671         * tests/complexity.c: Add a copyright.
17672
17673 2005-03-31  Wim Taymans  <wim@fluendo.com>
17674
17675         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17676         (gst_base_transform_class_init), (gst_base_transform_init),
17677         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17678         (gst_base_transform_get_property),
17679         (gst_base_transform_sink_activate),
17680         (gst_base_transform_src_activate),
17681         (gst_base_transform_change_state):
17682         * gst/base/gstbasetransform.h:
17683         * gst/elements/gstidentity.c: (gst_identity_class_init),
17684         (gst_identity_event), (gst_identity_check_perfect),
17685         (gst_identity_transform), (gst_identity_start),
17686         (gst_identity_stop):
17687         Added start/stop methods to transform base class so subclasses 
17688         don't need to deal with state changes even.
17689
17690 2005-03-31  Wim Taymans  <wim@fluendo.com>
17691
17692         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17693         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17694         * gst/gstevent.h:
17695         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17696         (gst_pad_pull_range):
17697         Added rate to the discont event to prepare for variable speed
17698         and reverse playback.
17699
17700 2005-03-29  David Schleef  <ds@schleef.org>
17701
17702         * configure.ac:
17703         * testsuite/trigger/Makefile.am:
17704         * testsuite/trigger/trigger.c: A little example program to show
17705         how trigger-based elements can work.
17706
17707 2005-03-29  Wim Taymans  <wim@fluendo.com>
17708
17709         * gst/base/Makefile.am:
17710         * gst/base/README:
17711         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17712         (gst_basesink_base_init), (gst_basesink_class_init),
17713         (gst_basesink_pad_getcaps), (gst_basesink_init),
17714         (gst_basesink_activate), (gst_basesink_change_state):
17715         * gst/base/gstbasesink.h:
17716         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17717         (gst_base_transform_base_init), (gst_base_transform_finalize),
17718         (gst_base_transform_class_init), (gst_base_transform_init),
17719         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17720         (gst_base_transform_event), (gst_base_transform_getrange),
17721         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17722         (gst_base_transform_set_property),
17723         (gst_base_transform_get_property),
17724         (gst_base_transform_sink_activate),
17725         (gst_base_transform_src_activate),
17726         (gst_base_transform_change_state):
17727         * gst/base/gstbasetransform.h:
17728         * gst/elements/gstidentity.c: (gst_identity_finalize),
17729         (gst_identity_class_init), (gst_identity_init),
17730         (gst_identity_event), (gst_identity_check_perfect),
17731         (gst_identity_transform), (gst_identity_set_property),
17732         (gst_identity_get_property), (gst_identity_change_state):
17733         * gst/elements/gstidentity.h:
17734         * gst/gstelement.c: (gst_element_get_state_func),
17735         (gst_element_lost_state), (gst_element_pads_activate):
17736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17737         (gst_pad_check_pull_range), (gst_pad_pull_range):
17738         * gst/gstpad.h:
17739         Simplify pad activation.
17740         Added function to check if pull_range can be performed.
17741         Error out when pulling inactive or flushing pads.
17742         Removed const from refcounted types as it does not make sense.
17743         Simplify pad templates in basesink
17744         Added base class for simple 1-to-1 transforms.
17745         Make identity subclass the base transform.
17746
17747 2005-03-29  Andy Wingo  <wingo@pobox.com>
17748
17749         * docs/libs/gstreamer-libs-overrides.txt: 
17750         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17751         really don't understand what's going on, but like whatever. I want
17752         green buildbot!
17753
17754         * docs/gst/Makefile.am:
17755         * docs/libs/Makefile.am: Dist the overrides files.
17756
17757         * check/Makefile.am (clean-local): Remove .libs directories.
17758
17759         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17760         elements to EXTRA_DIST, so po/ files are happy.
17761
17762         * po/POTFILES.in: Er, remove it here.
17763
17764         * po/POTFILES: Remove gstspider.c.
17765
17766         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17767
17768         * docs/libs/gstreamer-libs-docs.sgml: 
17769         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17770         bytestream.
17771
17772         * tests/complexity.c (main): Set the length of the preroll queue
17773         on the sinks to prevent a lockup.
17774
17775         * libs/gst/dataprotocol/Makefile.am: 
17776         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17777         the same as the one in check/gst-libs/gdp.c.
17778
17779         * po/, docs/gst/: Commit automatic changes to docs and po files.
17780
17781         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17782         the versioned libgstbase.
17783
17784         * check/Makefile.am: Depend on an unversioned gst-register, seems
17785         to make autoconf happier.
17786
17787         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17788
17789 2005-03-28  Wim Taymans  <wim@fluendo.com>
17790
17791         * configure.ac:
17792         * docs/design/part-gstelement.txt:
17793         * docs/design/part-negotiation.txt:
17794         * docs/design/part-preroll.txt:
17795         * docs/design/part-scheduling.txt:
17796         * docs/design/part-states.txt:
17797         * gst/Makefile.am:
17798         * gst/base/Makefile.am:
17799         * gst/base/README:
17800         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17801         (gst_basesink_base_init), (gst_basesink_class_init),
17802         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17803         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17804         (gst_basesink_set_pad_functions),
17805         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17806         (gst_basesink_set_property), (gst_basesink_get_property),
17807         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17808         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17809         (gst_basesink_preroll_queue_push),
17810         (gst_basesink_preroll_queue_empty),
17811         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17812         (gst_basesink_event), (gst_basesink_get_times),
17813         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17814         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17815         (gst_basesink_loop), (gst_basesink_activate),
17816         (gst_basesink_change_state):
17817         * gst/base/gstbasesink.h:
17818         * gst/elements/Makefile.am:
17819         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17820         (gst_fakesink_class_init), (gst_fakesink_init),
17821         (gst_fakesink_set_property), (gst_fakesink_get_property),
17822         (gst_fakesink_get_times), (gst_fakesink_event),
17823         (gst_fakesink_preroll), (gst_fakesink_render),
17824         (gst_fakesink_change_state):
17825         * gst/elements/gstfakesink.h:
17826         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17827         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17828         * gst/gstelement.c: (gst_element_add_pad),
17829         (gst_element_get_state_func), (gst_element_abort_state),
17830         (gst_element_commit_state), (gst_element_lost_state),
17831         (gst_element_set_state), (gst_element_pads_activate):
17832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17833         * gst/gstpipeline.c: (gst_pipeline_send_event),
17834         (gst_pipeline_change_state):
17835         Added state change code.
17836         Added/updated docs.
17837         Added sink base class, make fakesink extend the base class.
17838         Small cleanups in GstPipeline.
17839
17840 2005-03-26  David Schleef  <ds@schleef.org>
17841
17842         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17843         is broken and should be implemented in a different library.
17844         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17845         * gst/gst.h: remove gstcpu.h
17846         * gst/gstcpu.c: remove
17847         * gst/gstcpu.h: remove
17848         * gst/Makefile.am.future: Remove this file.  It's ancient.
17849
17850 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17851
17852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17853         (gst_bin_send_event):
17854           Add default event/set_manager handlers. The set_manager handler
17855           takes care that the manager is distributed over kids that were
17856           already in the bin before the manager was set. The event handler
17857           is a utility virtual function that sends the event over all sinks,
17858           so that gst_element_send_event (bin, event); has the expected
17859           behaviour.
17860         * gst/gstpad.c: (gst_pad_event_default):
17861           Re-install default event handling for discontinuities, so that
17862           seeking works without requiring hacks in applications or extra
17863           code in sinks.
17864         * gst/gstpipeline.c: (gst_pipeline_class_init),
17865         (gst_pipeline_send_event):
17866           Half hack, half utility: set a pipeline to PAUSED for seek events,
17867           since that is the only way we can guarantee a/v sync. Means that
17868           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17869           and it "just works".
17870
17871 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17872
17873         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17874           Lock/unlock mismatch.
17875
17876 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17877
17878         * docs/faq/gst-uninstalled:
17879           add gst-plugins-base
17880         * docs/gst/Makefile.am:
17881           don't error out until docs are fixed
17882         * docs/gst/gstreamer.types:
17883           remove thread
17884
17885 2005-03-22  Wim Taymans  <wim@fluendo.com>
17886
17887         * check/Makefile.am:
17888         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17889         * gst/gststructure.c: (gst_structure_set_valist),
17890         (gst_structure_copy_conditional):
17891         Activated more tests.
17892         Added message test.
17893         Added G_TYPE_POINTER to GstStructure.
17894         
17895
17896 2005-03-22  Wim Taymans  <wim@fluendo.com>
17897
17898         * docs/design/part-TODO.txt:
17899         * docs/design/part-events.txt:
17900         * docs/design/part-gstbin.txt:
17901         * docs/design/part-gstbus.txt:
17902         * docs/design/part-gstpipeline.txt:
17903         * docs/design/part-messages.txt:
17904         * gst/gstbus.c:
17905         * gst/gstmessage.c:
17906         Docs updates
17907
17908 2005-03-21  Wim Taymans  <wim@fluendo.com>
17909
17910         * gst/gstbus.c: (gst_bus_post):
17911         Fix copy-and-paste error.
17912
17913 2005-03-21  Wim Taymans  <wim@fluendo.com>
17914
17915         * check/Makefile.am:
17916         * gst/Makefile.am:
17917         * gst/elements/Makefile.am:
17918         * gst/elements/gstelements.c:
17919         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17920         (gst_fakesink_event), (gst_fakesink_chain):
17921         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17922         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17923         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17924         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17925         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17926         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17927         (gst_fakesrc_loop), (gst_fakesrc_activate),
17928         (gst_fakesrc_change_state):
17929         * gst/elements/gstfakesrc.h:
17930         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17931         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17932         (gst_filesrc_open_file), (gst_filesrc_loop),
17933         (gst_filesrc_activate), (gst_filesrc_change_state),
17934         (filesrc_find_peek), (filesrc_find_suggest),
17935         (gst_filesrc_type_find):
17936         * gst/elements/gstidentity.c: (gst_identity_finalize),
17937         (gst_identity_class_init), (gst_identity_init),
17938         (gst_identity_proxy_getcaps), (identity_queue_push),
17939         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17940         (gst_identity_getrange), (gst_identity_chain),
17941         (gst_identity_sink_loop), (gst_identity_src_loop),
17942         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17943         (gst_identity_set_property), (gst_identity_get_property),
17944         (gst_identity_change_state):
17945         * gst/elements/gstidentity.h:
17946         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17947         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17948         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17949         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17950         (gst_tee_sink_activate):
17951         * gst/elements/gsttee.h:
17952         * gst/gst.c: (gst_register_core_elements), (init_post):
17953         * gst/gst.h:
17954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17955         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17956         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17957         (gst_bin_change_state):
17958         * gst/gstbin.h:
17959         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17960         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17961         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17962         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17963         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17964         (bus_watch_callback), (bus_watch_destroy),
17965         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17966         (poll_timeout), (gst_bus_poll):
17967         * gst/gstbus.h:
17968         * gst/gstcaps.h:
17969         * gst/gstdata.h:
17970         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17971         (gst_element_post_message), (gst_element_message_full),
17972         (gst_element_get_state_func), (gst_element_get_state),
17973         (gst_element_abort_state), (gst_element_commit_state),
17974         (gst_element_lost_state), (gst_element_set_state),
17975         (gst_element_pads_activate), (gst_element_change_state),
17976         (gst_element_dispose), (gst_element_set_manager_func),
17977         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17978         (gst_element_set_manager), (gst_element_get_manager),
17979         (gst_element_set_bus), (gst_element_get_bus),
17980         (gst_element_set_scheduler), (gst_element_get_scheduler):
17981         * gst/gstelement.h:
17982         * gst/gstevent.c: (gst_event_new_segment_seek),
17983         (gst_event_new_flush):
17984         * gst/gstevent.h:
17985         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17986         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17987         (gst_message_new_eos), (gst_message_new_error),
17988         (gst_message_new_warning), (gst_message_new_tag),
17989         (gst_message_new_state_changed), (gst_message_new_application),
17990         (gst_message_get_structure), (gst_message_parse_tag),
17991         (gst_message_parse_state_changed), (gst_message_parse_error),
17992         (gst_message_parse_warning):
17993         * gst/gstmessage.h:
17994         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17995         (gst_real_pad_set_property), (gst_pad_set_active),
17996         (gst_pad_is_active), (gst_pad_set_blocked_async),
17997         (gst_pad_set_blocked), (gst_pad_is_blocked),
17998         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17999         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18000         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18001         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18002         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18003         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18004         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18005         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18006         (gst_pad_set_caps), (gst_pad_configure_sink),
18007         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18008         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18009         (gst_real_pad_dispose), (gst_real_pad_finalize),
18010         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18011         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18012         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18013         * gst/gstpad.h:
18014         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18015         (pipeline_bus_handler), (gst_pipeline_change_state),
18016         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18017         * gst/gstpipeline.h:
18018         * gst/gstprobe.h:
18019         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18020         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18021         (gst_queue_link_src), (gst_queue_bufferalloc),
18022         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18023         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18024         (gst_queue_loop), (gst_queue_handle_src_event),
18025         (gst_queue_handle_src_query), (gst_queue_src_activate),
18026         (gst_queue_change_state):
18027         * gst/gstqueue.h:
18028         * gst/gstscheduler.c: (gst_scheduler_init),
18029         (gst_scheduler_dispose), (gst_scheduler_create_task),
18030         (gst_scheduler_factory_create):
18031         * gst/gstscheduler.h:
18032         * gst/gststructure.c: (gst_structure_get_type),
18033         (gst_structure_copy_conditional):
18034         * gst/gststructure.h:
18035         * gst/gsttaginterface.h:
18036         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18037         (gst_task_init), (gst_task_dispose), (gst_task_create),
18038         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18039         (gst_task_pause):
18040         * gst/gsttask.h:
18041         * gst/gstthread.c:
18042         * gst/gstthread.h:
18043         * gst/gsttypes.h:
18044         * gst/schedulers/Makefile.am:
18045         * gst/schedulers/cothreads_compat.h:
18046         * gst/schedulers/entryscheduler.c:
18047         * gst/schedulers/faircothreads.c:
18048         * gst/schedulers/faircothreads.h:
18049         * gst/schedulers/fairscheduler.c:
18050         * gst/schedulers/gstbasicscheduler.c:
18051         * gst/schedulers/gstoptimalscheduler.c:
18052         * gst/schedulers/gthread-cothreads.h:
18053         * gst/schedulers/threadscheduler.c:
18054         (gst_thread_scheduler_task_get_type),
18055         (gst_thread_scheduler_task_class_init),
18056         (gst_thread_scheduler_task_init),
18057         (gst_thread_scheduler_task_start),
18058         (gst_thread_scheduler_task_stop),
18059         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18060         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18061         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18062         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18063         (plugin_init):
18064         * libs/gst/Makefile.am:
18065         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18066         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18067         (gst_file_pad_parent_set):
18068         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18069         (gst_dp_event_from_packet):
18070         * tests/complexity.c: (main):
18071         * tests/mass_elements.c: (main):
18072         * testsuite/states/locked.c: (message_received), (main):
18073         * testsuite/states/parent.c: (main):
18074         * tools/gst-inspect.c: (print_element_flag_info),
18075         (print_implementation_info), (print_pad_info):
18076         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18077         (main):
18078         * tools/gst-md5sum.c: (event_loop), (main):
18079         * tools/gst-typefind.c: (main):
18080         * tools/gst-xmlinspect.c: (print_element_info):
18081         Next big merge.
18082         Added GstBus for mainloop integration.
18083         Added GstMessage for sending notifications on the bus.
18084         Added GstTask as an abstraction for pipeline entry points.
18085         Removed GstThread.
18086         Removed Schedulers.
18087         Simplified GstQueue for multithreaded core.
18088         Made _link threadsafe, removed old capsnego.
18089         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18090         Added pad blocking functions.
18091         Reworked scheduling functions in GstPad to prepare for
18092         scheduling updates soon.
18093         Moved events out of data stream.
18094         Simplified GstEvent types.
18095         Added return values to push/pull.
18096         Removed clocking from GstElement.
18097         Added prototypes for state change function for next merge.
18098         Removed iterate from bins and state change management.
18099         Fixed some elements, disabled others for now.
18100         Fixed -inspect and -launch.
18101         Added check for GstBus.
18102
18103 2005-03-10  Wim Taymans  <wim@fluendo.com>
18104
18105         * docs/design/part-MT-refcounting.txt:
18106         * docs/design/part-clocks.txt:
18107         * docs/design/part-gstelement.txt:
18108         * docs/design/part-gstobject.txt:
18109         * docs/design/part-standards.txt:
18110         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18111         (gst_bin_remove_func), (gst_bin_remove):
18112         * gst/gstbin.h:
18113         * gst/gstbuffer.c:
18114         * gst/gstcaps.h:
18115         * testsuite/clock/clock1.c: (main):
18116         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18117         (main):
18118         * testsuite/dlopen/loadgst.c: (do_test):
18119         * testsuite/refcounting/bin.c: (add_remove_test1),
18120         (add_remove_test2), (main):
18121         * testsuite/refcounting/element.c: (main):
18122         * testsuite/refcounting/element_pad.c: (main):
18123         * testsuite/refcounting/pad.c: (main):
18124         * tools/gst-launch.c: (sigint_handler_sighandler):
18125         * tools/gst-typefind.c: (main):
18126         Doc updates.
18127         Added doc about clock.
18128         removed gst_bin_iterate_recurse_up(), marked methods
18129         for removal.
18130         Fix more testsuites.
18131
18132 2005-03-09  Wim Taymans  <wim@fluendo.com>
18133
18134         * gst/gstpad.c: (gst_pad_get_direction),
18135         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18136         (gst_pad_collect_valist):
18137         * testsuite/bins/interface.c: (main):
18138         * testsuite/caps/audioscale.c: (test_caps):
18139         * testsuite/caps/caps.c: (test1), (test2), (test3):
18140         * testsuite/caps/deserialize.c: (main):
18141         * testsuite/caps/enumcaps.c: (main):
18142         * testsuite/caps/filtercaps.c: (main):
18143         * testsuite/caps/intersect2.c: (main):
18144         * testsuite/caps/random.c: (main):
18145         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18146         * testsuite/caps/sets.c: (check_caps):
18147         * testsuite/caps/simplify.c: (check_caps), (main):
18148         * testsuite/caps/subtract.c: (check_caps):
18149         Fix _pad_get_direction wrt ghostpads.
18150         Fix caps testsuite.
18151
18152 2005-03-09  Wim Taymans  <wim@fluendo.com>
18153
18154         * check/Makefile.am:
18155         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18156         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18157         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18158         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18159         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18160         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18161         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18162         (bin_element_is_sink), (gst_bin_iterate_sinks),
18163         (gst_bin_iterate_all_by_interface):
18164         * gst/gstbin.h:
18165         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18166         (gst_element_change_state), (gst_element_dispose),
18167         (gst_element_finalize), (gst_element_set_loop_function):
18168         * gst/gstelement.h:
18169         * gst/gstiterator.c: (find_custom_fold_func):
18170         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18171         (gst_pad_collectv), (gst_pad_collect_valist),
18172         (gst_pad_template_new):
18173         * gst/gstpipeline.c: (gst_pipeline_class_init),
18174         (gst_pipeline_dispose), (gst_pipeline_set_property),
18175         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18176         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18177         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18178         * gst/gstutils.h:
18179         * gst/schedulers/entryscheduler.c:
18180         * gst/schedulers/gstbasicscheduler.c:
18181         (gst_basic_scheduler_cothreaded_chain),
18182         (gst_basic_scheduler_chain_add_element):
18183         * testsuite/bins/interface.c: (main):
18184         Added GstBin test.
18185         Added GstSystemClock test.
18186         Implemented clock distribution code in GstBin.
18187         Implemented iterate sinks method for future use.
18188         Rearranged gstelement.h
18189         Fix GstIterator comparison bug.
18190         Moved some code to GstPipeline, mostly clocking related.
18191
18192 2005-03-09  Wim Taymans  <wim@fluendo.com>
18193
18194         * configure.ac:
18195         * gst/gst_private.h:
18196         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18197         (gst_bin_remove_func), (gst_bin_remove),
18198         (gst_bin_get_by_name_recurse_up):
18199         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18200         (gst_clock_id_compare_func), (gst_clock_id_wait),
18201         (gst_clock_id_wait_async), (gst_clock_init),
18202         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18203         * gst/gstelement.h:
18204         * gst/gstinfo.c: (_gst_debug_init):
18205         * gst/gstobject.h:
18206         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18207         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18208         * gst/gstpad.h:
18209         Bump version number, we're now 0.9.0
18210         Add future debugging category.
18211         Fix NULL _unref() in _get_by_name_recurse_up
18212         Rearrange gstpad.h.
18213         Update some docs.
18214
18215 2005-03-08  Wim Taymans  <wim@fluendo.com>
18216
18217         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18218         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18219         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18220         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18221         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18222         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18223         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18224         * gst/elements/gstidentity.c: (gst_identity_class_init):
18225         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18226         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18227         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18228         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18229         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18230         (gst_tee_link):
18231         * gst/gstelement.c: (gst_element_class_init),
18232         (gst_element_base_class_init), (gst_element_init),
18233         (gst_element_get_random_pad), (gst_element_wait_state_change),
18234         (gst_element_change_state), (gst_element_dispose),
18235         (gst_element_finalize), (gst_element_set_loop_function):
18236         * gst/gstelement.h:
18237         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18238         * gst/gstthread.c: (gst_thread_class_init),
18239         (gst_thread_release_children_locks), (gst_thread_change_state):
18240         * gst/schedulers/gstbasicscheduler.c:
18241         (gst_basic_scheduler_loopfunc_wrapper),
18242         (gst_basic_scheduler_chain_wrapper),
18243         (gst_basic_scheduler_src_wrapper),
18244         (gst_basic_scheduler_remove_element):
18245         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18246         Remove threadsafe properties. Fix elements because GObject
18247         complains when installing a property before declaring a
18248         set/get_property handler.
18249         Rearrange gstelement.h file, use STATE macros for state locks.
18250         Free mutexes in the finalize method instead of dispose.
18251
18252 2005-03-08  Wim Taymans  <wim@fluendo.com>
18253
18254         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18255         * gst/gstthread.c: (gst_thread_release_children_locks):
18256         Added parentage check.
18257         Fix build og GstThread again.
18258
18259 2005-03-08  Wim Taymans  <wim@fluendo.com>
18260
18261         * docs/design/part-MT-refcounting.txt:
18262         * docs/design/part-conventions.txt:
18263         * docs/design/part-gstobject.txt:
18264         * docs/design/part-relations.txt:
18265         * docs/design/part-standards.txt:
18266         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18267         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18268         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18269         (gst_bin_iterate_all_by_interface):
18270         * gst/gstbuffer.h:
18271         * gst/gstclock.h:
18272         * gst/gstelement.c: (gst_element_class_init),
18273         (gst_element_change_state), (gst_element_set_loop_function):
18274         * gst/gstelement.h:
18275         * gst/gstiterator.c:
18276         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18277         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18278         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18279         (gst_object_set_parent), (gst_object_unparent),
18280         (gst_object_check_uniqueness):
18281         * gst/gstobject.h:
18282         Docs updates, clean up some headers.
18283
18284 2005-03-07  Wim Taymans  <wim@fluendo.com>
18285
18286         * check/.cvsignore:
18287         * check/Makefile.am:
18288         * check/gst-libs/.cvsignore:
18289         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18290         * check/gst/.cvsignore:
18291         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18292         (START_TEST), (gstbus_suite), (main):
18293         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18294         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18295         (gst_data_suite), (main):
18296         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18297         (add_fold_func), (gstiterator_suite), (main):
18298         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18299         (thread_name_object), (thread_name_object_default),
18300         (gst_object_name_compare), (gst_object_suite), (main):
18301         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18302         (gst_pad_suite), (main):
18303         * check/gstcheck.c: (gst_check_log_message_func),
18304         (gst_check_log_critical_func), (gst_check_init):
18305         * check/gstcheck.h:
18306         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18307         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18308         Added checks.
18309
18310 2005-03-07  Wim Taymans  <wim@fluendo.com>
18311
18312         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18313         (gst_list_iterator_next), (gst_list_iterator_resync),
18314         (gst_list_iterator_free), (gst_iterator_new_list),
18315         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18316         (gst_iterator_free), (gst_iterator_push), (filter_next),
18317         (filter_resync), (filter_uninit), (filter_free),
18318         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18319         (gst_iterator_foreach), (find_custom_fold_func),
18320         (gst_iterator_find_custom):
18321         * gst/gstiterator.h:
18322         Added missing files.
18323
18324 2005-03-07  Wim Taymans  <wim@fluendo.com>
18325
18326         * Makefile.am:
18327         * configure.ac:
18328         * docs/design/part-MT-refcounting.txt:
18329         * docs/design/part-conventions.txt:
18330         * docs/design/part-gstobject.txt:
18331         * docs/design/part-relations.txt:
18332         * examples/mixer/mixer.c: (main):
18333         * examples/thread/thread.c: (eos), (main):
18334         * gst/Makefile.am:
18335         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18336         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18337         (gst_spider_plug_from_srcpad):
18338         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18339         (gst_spider_identity_change_state),
18340         (gst_spider_identity_sink_loop_type_finding):
18341         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18342         * gst/elements/gstidentity.c: (gst_identity_init):
18343         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18344         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18345         * gst/elements/gsttypefindelement.c: (free_entry):
18346         * gst/gst.c:
18347         * gst/gst.h:
18348         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18349         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18350         (gst_bin_set_index), (gst_bin_set_element_sched),
18351         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18352         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18353         (gst_bin_iterate_elements), (iterate_child_recurse),
18354         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18355         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18356         (compare_interface), (gst_bin_get_by_interface),
18357         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18358         * gst/gstbin.h:
18359         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18360         (gst_buffer_default_free), (gst_buffer_default_copy),
18361         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18362         (gst_buffer_create_sub):
18363         * gst/gstbuffer.h:
18364         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18365         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18366         (gst_caps_unref), (gst_static_caps_get),
18367         (gst_caps_remove_and_get_structure), (gst_caps_append),
18368         (gst_caps_append_structure), (gst_caps_remove_structure),
18369         (gst_caps_copy_nth), (gst_caps_set_simple),
18370         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18371         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18372         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18373         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18374         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18375         (gst_caps_structure_figure_out_union),
18376         (gst_caps_switch_structures), (gst_caps_do_simplify),
18377         (gst_caps_replace), (gst_caps_from_string),
18378         (gst_caps_copy_conditional):
18379         * gst/gstcaps.h:
18380         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18381         (_gst_clock_id_free), (gst_clock_id_unref),
18382         (gst_clock_id_compare_func), (gst_clock_id_wait),
18383         (gst_clock_id_wait_async), (gst_clock_class_init),
18384         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18385         (gst_clock_get_time), (gst_clock_set_time_adjust),
18386         (gst_clock_set_property), (gst_clock_get_property):
18387         * gst/gstclock.h:
18388         * gst/gstcompat.h:
18389         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18390         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18391         * gst/gstdata.h:
18392         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18393         (gst_element_requires_clock), (gst_element_provides_clock),
18394         (gst_element_set_clock), (gst_element_clock_wait),
18395         (gst_element_wait), (gst_element_set_time_delay),
18396         (gst_element_is_indexable), (gst_element_add_pad),
18397         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18398         (pad_compare_name), (gst_element_get_static_pad),
18399         (gst_element_request_pad), (gst_element_get_request_pad),
18400         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18401         (gst_element_class_get_pad_template_list),
18402         (gst_element_class_get_pad_template), (gst_element_error_func),
18403         (gst_element_get_random_pad), (gst_element_get_event_masks),
18404         (gst_element_send_event), (gst_element_seek),
18405         (gst_element_get_query_types), (gst_element_query),
18406         (gst_element_get_formats), (gst_element_convert),
18407         (gst_element_is_locked_state), (gst_element_set_locked_state),
18408         (gst_element_sync_state_with_parent), (gst_element_change_state),
18409         (gst_element_finalize), (gst_element_yield),
18410         (gst_element_interrupt), (gst_element_set_scheduler),
18411         (gst_element_get_scheduler), (gst_element_set_loop_function):
18412         * gst/gstelement.h:
18413         * gst/gstevent.h:
18414         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18415         (gst_format_get_by_nick), (gst_format_get_details),
18416         (gst_format_iterate_definitions):
18417         * gst/gstformat.h:
18418         * gst/gstindex.c: (gst_index_gtype_resolver):
18419         * gst/gstinfo.c:
18420         * gst/gstinfo.h:
18421         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18422         (gst_mem_chunk_free):
18423         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18424         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18425         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18426         (gst_object_dispatch_properties_changed),
18427         (gst_object_set_name_default), (gst_object_set_name),
18428         (gst_object_get_name), (gst_object_set_name_prefix),
18429         (gst_object_get_name_prefix), (gst_object_set_parent),
18430         (gst_object_get_parent), (gst_object_unparent),
18431         (gst_object_check_uniqueness), (gst_object_save_thyself),
18432         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18433         (gst_object_set_property), (gst_object_get_property),
18434         (gst_object_get_path_string):
18435         * gst/gstobject.h:
18436         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18437         (gst_real_pad_init), (gst_real_pad_get_property),
18438         (gst_pad_custom_new), (gst_pad_get_direction),
18439         (gst_pad_set_active), (gst_pad_is_active),
18440         (gst_pad_set_event_function), (gst_pad_is_linked),
18441         (gst_pad_link_free), (gst_pad_link_intersect),
18442         (gst_pad_link_fixate), (gst_pad_set_caps),
18443         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18444         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18445         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18446         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18447         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18448         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18449         (gst_pad_realize), (gst_pad_get_allowed_caps),
18450         (gst_real_pad_dispose), (gst_real_pad_finalize),
18451         (gst_pad_collectv), (gst_pad_collect_valist),
18452         (gst_pad_template_dispose), (gst_pad_template_new),
18453         (gst_pad_get_internal_links):
18454         * gst/gstpad.h:
18455         * gst/gstpipeline.c: (gst_pipeline_dispose),
18456         (gst_pipeline_change_state):
18457         * gst/gstpipeline.h:
18458         * gst/gstplugin.c:
18459         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18460         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18461         * gst/gstpluginfeature.h:
18462         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18463         * gst/gstquery.c: (_gst_query_type_initialize),
18464         (gst_query_type_register), (gst_query_type_get_by_nick),
18465         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18466         * gst/gstquery.h:
18467         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18468         * gst/gstscheduler.c: (gst_scheduler_add_element),
18469         (gst_scheduler_factory_create):
18470         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18471         (gst_structure_free), (gst_structure_set_name),
18472         (gst_structure_id_set_value), (gst_structure_set_value),
18473         (gst_structure_set_valist), (gst_structure_remove_field),
18474         (gst_structure_remove_fields),
18475         (gst_structure_remove_fields_valist),
18476         (gst_structure_remove_all_fields), (gst_structure_foreach),
18477         (gst_structure_map_in_place),
18478         (gst_caps_structure_fixate_field_nearest_int),
18479         (gst_caps_structure_fixate_field_nearest_double):
18480         * gst/gststructure.h:
18481         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18482         (gst_system_clock_init), (gst_system_clock_dispose),
18483         (gst_system_clock_async_thread),
18484         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18485         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18486         * gst/gstsystemclock.h:
18487         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18488         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18489         * gst/gsttaginterface.c:
18490         * gst/gstthread.c: (gst_thread_dispose),
18491         (gst_thread_release_children_locks), (gst_thread_change_state),
18492         (gst_thread_main_loop):
18493         * gst/gsttrashstack.h:
18494         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18495         * gst/gsttypes.h:
18496         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18497         (gst_element_request_pad), (gst_element_get_pad_from_template),
18498         (gst_element_request_compatible_pad),
18499         (gst_element_get_compatible_pad_filtered),
18500         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18501         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18502         (gst_element_link_many), (gst_element_link),
18503         (gst_element_link_pads), (gst_element_unlink_pads),
18504         (gst_element_unlink_many), (gst_element_unlink),
18505         (gst_pad_can_link_filtered), (gst_pad_can_link),
18506         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18507         (gst_object_default_error), (gst_bin_add_many),
18508         (gst_bin_remove_many), (gst_element_populate_std_props),
18509         (gst_element_class_install_std_props), (gst_buffer_merge),
18510         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18511         (link_fold_func), (gst_pad_proxy_setcaps):
18512         * gst/gstutils.h:
18513         * gst/gstvalue.c: (gst_value_deserialize_string):
18514         * gst/parse/grammar.y:
18515         * gst/schedulers/gstbasicscheduler.c:
18516         (gst_basic_scheduler_cothreaded_chain),
18517         (gst_basic_scheduler_chain_recursive_add),
18518         (gst_basic_scheduler_pad_link):
18519         * gst/schedulers/gstoptimalscheduler.c:
18520         (get_group_schedule_function),
18521         (gst_opt_scheduler_state_transition),
18522         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18523         * libs/gst/bytestream/bytestream.c:
18524         * libs/gst/dataprotocol/dataprotocol.c:
18525         (gst_dp_header_from_buffer):
18526         * po/nb.po:
18527         * po/ru.po:
18528         * tests/threadstate/threadstate2.c: (eos):
18529         * tools/gst-compprep.c: (main):
18530         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18531         (print_pad_info), (print_children_info):
18532         * tools/gst-launch.c: (idle_func), (main):
18533         * tools/gst-md5sum.c: (idle_func), (main):
18534         * tools/gst-xmlinspect.c: (print_element_info):
18535         First THREADED backport attempt, focusing on adding locks and
18536         making sure the API is threadsafe. Needs more work. More docs
18537         follow this week.
18538
18539 2005-02-24  Andy Wingo  <wingo@pobox.com>
18540
18541         * tests/bench-complexity.scm:
18542         * tests/complexity.gnuplot: New files, good for running complexity
18543         benchmarks.
18544
18545         * tests/Makefile.am:
18546         * tests/complexity.c: New test, sets up N elements, at each level
18547         teeing into M streams per element. Eeeenteresting.
18548
18549         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18550         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18551         running bench-mass_elements.scm.
18552
18553         * tests/bench-mass_elements.scm: New script, runs mass_elements
18554         for various numbers of identities, outputting the results to a
18555         file. Requires guile 1.6. Just for testing.
18556
18557 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18558
18559         * gst/schedulers/fairscheduler.c:
18560           compile with debug disabled
18561
18562 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18563
18564         * configure.ac:
18565           hunting season on 0.9 is now OPEN