docs/manual/basics-elements.xml: Fix gst_element_link() example.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/manual/basics-elements.xml:
4           Fix gst_element_link() example.
5
6         * gst/gstutils.c:
7           Mention in API docs that one should usually gst_bin_add()
8           elements to a bin or pipeline before doing the linking.
9           
10 2006-07-26  Wim Taymans  <wim@fluendo.com>
11
12         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13         (gst_subbuffer_get_type), (gst_buffer_create_sub):
14         Avoid function call for known types by keeping the buffer and
15         subbuffer GType global.
16
17         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
18         Random silly optimisations in read() path.
19
20 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
21
22         * tools/gst-launch.c: (main):
23           If the top-level of the parse is a normal bin, it doesn't do the
24           right logic to run as a top-level element, so place it inside a
25           pipeline.
26
27 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
30           Remove superfluous g_object_notify() calls, GObject does
31           that for us automatically.
32
33 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
34
35         * gst/gstinfo.h:
36           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
37           here.
38
39 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * gst/gsttaglist.c: (_gst_tag_initialize):
42           Allow more than one GST_TAG_IMAGE per taglist.
43
44 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * gst/gstminiobject.c:
47           update docs
48         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
49         (gst_fd_src_create):
50           log recurring events at LOG level
51           add more debug for when the fd gets set
52
53 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
54
55         * gst/gstparse.c: (gst_parse_launch):
56           Also remove reentrance checks if flex is MT save (#348179)
57          Fix my empty ChangeLog entry below
58
59 2006-07-21  Andy Wingo  <wingo@pobox.com>
60
61         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
62
63         * libs/gst/check/Makefile.am
64         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
65         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
66         * libs/gst/check/gstbufferstraw.h:
67         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
68         functions, thus proving I am still a GStreamer haxor. OK I wrote
69         them a long time ago, but anyways.
70
71 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
72
73         * configure.ac:
74         * gst/gstparse.c: (gst_parse_launch):
75           Check for flex version and omit mutex if we have a MT save flex
76           (fixes #348179)
77
78 2006-07-21  Wim Taymans  <wim@fluendo.com>
79
80         * gst/gstparse.c: (gst_parse_launch):
81         Protect recursive calls to _parse with a recursive mutex
82         and busy flag.
83
84 2006-07-21  Wim Taymans  <wim@fluendo.com>
85
86         * tests/check/gst/gstpad.c: (GST_START_TEST):
87         Fix leak in test.
88
89 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
90
91         * gst/gstparse.c: (gst_parse_launch):
92           Do not hange on recursive uasge of gst_parse_launch()
93
94 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * gst/gsttaglist.c:
97           Add some more docs, comments and FIXME 0.11s here and there
98           and  also fix some typos.
99
100 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
101
102         * gst/gstsegment.h:
103           Convert tabs to spaces for better readability. 
104
105 2006-07-20  Edward Hervey  <edward@fluendo.com>
106
107         * tests/check/libs/gdp.c: (gst_dp_suite):
108         the test_buffer test fails at line 140 on ppc64 at the following
109         check:
110         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
111                 "GST_BUFFER_IN_CAPS flag should have been copied !");
112         See bug #348114 for more details.
113
114 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
115
116         * docs/pwg/advanced-scheduling.xml:
117         * gst/gstpad.c:
118           Fix typos (#348000).
119
120 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
121
122         * docs/pwg/intro-basics.xml:
123           Fix wrong links (#347927).
124
125 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
126
127         * gst/gstregistry.h:
128         * gst/gstregistryxml.c: (load_feature),
129         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
130         * win32/common/config.h:
131         make --disable-index work (#342564)
132
133 2006-07-18  Wim Taymans  <wim@fluendo.com>
134
135         Patch by: Peter Kjellerstedt <pkj at axis dot com>
136
137         * gst/Makefile.am:
138         * gst/gsttrace.h:
139         The attached patch adds two missing defines to gsttrace.h when tracing
140         is disabled.  It also corrects one existing define.
141         Fixes #347756.
142
143 2006-07-17  Wim Taymans  <wim@fluendo.com>
144
145         * docs/gst/gstreamer-sections.txt:
146         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
147         * gst/gst.h:
148         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
149         Add two functions to check and change the SIGSEGV behaviour
150         when loading plugins.
151         Don't mess with the SIGSEGV handler when we were told not to.
152         Fixes #347794.
153         API: gst_segtrap_is_enabled
154         API: gst_segtrap_set_enabled
155
156 2006-07-14  Wim Taymans  <wim@fluendo.com>
157
158         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
159         * tests/check/elements/filesrc.c: (GST_START_TEST):
160         Revert fix for regression in #347408 after release.
161
162 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
163
164         Patch by: Antoine Tremblay <hexa00 at gmail com>
165
166         * gst/gstutils.c: (gst_element_unlink):
167           Free iterator when done (#347311).
168
169         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
170           And add a test case for this.
171
172 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
173
174         * configure.ac:
175         Bump nano back to CVS
176
177 === release 0.10.9 ===
178
179 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
180
181         * configure.ac:
182           releasing 0.10.9, "On the road again"
183
184 2006-07-13  Wim Taymans  <wim@fluendo.com>
185
186         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
187         * tests/check/elements/filesrc.c: (GST_START_TEST):
188         Revert pull-0 fix for release. Disable check. Fixes #347408.
189
190 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
191
192         * libs/gst/dataprotocol/dataprotocol.c:
193         (gst_dp_event_from_packet_1_0):
194           Fixes #347337: failure to deserialize event packets with
195           empty payload (only event type)
196
197 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
198
199         * gst/Makefile.am:
200           do not install a .c file in the header directory
201
202 2006-07-13  Edward Hervey  <edward@fluendo.com>
203
204         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
205         GhostPad no longer implicitely use the padtemplates of the targets.
206         Fixes #347384
207
208 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
209
210         * gst/gstvalue.c: (gst_value_compare_list),
211         (gst_value_compare_array), (_gst_value_initialize):
212         * tests/check/gst/gstvalue.c: (GST_START_TEST):
213         Make GstValueArray comparison be order dependent as designed.
214         Add checks for value lists and value array comparisons.
215         Fixes #347221
216
217 2006-07-11  Edward Hervey  <edward@fluendo.com>
218
219         * gst/gstbin.c: (activate_pads),
220         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
221         (gst_bin_change_state_func):
222         (de)activate src pads before calling state_change on the childs.
223         This is to avoid the case where a src ghostpad is blocked (holding the
224         stream lock), which would block the deactivation of the ghostpad's
225         target pad.
226         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
227         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
228         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
229         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
230         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
231         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
232         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
233         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
234         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
235         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
236         (gst_ghost_pad_class_init),
237         (gst_ghost_pad_internal_do_activate_push),
238         (gst_ghost_pad_internal_do_activate_pull),
239         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
240         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
241         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
242         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
243         GhostPads now create their internal GstProxyPad at creation (and not
244         when they're linked, as it was being done previously).
245         The internal and target pads are linked straight away.
246         The data will also travel through the other pad in order to make
247         pad blocking and probes non-hackish (the probe/block now really happens
248         on the GhostPad and not on the target).
249         * gst/gstpad.c: (gst_pad_set_blocked_async),
250         (gst_pad_link_prepare), (gst_pad_push_event):
251         Remove previous ghostpad cruft.
252         * gst/gstutils.c: (gst_pad_add_data_probe),
253         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
254         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
255         (gst_pad_remove_buffer_probe):
256         Remove previous ghost pad cruft.
257         Added more detailed debug statements.
258         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
259         Fix the testsuite for refcounting changes.
260         The comments about who has references were correct, but the refcount
261         being checked wasn't the same (!?!).
262
263         Fixes #341029
264
265 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
266
267         * docs/gst/gstreamer-sections.txt:
268         * gst/gstconfig.h.in:
269         More docs for configuration options, add docs to gtk-doc.
270
271 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
272
273         * gst/Makefile.am:
274         * gst/gstconfig.h.in:
275         * win32/common/config.h:
276         Fix build when disabling tracing (fixes #344016). Also start to document
277         the defines that disable the sub-systems.
278
279 2006-07-10  Edward Hervey  <edward@fluendo.com>
280
281         * gst/gst.c: (ensure_current_registry_forking):
282         let's make valgrind happy...
283
284 2006-07-09  Wim Taymans  <wim@fluendo.com>
285
286         * gst/gstelement.c: (activate_pads),
287         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
288         Better pad activation code: Reset the collect value too on resync.
289         Add some comments.
290
291 2006-07-09  Wim Taymans  <wim@fluendo.com>
292
293         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
294         (gst_pad_activate_push):
295         Use some more macros where it makes sense.
296         Allow pad mode switching instead of asserting. When a pad
297         is activated in one mode and we activate it in another, 
298         deactivate it first before activating it in a different mode.
299         Fixes #329198.
300
301 2006-07-08  Andy Wingo  <wingo@pobox.com>
302
303         * tools/gst-launch.c (main): Handle err == NULL.
304
305         * gst/gst.c (init_post, ensure_current_registry)
306         (ensure_current_registry_forking)
307         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
308         factoring out the registry scanning into separate functions. Don't
309         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
310         Better environment var name/interface suggestions accepted.
311
312 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
313
314         * gst/gstobject.c: (gst_object_set_name_default),
315         (gst_object_set_name):
316           Random micro-optimisation: don't use a hash table
317           with strings as keys and the usual strdup/strcmp
318           involved, but rather just use the GQuark of the
319           type name as key, since it needs to be looked up
320           anyway to get the type name string.
321
322         * tests/check/gst/gstobject.c: (GST_START_TEST):
323           Fix various leaks.
324
325 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
326
327         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
328         (gst_bin_iterate_all_by_interface):
329           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
330           GTypes are gulongs and thus the top 4 bytes might be cut
331           off on some platforms when doing GPOINTER_TO_INT, leading
332           to invalid GTypes and bad things happening (see RH bug #179654).
333           Also add a check to make sure the type passed in is really
334           an interface type.
335
336 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
337
338         * .cvsignore:
339           Ignore more.
340
341 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
342
343         * Makefile.am:
344         * configure.ac:
345         * gst-element-check.m4:
346         * gst-element-check.m4.in:
347           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
348           instead of the unversioned gst-inspect (#324176, #168659).
349
350 2006-07-06  Wim Taymans  <wim@fluendo.com>
351
352         * gst/gstmessage.h:
353         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
354         warnings.
355
356 2006-07-06  Wim Taymans  <wim@fluendo.com>
357
358         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
359         (gst_base_src_wait), (gst_base_src_update_length),
360         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
361         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
362         (gst_base_src_loop), (gst_base_src_start),
363         (gst_base_src_activate_pull):
364         Update docs.
365         blocksize == 0 now means the default blocksize when working in push
366         based mode.
367         Remove some pointless asserts in _wait function.
368         Fix offset/length calculations and EOS handling. We can now pull 0
369         bytes as well, which is allowed.
370         use _check_get_range() to decide if we can operate in _pull based
371         mode.
372         Fix refcounting leak when check_get_range function was not 
373         implemented.
374         API GstBaseSrc::blocksize range can be 0 too now (default)
375
376         * tests/check/elements/filesrc.c: (GST_START_TEST),
377         (filesrc_suite):
378         Added check to test _get_range() behaviour.
379
380 2006-07-06  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
383         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
384         (gst_pad_pull_range):
385         * gst/gstpad.h:
386         Lots of comments and docs added to the pad functions.
387         Flesh out the expected behaviour of the get_range() functions.
388
389 2006-07-06  Wim Taymans  <wim@fluendo.com>
390
391         * gst/gstbus.h:
392         * gst/gstclock.h:
393         * gst/gstevent.h:
394         * gst/gstiterator.h:
395         * gst/gstpad.h:
396         * gst/gstplugin.h:
397         * gst/gsttask.h:
398         Remove comma at end of enumerator list. 
399
400 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
401
402         * win32/common/libgstbase.def:
403         * win32/common/libgstdataprotocol.def:
404         * win32/common/libsgtreamer.def:
405         Add new exported functions.
406
407 2006-07-05  Wim Taymans  <wim@fluendo.com>
408
409         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
410         Add some more docs here and there.
411
412 2006-07-05  Wim Taymans  <wim@fluendo.com>
413
414         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
415         (gst_base_sink_loop), (gst_base_sink_get_position):
416         When operating in pull mode update the offset so that we
417         read sequentially.
418
419 2006-07-05  Wim Taymans  <wim@fluendo.com>
420
421         * gst/gstregistryxml.c: (read_string):
422         Avoid strdup. (will happen in libxml, but hey!)
423
424         * gst/gsturi.c:
425         Add some more docs.
426
427 2006-07-05  Wim Taymans  <wim@fluendo.com>
428
429         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
430         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
431         (gst_buffer_suite):
432         No point in checking if the size of the subbuffer > 0, the
433         code handles it correclty as demonstrated by unit test.
434         Also add a unit test for the zero sized _new_and_alloc and
435         _copy. Fixes #346663.
436
437 2006-07-05  Wim Taymans  <wim@fluendo.com>
438
439         * libs/gst/base/gstbasetransform.c:
440         (gst_base_transform_prepare_output_buffer),
441         (gst_base_transform_buffer_alloc),
442         (gst_base_transform_handle_buffer):
443         Make sure the buffer we pass to transform_ip has a refcount of
444         1 and thus is writable. Fixes #343196
445
446 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
447
448         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
449         (gst_file_src_init), (gst_file_src_set_property),
450         (gst_file_src_get_property), (gst_file_src_map_region):
451         * plugins/elements/gstfilesrc.h:
452         Add "sequential" property, off by default, to use madvise and hint
453         to the kernel that sequential access is desired.
454         Touch all retrieved pages by default to ensure they are pulled
455         into memory. (Closes #345720)
456
457 2006-07-03  Wim Taymans  <wim@fluendo.com>
458
459         * docs/design/part-block.txt:
460         * docs/design/part-dynamic.txt:
461         Small docs updates.
462
463 2006-07-03  Wim Taymans  <wim@fluendo.com>
464
465         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
466         (gst_caps_unref), (gst_static_caps_get),
467         (gst_caps_append_structure):
468         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
469         Use GSlice when the glib we build against is >= 2.10
470
471 2006-07-03  Wim Taymans  <wim@fluendo.com>
472
473         * gst/gstelement.c: (gst_element_pads_activate):
474         Small cleanup in pad activation code.
475
476 2006-07-03  Wim Taymans  <wim@fluendo.com>
477
478         Patch by: Peter Kjellerstedt <pkj at axis dot com>
479
480         * gst/gst-i18n-app.h:
481         * gst/gst-i18n-lib.h:
482         * tools/gst-inspect.c: (print_signal_info):
483         The attached patch will make the inclusion of gettext.h unconditional in
484         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
485         libintl.h in tools/gst-inspect.c.
486         This allows use of --disable-nls again and fixes #344642.
487
488 2006-07-03  Edward Hervey  <edward@fluendo.com>
489
490         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
491         Implement pad blocking on events according to part-block.txt.
492         More comments on behaviour.
493         * tests/check/gst/gstevent.c: (test_event):
494         Send event to peer pad of blocked pad (else it will block).
495
496 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * libs/gst/check/gstcheck.c: (gst_check_message_error),
499         (gst_check_run_suite):
500           if we get the wrong message, give us the types as string
501         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
502           Fix a translatable
503         * tests/check/elements/filesrc.c: (GST_START_TEST):
504           add a test for trying to open a non-existing file
505
506 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
509           add a test for adding self
510
511 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
512
513         * libs/gst/check/gstcheck.h:
514           add some assert_ as alias for fail_unless_*
515         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
516           increase test coverage
517
518 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
519
520         * Makefile.am:
521           include lcov.mak for lcov coverage generation
522         * tools/Makefile.am:
523           add to CLEANFILES
524
525 2006-07-02  Edward Hervey  <edward@fluendo.com>
526
527         * tests/check/elements/.cvsignore:
528         moaping
529
530 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * configure.ac:
533           don't set CFLAGS and friends for gcov, done from GST_GCOV now
534         * tests/check/Makefile.am:
535           clean up gcov files
536
537 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
540           remove gst_caps_simplify; it was not declared and not used
541           and deprecated in 0.8
542
543 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * docs/faq/gst-uninstalled:
546           don't put empty paths on PYTHONPATH
547         * docs/gst/gstreamer-sections.txt:
548           remove some symbols that are not there
549
550 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
551
552         * gst/gstcaps.c: (gst_caps_compare_structures):
553           whitespace fixes
554         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
555         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
556           add more tests
557
558 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
559
560         * libs/gst/dataprotocol/Makefile.am:
561           build dataprotocol test by linking to the lib, instead of
562           compiling the source, so we get coverage
563         * tests/check/Makefile.am:
564         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
565         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
566           add a test for filesrc
567
568 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
569
570         * tests/check/gst/gststructure.c: (GST_START_TEST),
571         (gst_structure_suite):
572           Push coverage from 59.04% to 70.00%
573
574 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
575
576         * tests/check/Makefile.am:
577           gst-inspect every element; this makes sure that we also get
578           coverage on element's get/set functions
579
580 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
581
582         * configure.ac:
583           set CFLAGS and friends to -O0 if gcov is being used
584           add GCOV LIBS
585         * gst/Makefile.am:
586         * libs/gst/base/Makefile.am:
587         * libs/gst/check/Makefile.am:
588         * libs/gst/controller/Makefile.am:
589         * libs/gst/dataprotocol/Makefile.am:
590         * libs/gst/net/Makefile.am:
591         * plugins/elements/Makefile.am:
592         * plugins/indexers/Makefile.am:
593           add makefile rules to generate gcov data and clean up
594         * tests/check/Makefile.am:
595           add a coverage target that generates an html overview
596           of coverage data
597
598 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * tests/check/elements/fakesink.c:
601         * tests/check/elements/fakesrc.c:
602         * tests/check/elements/fdsrc.c:
603         * tests/check/elements/identity.c:
604         * tests/check/generic/sinks.c: (gst_sinks_suite):
605         * tests/check/generic/states.c:
606         * tests/check/gst/gst.c:
607         * tests/check/gst/gstabi.c:
608         * tests/check/gst/gstbin.c:
609         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
610         * tests/check/gst/gstbus.c: (gst_bus_suite):
611         * tests/check/gst/gstcaps.c: (GST_START_TEST):
612         * tests/check/gst/gstelement.c:
613         * tests/check/gst/gstevent.c: (gst_event_suite):
614         * tests/check/gst/gstghostpad.c:
615         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
616         * tests/check/gst/gstmessage.c: (gst_message_suite):
617         * tests/check/gst/gstminiobject.c:
618         * tests/check/gst/gstobject.c:
619         * tests/check/gst/gstpad.c:
620         * tests/check/gst/gstpipeline.c:
621         * tests/check/gst/gstplugin.c:
622         * tests/check/gst/gstquery.c: (gst_query_suite):
623         * tests/check/gst/gstsegment.c: (gst_segment_suite):
624         * tests/check/gst/gststructure.c:
625         * tests/check/gst/gstsystemclock.c:
626         * tests/check/gst/gsttag.c:
627         * tests/check/gst/gsttask.c: (gst_task_suite):
628         * tests/check/gst/gstutils.c:
629         * tests/check/gst/gstvalue.c:
630         * tests/check/libs/adapter.c:
631         * tests/check/libs/basesrc.c:
632         * tests/check/libs/collectpads.c:
633         * tests/check/libs/controller.c:
634         * tests/check/libs/gdp.c: (gst_dp_suite):
635         * tests/check/libs/gstnetclientclock.c:
636         * tests/check/libs/gstnettimeprovider.c:
637         * tests/check/libs/libsabi.c: (libsabi_suite):
638         * tests/check/libs/typefindhelper.c:
639         * tests/check/pipelines/cleanup.c:
640         * tests/check/pipelines/parse-launch.c:
641         * tests/check/pipelines/simple-launch-lines.c:
642         * tests/check/pipelines/stress.c: (stress_suite):
643           use the new macro
644
645 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
648         * libs/gst/check/gstcheck.h:
649           create a macro and function so that the simple unit test
650           case can be just one macro to create main()
651
652 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
653
654         * gst/gstbin.c: (gst_bin_restore_thyself):
655         * gst/gstxml.c: (gst_xml_make_element):
656           Fix deserialisation from XML. Set parent manually
657           instead of using gst_bin_add(), since gst_bin_add()
658           will unlink all pads of the element being added.
659           Fixes #341667.
660
661 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
662
663         Patch by: Peter Kjellerstedt <pkj at axis com>
664
665         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
666           Fix missing g_strdup() and double free when using the
667           --gst-plugin-load command line option (#346097).
668
669 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
670
671         * gst/gstinfo.c:
672           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
673
674         * libs/gst/net/gstnetclientclock.c:
675         * libs/gst/net/gstnettimeprovider.c:
676           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
677
678 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
679
680         * docs/manual/advanced-dataaccess.xml:
681           Fix buffer probe example compilation in
682           ADM (#345708).
683         
684 2006-06-22  Edward Hervey  <edward@fluendo.com>
685
686         * gst/gstelement.c: (gst_element_pads_activate):
687         We need to deactivate src pads first and then sink pads.
688         The reason is the src pads might be blocking while holding the streaming
689         lock, so we need to deactivate them first so that deactivating the sink
690         pads doesn't block (since it will require the streaming lock).
691
692 2006-06-22  Wim Taymans  <wim@fluendo.com>
693
694         * libs/gst/base/gstbasetransform.c:
695         (gst_base_transform_buffer_alloc):
696         Forgot to remove two unneeded unrefs.
697         Simplify a check _is_equal allready checks the obvious case.
698
699 2006-06-22  Wim Taymans  <wim@fluendo.com>
700
701         * docs/design/part-block.txt:
702         Some docs about what pad_block should do.
703
704 2006-06-22  Wim Taymans  <wim@fluendo.com>
705
706         * gst/gstcaps.c: (gst_caps_replace):
707         Fix crasher when passed NULL. Doc clarification.
708         Optimize for the trivial case.
709
710         * gst/gstpipeline.c: (gst_pipeline_change_state):
711         Small cleanups.
712
713         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
714         Small documentation cleanup.
715
716         * libs/gst/base/gstbasetransform.c:
717         (gst_base_transform_buffer_alloc):
718         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
719         is what we need and it avoids a whole lot of redundant 
720         refcount operations.
721
722 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
723
724         Patch by: Philip Jägenstedt  <philip at lysator liu se>
725
726         * docs/manual/advanced-dataaccess.xml:
727           Fix 'Embedding static elements' section to use
728           GST_PLUGIN_DEFINE_STATIC (#345607).
729
730 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
731
732         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
733           Attempt to 'fix' spuriously failing test case: it seems like the
734           timeout of half a second is simply too small when the system is under
735           load otherwise, and the timeout doesn't really seem to serve any
736           particular purpose here. Give the pipeline a few seconds to preroll
737           first, and then give it another half a second to go from PAUSED to
738           PLAYING and marshal the message into the main thread.
739
740 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * tools/gst-feedback-m.m:
743           Don't only use unversioned tools, try versioned tools as well
744           (#345086).
745
746 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
747
748         * gst/gstbus.c: (gst_bus_class_init):
749           Fix some typos, make docs more explicit.
750
751 2006-06-20  Wim Taymans  <wim@fluendo.com>
752
753         * tests/check/gst/gstghostpad.c: (block_callback),
754         (GST_START_TEST), (gst_ghost_pad_suite):
755         Added some more ghostpad tests, mainly blocking
756         and probes.
757
758 2006-06-16  Wim Taymans  <wim@fluendo.com>
759
760         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
761         (gst_file_sink_close_file), (gst_file_sink_do_seek),
762         (gst_file_sink_event), (gst_file_sink_render):
763         * plugins/elements/gstfilesink.h:
764         Check if we can seek in the file instead of assuming
765         we always can. Post an error when we are asked to seek in a
766         non-seekable file (like a fifo). Fixes #343312.
767         Some cleanups.
768
769 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
770
771         * tools/gst-launch.1.in:
772           Un-garble (fourcc) bit in filtered caps section.
773
774 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
775
776         * docs/manual/advanced-autoplugging.xml:
777         * docs/manual/basics-helloworld.xml:
778         * docs/manual/highlevel-components.xml:
779           Don't leak bus reference in sample code.
780
781 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
782
783         * autogen.sh:
784           Add default for new --enable-plugin-docs switch.
785
786         * configure.ac:
787           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
788           Fixes #344039.
789
790         * docs/Makefile.am:
791           Use new ENABLE_PLUGIN_DOCS conditional.
792
793 2006-06-14  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
796         Make it clear with a FIXME and a real define what the #if 0
797         previously disabled.
798
799 2006-06-14  Wim Taymans  <wim@fluendo.com>
800
801         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
802         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
803         * libs/gst/base/gstbasetransform.c:
804         (gst_base_transform_sink_eventfunc):
805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
806         Don't randomly and silently reset a segment when the format 
807         changes as this is a bug somewhere upstream. Fixes #330379.
808
809 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
810
811         Patch by: Wouter Paesen  <wouter at kangaroot net>
812
813         * libs/gst/controller/gstcontroller.c:
814         (gst_controlled_property_new):
815           Fix controlling of float properties (#344849).
816
817         * tests/check/libs/controller.c:
818         (gst_test_mono_source_get_property),
819         (gst_test_mono_source_set_property),
820         (gst_test_mono_source_class_init), (GST_START_TEST):
821           While we're at it, add some float stuff to unit test.
822
823 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
824
825         * docs/README:
826         * docs/images/gdp-header.svg:
827           add a gdp image
828         * docs/libs/Makefile.am:
829         * docs/libs/gdp-header.png:
830         * libs/gst/dataprotocol/dataprotocol.c:
831           add it to the API docs
832         * docs/manual/intro-motivation.xml:
833           fix typo
834
835 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
836
837         * gst/gst.c: (scan_and_update_registry), (init_post):
838           If the fork()'ed child process can't write the updated registry cache
839           file to disk for some reason, make it exit with a failure exit code,
840           so that the parent can then re-scan the plugins itself and update the
841           registry structures in memory and work with that (rather than failing
842           when creating elements because seemingly no plugins are available).
843           Refactor registry scanning code into separate function for this and
844           also separate fork() and non-fork() code paths. Fixes #344748.
845
846 2006-06-13  Wim Taymans  <wim@fluendo.com>
847
848         * docs/manual/advanced-dataaccess.xml:
849         Fix wrong PluginDesc. Fixes #344755.
850
851 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
852
853         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
854           Fix silly bug that prevented us from creating
855           ~/.gstreamer-0.10 and writing the registry in one
856           go (the first call to g_mkstemp() would overwrite the
857           placeholder in the template string, so the second call
858           to g_mkstemp() after creating the missing directory
859           would then error out with 'invalid argument').
860
861 2006-06-13  Edward Hervey  <edward@fluendo.com>
862
863         * gst/gst.c: (init_post):
864         Free string.
865
866 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
867
868         * gst/glib-compat-private.h:
869         * gst/glib-compat.c:
870         * gst/glib-compat.h:
871         * gst/gstvalue.c: (gst_value_serialize_flags):
872           remove GLib 2.6 compatibility code
873
874 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * gst/parse/Makefile.am:
877           Fix build with 'make -j N' even more (#340016).
878
879 2006-06-12  Wim Taymans  <wim@fluendo.com>
880
881         * docs/gst/gstreamer-sections.txt:
882         Fix docs.
883
884 2006-06-12  Wim Taymans  <wim@fluendo.com>
885
886         * gst/gstsegment.c: (gst_segment_set_duration),
887         (gst_segment_set_last_stop), (gst_segment_set_seek),
888         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
889         (gst_segment_to_running_time), (gst_segment_clip):
890         Use G_UNLIKELY to help the compiler a bit.
891
892 2006-06-12  Wim Taymans  <wim@fluendo.com>
893
894         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
895
896         * gst/gstevent.c: (gst_event_get_type):
897         * gst/gstmessage.c:
898         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
899         (gst_pad_push):
900         constify quark registration strings. Fixes #344115
901         Avoid unneeded type checking is _pad_push() by internally
902         calling gst_pad_chain_unchecked().
903
904 2006-06-12  Wim Taymans  <wim@fluendo.com>
905
906         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
907         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
908         (gst_subbuffer_finalize), (gst_buffer_create_sub),
909         (gst_buffer_is_span_fast), (gst_buffer_span):
910         Init _type for consistency.
911         Use _FLAGS macro to avoid type check.
912         Avoid unneeded type checks in subbufer code.
913
914 2006-06-12  Wim Taymans  <wim@fluendo.com>
915
916         * gst/gst.c: (gst_debug_help):
917         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
918         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
919         (gst_plugin_feature_list_free):
920         * gst/gstregistry.c: (gst_registry_add_plugin),
921         (gst_registry_add_feature), (gst_registry_plugin_filter),
922         (gst_registry_feature_filter), (gst_registry_find_plugin),
923         (gst_registry_find_feature), (gst_registry_get_plugin_list),
924         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
925         * gst/gstregistryxml.c: (load_feature),
926         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
927         * gst/gstminiobject.c: (gst_mini_object_unref),
928         (gst_mini_object_replace), (gst_value_mini_object_free),
929         (gst_value_mini_object_copy):
930         Use _CAST macros to avoid unneeded type checking.
931         Added some more G_UNLIKELY.
932
933 2006-06-12  Wim Taymans  <wim@fluendo.com>
934
935         * gst/gstbuffer.h:
936         Avoid unneeded type checking.
937         API: GST_BUFFER_IS_DISCONT
938
939         * gst/gstminiobject.h:
940         Avoid type check in flag accessor.
941
942         * gst/gstelementfactory.h:
943         * gst/gstplugin.h:
944         * gst/gstpluginfeature.h:
945         Add _CAST macros.
946         API: GST_ELEMENT_FACTORY_CAST
947         API: GST_PLUGIN_CAST
948         API: GST_PLUGIN_FEATURE_CAST
949
950 2006-06-12  Wim Taymans  <wim@fluendo.com>
951
952         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
953         (gst_object_unref):
954         Add G_UNLIKELY in type registration.
955         Avoid type check in _ref/_unref since that is also
956         done in glib.
957
958 2006-06-12  Wim Taymans  <wim@fluendo.com>
959
960         * gst/gsterror.c: (gst_g_error_get_type):
961         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
962         (gst_static_pad_template_get_type):
963         * gst/gsttaglist.c: (gst_tag_list_get_type):
964         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
965         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
966         * gst/gsturi.c: (gst_uri_handler_get_type):
967         * gst/gstvalue.c: (gst_date_get_type):
968         * gst/gstxml.c: (gst_xml_get_type):
969         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
970         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
971         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
972         Add G_UNLIKELY in type registration.
973
974 2006-06-12  Wim Taymans  <wim@fluendo.com>
975
976         * tools/gst-inspect.c: (print_signal_info):
977         Properly print enum values.
978
979 2006-06-12  Wim Taymans  <wim@fluendo.com>
980
981         * gst/gstinfo.c: (gst_debug_set_active),
982         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
983         * gst/gstinfo.h:
984         Add some G_[UN]LIKELY.
985         Maintain __gst_debug_min to avoid formatting the arguments of
986         debug messages that will be dropped anyway to avoid a lot of 
987         overhead from the debugging system.
988
989 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
990
991         * po/POTFILES.in:
992         * po/POTFILES.skip:
993           add missing files containing translatable strings, tell intltool about
994           one exception
995
996 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
997
998         * tests/check/libs/.cvsignore:
999         add test-binary to ignore list
1000
1001 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1002
1003         * docs/libs/gstreamer-libs-docs.sgml:
1004         reorder (put dp into a chapter) and indent
1005
1006 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1007
1008         * configure.ac:
1009           back to HEAD
1010
1011 === release 0.10.8 ===
1012
1013 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1014
1015         * configure.ac:
1016           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1017
1018 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1019
1020         * gst/gst.c: (init_post):
1021           move pid declaration to declaration block
1022
1023 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1024
1025         * gst/gst.c: (init_post):
1026           use _exit() instead of exit() in our forked child; this ensures
1027           that none of the registered exit handlers from whatever is using
1028           GStreamer get executed.  This fixes gnome-mixer-applet failing
1029           to load, because ORBit would shut down.
1030           Spotted by: Edward Hervey  <edward@fluendo.com>
1031           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1032           Fixes #344474
1033
1034 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1035
1036         * configure.ac:
1037           back to TRUNK
1038
1039 === release 0.10.7 ===
1040
1041 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1042
1043         * configure.ac:
1044           releasing 0.10.7, "Soepeke, ik zie ou"
1045
1046 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1047
1048         * configure.ac:
1049         * po/af.po:
1050         * po/az.po:
1051         * po/bg.po:
1052         * po/ca.po:
1053         * po/cs.po:
1054         * po/de.po:
1055         * po/en_GB.po:
1056         * po/fr.po:
1057         * po/it.po:
1058         * po/nb.po:
1059         * po/nl.po:
1060         * po/ru.po:
1061         * po/sq.po:
1062         * po/sr.po:
1063         * po/sv.po:
1064         * po/tr.po:
1065         * po/uk.po:
1066         * po/vi.po:
1067         * po/zh_CN.po:
1068         * po/zh_TW.po:
1069         * win32/common/config.h:
1070           0.10.6.2 prerelease
1071
1072 2006-06-07  Wim Taymans  <wim@fluendo.com>
1073
1074         * gst/gstindex.c: (gst_index_gtype_resolver):
1075         * tools/gst-xmlinspect.c: (print_plugin_info):
1076         Fix leak spotted by coverity checker. Fixes #343827
1077         Fix another other leak found by paolo borelli.
1078
1079 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1080
1081         * libs/gst/dataprotocol/dataprotocol.c:
1082         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1083         (gst_dp_version_get_type), (gst_dp_init),
1084         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1085         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1086         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1087         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1088         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1089         (gst_dp_packetizer_free):
1090         * libs/gst/dataprotocol/dataprotocol.h:
1091           API: add a GstDPPacketizer object, and create/free functions
1092           API: add GstDPVersion enum
1093           Add 1.0 event function that uses the string serialization
1094           Serialize more useful buffer flags
1095           Fixes #343988
1096
1097 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1098
1099         * tests/check/Makefile.am:
1100         * tests/check/gst/gstabi.c:
1101         * tests/check/gst/struct_ppc64.h:
1102         * tests/check/libs/libsabi.c:
1103         * tests/check/libs/struct_ppc64.h:
1104           add ppc64 structure sizes
1105
1106 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         * tests/check/Makefile.am:
1109         * tests/check/gst/gstabi.c:
1110         * tests/check/gst/struct_x86_64.h:
1111         * tests/check/libs/libsabi.c:
1112         * tests/check/libs/struct_x86_64.h:
1113           generate and add structure size lists for x86_64
1114
1115 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1118         * libs/gst/check/gstcheck.h:
1119           factor out the method from tests that checks size of structures,
1120           and add code to generate the header containing these sizes
1121         * tests/check/gst/gstabi.c: (GST_START_TEST):
1122         * tests/check/gst/struct_i386.h:
1123         * tests/check/libs/libsabi.c: (GST_START_TEST):
1124         * tests/check/libs/struct_i386.h:
1125           use it
1126
1127 2006-06-06  Michael Smith  <msmith@fluendo.com>
1128
1129         * gst/gstsegment.h:
1130           Don't use c++-style comments, fixes #343929
1131
1132 2006-06-05  Edward Hervey  <edward@fluendo.com>
1133
1134         * gst/gst.c:
1135         plugin_paths is not used if we build without registry support.
1136
1137         * gst/gstsegment.c: (gst_segment_copy): 
1138         _copy() was always returning NULL...
1139
1140 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1141
1142         * libs/gst/dataprotocol/dataprotocol.c:
1143         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1144         (gst_dp_packet_from_event):
1145           factor out CRC code
1146
1147 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1148
1149         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1150           make sure we unset caps
1151
1152 2006-06-02  Michael Smith  <msmith@fluendo.com>
1153
1154         * libs/gst/check/gstcheck.c: (gst_check_init),
1155         (gst_check_chain_func):
1156         * libs/gst/check/gstcheck.h:
1157           Add a cond/mutex to the check support lib, signal this whenever we
1158           add to the buffers list. This will allow tests to not busy-wait on
1159           the buffer-list.
1160
1161 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1162
1163         * libs/gst/dataprotocol/dataprotocol.c:
1164         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1165         (gst_dp_packet_from_event):
1166           factor out some common header init code
1167
1168 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * docs/libs/gstreamer-libs-sections.txt:
1171         * docs/libs/tmpl/gstdataprotocol.sgml:
1172         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1173         * libs/gst/dataprotocol/dataprotocol.h:
1174           API: make gst_dp_crc() public
1175
1176 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * plugins/indexers/gstindexers.c: (plugin_init):
1179         conditionally register fileindexer (fixes #343598)
1180
1181 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1182
1183         * gst/gsttagsetter.h:
1184         Can't cast ifaces to a class
1185
1186         * libs/gst/net/gstnetclientclock.h:
1187         * libs/gst/net/gstnettimeprovider.h:
1188         * plugins/elements/gstfakesink.h:
1189         * plugins/elements/gstfakesrc.h:
1190         * plugins/elements/gstfdsink.h:
1191         * plugins/elements/gstfdsrc.h:
1192         * plugins/elements/gstfilesink.h:
1193         * plugins/elements/gstfilesrc.h:
1194         * plugins/elements/gstidentity.h:
1195         * plugins/elements/gstqueue.h:
1196         * plugins/elements/gsttee.h:
1197         * plugins/indexers/gstfileindex.c:
1198         * plugins/indexers/gstmemindex.c:
1199         * tests/old/examples/plugins/example.h:
1200         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1201
1202 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1203
1204         * libs/gst/dataprotocol/dataprotocol.c:
1205         (gst_dp_header_from_buffer):
1206           make sure we zero the whole ABI-compatible area
1207
1208 2006-06-01  Wim Taymans  <wim@fluendo.com>
1209
1210         Patch by: Alessandro Decina <alessandro at nnva dot org>
1211
1212         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1213         Make sure the EOS flag is cleared from pads after a flush
1214         or stop. Fixes #343538.
1215
1216         * tests/check/libs/collectpads.c: (GST_START_TEST),
1217         (gst_collect_pads_suite):
1218         Added test for collectpads reusage after EOS.
1219
1220 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1221
1222         * gst/gst.c:
1223          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1224         * win32/common/libgstbase.def:
1225          export gst_collect_pads_set_flushing
1226         * win32/common/libgstreamer.def:
1227          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1228          gst_value_fraction_multiply
1229         * win32/vs6/gst_inspect.dsp:
1230          add a link to intl.lib
1231
1232 2006-05-30  Wim Taymans  <wim@fluendo.com>
1233
1234         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1235         (gst_collect_pads_chain):
1236         Handle the case where a pad is removed from the collection
1237         that could cause the other pads to become collectable.
1238
1239 2006-05-30  Wim Taymans  <wim@fluendo.com>
1240
1241         * gst/gstelement.c:
1242         Clarify the use of _release_request_pad() and
1243         _get_request_pad() a bit better.
1244
1245         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1246         (gst_adapter_take_buffer):
1247         Fix some doc and comment typos.
1248
1249 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1250
1251         * docs/gst/gstreamer-sections.txt:
1252         * docs/libs/gstreamer-libs-sections.txt:
1253           add declared symbols
1254
1255 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1256
1257         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1258         Add debug that can be enabled using a #define at the top of the file,
1259         for dumping stats about how late/early we were when waking up from
1260         waiting on the clock.
1261
1262 2006-05-30  Wim Taymans  <wim@fluendo.com>
1263
1264         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1265         When rebuilding the pad list, don't leak the previous list.
1266
1267 2006-05-30  Wim Taymans  <wim@fluendo.com>
1268
1269         Patch by: Lutz Mueller <lutz at topfrose dot de>
1270
1271         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1272         (gst_base_src_get_query_types), (gst_base_src_update_length):
1273         Publish supported query types.
1274         Update last_stop field in get_range mode so the position
1275         query works. Fixes #342321.
1276
1277 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1278
1279         * docs/gst/gstreamer-sections.txt:
1280         * gst/gsttaglist.c: (_gst_tag_initialize):
1281         * gst/gsttaglist.h:
1282           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1283
1284 2006-05-30  Wim Taymans  <wim@fluendo.com>
1285
1286         Patch by: Alessandro Decina <alessandro at nnva dot org>
1287
1288         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1289         Unlock mutex when removing an unknown pad.
1290         Fixes #343334.
1291
1292         * tests/check/Makefile.am:
1293         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1294         (push_event), (setup), (teardown), (GST_START_TEST),
1295         (gst_collect_pads_suite), (main):
1296         Added collecpads check, disabled for now as check crashes for
1297         some reason.
1298
1299 2006-05-29  Wim Taymans  <wim@fluendo.com>
1300
1301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1302         Don't leak pads lists.
1303
1304 2006-05-29  Wim Taymans  <wim@fluendo.com>
1305
1306         * docs/libs/gstreamer-libs-sections.txt:
1307         * libs/gst/base/gstcollectpads.c:
1308         (gst_collect_pads_set_flushing_unlocked),
1309         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1310         (gst_collect_pads_stop):
1311         * libs/gst/base/gstcollectpads.h:
1312         API: gst_collect_pads_set_flushing()
1313         Added api to set the pads to flushing, useful for seeking
1314         code in elements using collectpads.
1315         Clear segment when receiving a flush.
1316
1317 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1318
1319         * gst/gst.c: (add_path_func), (init_post):
1320           Don't scan registry paths passed via --gst-plugin-path immediately
1321           (will crash, because absolutely nothing is set up and no types are
1322           registered etc.); do this later in init_post(). Fixes #343057.
1323
1324 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1325
1326         * gst/gst.c: (init_post):
1327           if we have fork, fork while reading/rebuilding the registry
1328           so the parent doesn't take the hit of having all plugins loaded
1329           in memory.  Fixes #342777.
1330         * configure.ac:
1331           Check if we have fork()
1332         * win32/common/config.h.in:
1333           no fork() on win32
1334
1335 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1336
1337         * plugins/elements/gstelements.c:
1338         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1339         (gst_file_src_init), (gst_file_src_set_property),
1340         (gst_file_src_get_property), (gst_file_src_start):
1341         * plugins/elements/gstfilesrc.h:
1342           API: GstFileSrc::use-mmap
1343
1344         Add a use-mmap property to enable easier testing of all code paths.
1345         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1346         in the absence of gnomevfssrc. (Closes #340501)
1347
1348 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1349
1350         * tools/gst-inspect.c:
1351         Add missing include, removes warning of ngettext not being defined on
1352         some arches.
1353
1354 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1355
1356         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1357         Handle NULL input and output pointers silently as a failed conversion,
1358         rather than g_warnings.
1359
1360 2006-05-25  Wim Taymans  <wim@fluendo.com>
1361
1362         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1363         Initialize variable before using. Fixes #342820.
1364
1365 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1366
1367         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1368           Fix off-by-one bug that would only allow peeks of N-1 bytes
1369           from the start even if the buffer to typefind on contains
1370           in fact N bytes of data (makes vorbis typefinding from a
1371           vorbis identification header buffer work).
1372
1373         * tests/check/Makefile.am:
1374         * tests/check/libs/.cvsignore:
1375         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1376         (gst_typefindhelper_suite), (main), (foobar_typefind),
1377         (plugin_init):
1378           Add very basic unit test for gst_type_find_helper_for_buffer()
1379           that checks for the problem fixed above.
1380
1381 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1382
1383         * tools/gst-inspect.c: (print_interfaces),
1384         (print_element_properties_info), (print_element_list), (main):
1385           add more translatable strings
1386
1387 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1388
1389         Patch by: Julien Moutte  <julien at moutte net>
1390
1391         * docs/gst/gstreamer-sections.txt:
1392           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1393           
1394         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1395         (gst_fake_sink_preroll):
1396         * plugins/elements/gstfakesink.h:
1397           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1398
1399 2006-05-23  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1402         * gst/gstpad.h:
1403         Added _CUSTOM error and success GstFlowReturn that can be
1404         used be elements internally. 
1405         Added macro to check for SUCCESS flowreturns.
1406         API: GST_FLOW_CUSTOM_SUCCESS
1407         API: GST_FLOW_CUSTOM_ERROR
1408         API: GST_FLOW_IS_SUCCESS
1409
1410         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1411         Added check for GstFlowReturn sanity.
1412
1413 2006-05-23  Wim Taymans  <wim@fluendo.com>
1414
1415         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1416
1417         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1418         (gst_collect_pads_event):
1419         clear/reset segment info in FLUSH_STOP.
1420         Fixes #336929.
1421
1422 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1423
1424         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1425         (gst_collect_pads_check_collected):
1426         Flush queued buffer on _stop(), fixes playing again (#342454)
1427
1428 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1429
1430         * tests/check/gst/gststructure.c: (GST_START_TEST),
1431         (gst_structure_suite):
1432           add a test for a complete structure
1433
1434 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1435
1436         * docs/faq/developing.xml:
1437         * docs/faq/faq.xml:
1438         * docs/faq/troubleshooting.xml:
1439         * docs/faq/using.xml:
1440           Some minor FAQ updates that won't change the fact that
1441           our FAQ is badly structured, full of information hardly
1442           anyone new to GStreamer needs to know and lacking lots
1443           of information people constantly ask for.
1444           
1445 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1446
1447         * gst/gstpad.c: (gst_pad_set_caps):
1448           Short-circuit gst_pad_set_caps if setting the existing
1449           caps pointer again, and avoid printing debug and 
1450           reffing/unreffing the caps.
1451
1452         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1453           There's actually no need to set the caps before pushing -
1454           the acceptcaps method will handle it anyway.
1455
1456 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1457
1458         * docs/gst/gstreamer-sections.txt:
1459         * win32/common/libgstreamer.def:
1460         * gst/gstutils.c: (gst_element_seek_simple):
1461         * gst/gstutils.h:
1462           API: add gst_element_seek_simple() (#342238).
1463
1464 2006-05-18  Edward Hervey  <edward@fluendo.com>
1465
1466         * gst/gsttypefind.c: (gst_type_find_get_type):
1467         * gst/gsttypefind.h:
1468         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1469         registered for GstTypeFind pointers. This allows wrapping the structure
1470         in bindings (i.e. gst-python).
1471
1472 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1473
1474         * gst/gsttagsetter.c:
1475           Docs additions and fixes (see #339918).
1476
1477 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1478
1479         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1480         The caps intersection algorithm can produce multiple copies of the
1481         caps. Until that is fixed, we need to simplify the result to be
1482         sure whether the allowed caps are fixed or not.
1483
1484         * plugins/elements/gstqueue.c: (gst_queue_init),
1485         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1486         (gst_queue_push_one):
1487         Proxied buffer alloc should not set the caps on the source pad.
1488         When pushing buffers, we always accept the caps change that triggers.
1489         This prevents negotiation errors caused by caps changing mid-stream 
1490         and then being refused on our source pad (because upstream is now
1491         refusing those caps).
1492
1493 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1494
1495         * tests/examples/helloworld/helloworld.c: (main):
1496           Must plug audioconvert and audioresample between decoder
1497           and audio sink.
1498
1499 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1500
1501         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1502         (load_feature), (load_plugin):
1503         Allow empty strings for some of the plugin fields so we don't 
1504         drop valid plugin entries that were written out correctly
1505         (Fixes #341479)
1506
1507 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1508         
1509         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1510           Use g_remove and g_rename instead of remove and rename that don't 
1511           handle utf8 characters. rename was failing for users who had specific
1512           characters in their name then the registry was built at each 
1513           gstreamer init.
1514         * win32/vs6/gst_inspect.dsp:
1515         * win32/vs6/gst_launch.dsp:
1516         * win32/vs6/libgstbase.dsp:
1517         * win32/vs6/libgstcoreelements.dsp:
1518         * win32/vs6/libgstreamer.dsp:
1519           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1520           build of libgstreamer and clean unused libraries in projects link 
1521           settings.
1522
1523 2006-05-17  Edward Hervey  <edward@fluendo.com>
1524
1525         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1526         The queue is not responsible for pushing an EOS when receiving a fatal
1527         flow error. It's up to the real element driving the pipeline to do that.
1528
1529 2006-05-16  Edward Hervey  <edward@fluendo.com>
1530
1531         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1532         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1533         buffer returned a fatal error. It should just send an EOS and stop
1534         its task.
1535         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1536         when pushing buffers on the queue and will be able to handle the event.
1537
1538 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1539
1540         * docs/manual/basics-bins.xml:
1541         * docs/manual/basics-init.xml:
1542           Fix typos and minor errors in sample code (#341856).
1543
1544 2006-05-16  Wim Taymans  <wim@fluendo.com>
1545
1546         * docs/design/part-qos.txt:
1547         Fix indexes in formulas to make more sense.
1548
1549 2006-05-15  Wim Taymans  <wim@fluendo.com>
1550
1551         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1552         Don't report POSITION based on clock time if sync is
1553         disabled in a sink.
1554
1555 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1556
1557         * gst/gstobject.h:
1558           Add cast to make compiler happy - refcount variable was a gint
1559           in GstObject but is a guint in GObject and g_atomic_int_get()
1560           wants a gint *.
1561
1562 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1563
1564         * gst/parse/Makefile.am:
1565           chain commands using &&, which also makes parallel make work
1566
1567 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1568
1569         * docs/gst/gstreamer-sections.txt:
1570         * gst/gstevent.c:
1571         * gst/gstevent.h:
1572         * gst/gstmessage.h:
1573           Minor docs fixes.
1574
1575 === release 0.10.6 ===
1576
1577 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1578
1579         * configure.ac:
1580           releasing 0.10.6, "Take the cannoli"
1581
1582 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1583
1584         * tools/gst-launch.c: (print_tag):
1585           Fix use of uninitialized variable in the hypothetical
1586           case that some broken plugin creates a GST_TAG_IMAGE
1587           tag containing a NULL buffer (#341667).
1588
1589 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1590
1591         * tools/gst-launch.c: (print_tag):
1592           Print something more intelligible for image tags when
1593           using the -t switch (#341556).
1594
1595 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1596
1597         * Makefile.am:
1598           updates for win32
1599         * configure.ac:
1600           define GST_MAJORMINOR so we have it available in win32/common/config.h
1601           Possibly remove it from our Makefile.am files later
1602         * win32/common/config.h:
1603         * win32/common/config.h.in:
1604           added GST_MAJORMINOR
1605         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1606         * win32/common/gstversion.h:
1607           updated
1608
1609 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1610
1611         * win32/MANIFEST:
1612           Update win32 files listing.
1613         * win32/common/gstversion.h:
1614           Add GST_MAJORMINOR definition.
1615         * win32/common/libgstreamer.def:
1616           Add new exported functions.
1617           
1618 2006-05-12  Michael Smith  <msmith@fluendo.com>
1619
1620         * gst/gstplugin.c: (gst_plugin_load_file):
1621           If an so file has no plugin entry point, unload the module.
1622
1623 2006-05-11  Wim Taymans  <wim@fluendo.com>
1624
1625         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1626         (gst_queue_set_property):
1627         Don't forget to signal the _chain or _loop function 
1628         when the queue size or thresholds change since that might
1629         cause them to make progres again.
1630
1631 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1632
1633         * gst/gstclock.c: (gst_clock_class_init):
1634         * gst/gstindex.c: (gst_index_class_init):
1635         * gst/gstobject.c: (gst_object_class_init):
1636         * gst/gstpad.c: (gst_pad_class_init):
1637         * gst/gstpipeline.c: (gst_pipeline_class_init):
1638         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1639         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1640         * libs/gst/base/gstbasetransform.c:
1641         (gst_base_transform_class_init):
1642         * libs/gst/net/gstnetclientclock.c:
1643         (gst_net_client_clock_class_init):
1644         * libs/gst/net/gstnettimeprovider.c:
1645         (gst_net_time_provider_class_init):
1646         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1647         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1648         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1649         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1650         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1651         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1652         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1653         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1654         * plugins/elements/gsttee.c: (gst_tee_class_init):
1655         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1656         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1657           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1658
1659 2006-05-11  Wim Taymans  <wim@fluendo.com>
1660
1661         * gst/gstbuffer.c: (_gst_buffer_initialize):
1662         Register subbufer along with the buffer type so that
1663         it does not accidentally gets registered from N
1664         different streaming threads in a non threadsafe way.
1665
1666 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * gst/gstbuffer.h:
1669         * gst/gstevent.h:
1670         * gst/gstmessage.h:
1671           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1672           gst_event_ref() and gst_message_ref() functions again
1673           (ugly hack, please do fix if there's a better way besides
1674           overrides.txt, which doesn't seem to work).
1675
1676 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1677
1678         * libs/gst/check/gstcheck.h:
1679           add an assert for setting state to avoid lots of repetitive code
1680           in the future
1681
1682 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * gst/gstvalue.c: (gst_value_serialize_flags):
1685           fix a leak if no flags are set
1686         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1687           fix leak in tests
1688
1689 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * docs/manual/basics-pads.xml:
1692           Expand a bit on caps and filtered links and update
1693           examples that were still using the no longer existing
1694           gst_pad_link_filtered() (#338206).
1695
1696 2006-05-10  Wim Taymans  <wim@fluendo.com>
1697
1698         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1699         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1700         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1701         (gst_collect_pads_stop):
1702         * libs/gst/base/gstcollectpads.h:
1703         No need to call _stop in _finalize.
1704         Iterate the main pad list in _finalize.
1705         Added some more debug.
1706         Free lists and data in the right order.
1707         Also free data whem doing _remove_pad when stopped for
1708         backward compatibility protect ::started with PAD_LOCK as
1709         well.
1710
1711 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1712
1713         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1714         (gst_structure_parse_value):
1715           add some comments
1716           rename a method so that it actually says what it does better
1717
1718 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         * gst/gstevent.c: (_gst_event_initialize):
1721         * gst/gstformat.c: (_gst_format_initialize):
1722           make sure some essential types used by events are registered
1723           as part of gst_init()
1724         * gst/gstvalue.c: (gst_value_serialize_flags):
1725           if no flags are set, serialize them to a value that represents NONE
1726           so that deserializing them works
1727         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1728           add tests for serialization and deserialization of flags
1729
1730 2006-05-10  Wim Taymans  <wim@fluendo.com>
1731
1732         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1733         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1734         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1735         (gst_collect_pads_event), (gst_collect_pads_chain):
1736         Update docs.
1737         Better debug info.
1738         Catch and return errors from the collect function
1739         Refuse data on eos pads.
1740
1741 2006-05-10  Edward Hervey  <edward@fluendo.com>
1742
1743         * gst/gstinterface.h:
1744         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1745         GInterface type checking.
1746         They were previously using non-defined macros.
1747
1748 2006-05-09  Wim Taymans  <wim@fluendo.com>
1749
1750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1751         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1752         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1753         (gst_collect_pads_start), (gst_collect_pads_stop),
1754         (gst_collect_pads_peek), (gst_collect_pads_pop),
1755         (gst_collect_pads_available), (gst_collect_pads_read),
1756         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1757         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1758         (gst_collect_pads_chain):
1759         * libs/gst/base/gstcollectpads.h:
1760         Clean up the mess that is collectpads, add comments and
1761         FIXMEs where needed.
1762         Maintain a separate pad list so we can add pads while
1763         collecting the other ones. For this we need a new separate 
1764         lock (see comics).
1765         Fix memory leak in finalize.
1766         Refactor some weird code to set/unset pad flushing flags, mark
1767         with comments.
1768         Don't crash in _available, _read, _flush when we're EOS.
1769
1770         * tests/check/libs/.cvsignore:
1771         Ignore adapter check binary.
1772
1773 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1774
1775         * gst/gstindex.c: (gst_index_resolver_get_type):
1776         * plugins/elements/gstfakesink.c:
1777         (gst_fake_sink_state_error_get_type):
1778         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1779         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1780         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1781           Const-ify GEnumValue arrays.
1782
1783 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1786           Add test case for flags + gst_buffer_make_metadata_writable().
1787
1788 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1789
1790         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1791           gst_buffer_make_metadata_writable() should maintain the
1792           buffer flags (those that make sense at least) (see #340859).
1793
1794 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1795
1796         * tools/gst-inspect.c:
1797         * tools/gst-launch.c:
1798         * tools/gst-typefind.c:
1799         * tools/gst-xmlinspect.c:
1800         * tools/tools.h:
1801           Fix up includes: need to include stdlib.h in tools.h for exit().
1802
1803 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1804
1805         * gst/gsttaglist.c: (_gst_tag_initialize):
1806         * gst/gsttaglist.h:
1807           API: add GST_TAG_IMAGE tag (#340721).
1808
1809 2006-05-08  Wim Taymans  <wim@fluendo.com>
1810
1811         * gst/gstquery.c:
1812         Added some docs for the segment query.
1813
1814 2006-05-08  Wim Taymans  <wim@fluendo.com>
1815
1816         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1817         (gst_base_src_loop), (gst_base_src_change_state):
1818         Always push non-flushing serialized events in the streaming 
1819         thread.
1820
1821 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1822
1823         * gst/gsterror.c: (_gst_stream_errors_init):
1824           Add a missing error string.
1825
1826 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1827
1828         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1829         Add applied_rate to the debug
1830
1831         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1832         Copy applied_rate into the outgoing NEWSEGMENT event
1833
1834 2006-05-08  Wim Taymans  <wim@fluendo.com>
1835
1836         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1837
1838         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1839         (gst_base_sink_change_state):
1840         call ::unlock before taking the PREROLL_LOCK so we can safely
1841         handle elements that lock in ::render.
1842         Fixes #340174.
1843
1844 2006-05-08  Edward Hervey  <edward@fluendo.com>
1845
1846         * autogen.sh: (CONFIGURE_DEF_OPT): 
1847         Darwin's libtoolize is in fact called glibtoolize.
1848         Adding glibtoolize to the list of accepted names for libtoolize.
1849
1850 2006-05-08  Wim Taymans  <wim@fluendo.com>
1851
1852         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1853         Unify error handling, don't post an error message
1854         when a push() returns EOS but perform our normal EOS
1855         handling code. Fixes #340772.
1856
1857 2006-05-08  Wim Taymans  <wim@fluendo.com>
1858
1859         * docs/design/part-overview.txt:
1860         Make upsteam/downstream concepts more clear.
1861         Give an example of serialized/non-serialized events.
1862
1863         * docs/design/part-events.txt:
1864         * docs/design/part-streams.txt:
1865         Mention applied_rate.
1866
1867         * docs/design/part-trickmodes.txt:
1868         Mention applied rate, flesh out some more use cases.
1869
1870         * gst/gstevent.c: (gst_event_new_new_segment),
1871         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1872         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1873         (gst_event_parse_tag), (gst_event_new_buffer_size),
1874         (gst_event_parse_buffer_size), (gst_event_new_qos),
1875         (gst_event_parse_qos), (gst_event_parse_seek),
1876         (gst_event_new_navigation):
1877         * gst/gstevent.h:
1878         Add applied_rate field to NEWSEGMENT event.
1879         API: gst_event_new_new_segment_full()
1880         API: gst_event_parse_new_segment_full()
1881
1882         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1883         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1884         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1885         * gst/gstsegment.h:
1886         Add applied_rate to GstSegment structure.
1887         Make calculation of stream_time and running_time more correct
1888         wrt rate/applied_rate.
1889         Add some more docs.
1890         API: GstSegment::applied_rate field
1891         API: gst_segment_set_newsegment_full();
1892
1893         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1894         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1895         * libs/gst/base/gstbasetransform.c:
1896         (gst_base_transform_sink_eventfunc),
1897         (gst_base_transform_handle_buffer):
1898         Parse and use applied_rate in the GstSegment field.
1899
1900         * tests/check/gst/gstevent.c: (GST_START_TEST):
1901         Add check for applied_rate field.
1902
1903         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1904         (gstsegments_suite):
1905         Add more checks for various GstSegment operations.
1906
1907 2006-05-08  Wim Taymans  <wim@fluendo.com>
1908
1909         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1910         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1911         (gst_base_sink_get_position), (gst_base_sink_change_state):
1912         Store the sync time of the buffer end position separatly in a
1913         new variable eos_rtime so we can properly sync the EOS event.
1914         Fixes #340697.
1915         Fix the docs for gst_base_sink_set_qos_enabled().
1916         Don't set segment start to invalid value when we receive a 
1917         non TIME newsegment.
1918         get closer to handling position reporting for negative rates 
1919         correctly.
1920
1921 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * gst/gstcaps.c:
1924         Docs about how to print caps for debug purposes.
1925
1926         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1927         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1928
1929 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1930
1931         * gst/gstelement.c:
1932           use full enum names and preprend a '%' in docs strings to make recent 
1933           gtk-doc turn that into a link
1934
1935 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1936
1937         * docs/manual/basics-bins.xml:
1938         * docs/manual/basics-bus.xml:
1939         * docs/manual/basics-pads.xml:
1940           Some typo fixes, some additions, some clarifications. 
1941
1942 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * tools/gst-inspect.c: (main):
1945         * tools/gst-launch.c: (main):
1946         * tools/gst-run.c: (main):
1947         * tools/gst-typefind.c: (main):
1948         * tools/gst-xmlinspect.c: (main):
1949           Use the string passed to g_option_context_new() for
1950           what it's intended for - the program name is already
1951           printed elsewhere.
1952
1953 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         * tools/Makefile.am:
1956         * tools/gst-inspect.c: (main):
1957         * tools/gst-launch.c: (main):
1958         * tools/gst-xmlinspect.c: (main):
1959         * tools/tools.h:
1960           Add back --version command line option (#340460).
1961
1962         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1963           Add --version option and use GOption for argument parsing; refactor a
1964           bit; accept directories as arguments and recurse into them; lastly,
1965           print a decent error message when things go wrong.
1966
1967 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1968
1969         * docs/manual/basics-bins.xml:
1970         Don't mention GstThread (#340611)
1971         * docs/manual/basics-elements.xml:
1972         Update link to GObject tutorial (#340607)
1973         
1974 2006-05-05  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/gstbuffer.h:
1977         * gst/gstminiobject.c:
1978         Add note about refcounting and miniobject/buffer writeability
1979         to docs. Fixes #340604
1980
1981         * gst/gstelementfactory.h:
1982         Added some explanation about @klass.
1983
1984 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1985
1986         * docs/manual/intro-motivation.xml:
1987         * docs/manual/manual.xml:
1988         Avoid CORBA & Bonobo references (#340598)
1989
1990 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1991
1992         * docs/manual/basics-bus.xml:
1993         * docs/manual/basics-pads.xml:
1994         Fix up some inaccuracies and omissions (#340609)
1995         
1996 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1997
1998         * gst/gstghostpad.c:
1999           Small typo in docs (#340625)
2000
2001 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2002
2003         * gst/parse/Makefile.am:
2004           Make 'make -j' proof (see #340698).
2005
2006 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * configure.ac:
2009           Require GLib-2.8 here as well.
2010
2011 2006-05-05  Wim Taymans  <wim@fluendo.com>
2012
2013         * gst/glib-compat.c:
2014         * gst/gst.c: (init_pre):
2015         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2016         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2017         (gst_object_dispatch_properties_changed):
2018         * gst/gstobject.h:
2019         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2020         * gst/gststructure.c: (gst_structure_set_valist):
2021         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2022         Remove pre glib2.8 compatibility, fixes #340508
2023
2024 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2025
2026         * gst/gsttaglist.h:
2027           Mention type of tags in doc blurbs.
2028
2029 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2030
2031         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2032         (gst_pad_configure_src), (gst_pad_push):
2033         Restore acceptcaps checking behaviour now that good plugins have
2034         been released.
2035
2036 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2037
2038         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2039
2040         * gst/gst.c:
2041         * gst/gstbus.c:
2042         * gst/gstclock.c:
2043         * gst/gstevent.c:
2044         * gst/gstformat.c:
2045         * gst/gstmessage.c:
2046         * gst/gstparse.c:
2047         * gst/gstquery.c:
2048         * gst/gstutils.c:
2049         * gst/parse/Makefile.am:
2050         * libs/gst/base/gstadapter.c:
2051         * libs/gst/base/gstbasesrc.c:
2052         * libs/gst/base/gstpushsrc.c:
2053         * libs/gst/base/gsttypefindhelper.c:
2054         * plugins/elements/gstfakesrc.c:
2055         * plugins/elements/gstidentity.c:
2056           Make sure gstprivate.h and/or config.h are
2057           always included first, otherwise some of our
2058           defines (like _FILE_OFFSET_BITS) might be
2059           redefined in the system headers. Fixes build
2060           on opensolaris (#340016).
2061
2062 2006-05-04  Wim Taymans  <wim@fluendo.com>
2063
2064         * docs/libs/gstreamer-libs-sections.txt:
2065         API: addition: gst_adapter_take_buffer()
2066         
2067         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2068         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2069         (gst_adapter_available_fast):
2070         * libs/gst/base/gstadapter.h:
2071         Prepare for optimizing the hell out of this hugely inefficient
2072         piece of code. 
2073         Added gst_adapter_take_buffer() so we can at least start thinking
2074         about subbuffering and merging.
2075         Added some comments.
2076
2077         * tests/check/Makefile.am:
2078         * tests/check/libs/adapter.c: (GST_START_TEST),
2079         (gst_adapter_suite), (main):
2080         Added GstAdapter check.
2081
2082 2006-05-04  Wim Taymans  <wim@fluendo.com>
2083
2084         * docs/design/part-overview.txt:
2085         Fix some typos, add blurb about buffer flags.
2086
2087 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2088
2089         * docs/libs/gstreamer-libs-sections.txt:
2090           make sure GstBaseTransformClass shows up in the docs
2091         * libs/gst/base/gstbasetransform.c:
2092         * libs/gst/base/gstbasetransform.h:
2093           move docs so gtk-doc picks it up now
2094
2095 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2096
2097         * docs/libs/gstreamer-libs-sections.txt:
2098           add missing symbols to docs
2099
2100 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2101
2102         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2103           back out the newsegment handling change, see #340060 for ongoing
2104           discussion
2105
2106 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2107
2108         * tools/gst-run.c: (get_candidates), (main):
2109           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2110           work); fix typo in error message. Fixes #340079.
2111
2112 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2113
2114         * common/Makefile.am:
2115         * docs/Makefile.am:
2116         * docs/faq/Makefile.am:
2117         * docs/gst/Makefile.am:
2118         * docs/libs/Makefile.am:
2119         * docs/manual/Makefile.am:
2120         * docs/plugins/Makefile.am:
2121         * docs/pwg/Makefile.am:
2122         * docs/slides/Makefile.am:
2123         * docs/upload.mak:
2124         * common/upload.mak:
2125           move upload.mak to common
2126
2127 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2128
2129         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2130           add more asserts on refcounts
2131           do more cleanup at end of tests
2132           fix test leaks showing in FC5
2133
2134 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2135
2136         * plugins/elements/gsttypefindelement.c:
2137         (gst_type_find_element_handle_event):
2138         reverted wrong change and reflowed code to avoid others falling into
2139         this trap
2140
2141 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2142
2143         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2144           fix changelog entry about last collectpads change,
2145           add notes about proper fix
2146
2147 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2148
2149         * gst/gst.c:
2150         * gst/gstregistry.c: (gst_registry_scan_path_level),
2151         (gst_registry_scan_path):
2152         * gst/gstregistry.h:
2153           only write out registry if it has changed, fixes #338339
2154
2155 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2156
2157         * gst/gstbin.c:
2158         * gst/gstpipeline.c:
2159         * plugins/elements/gstcapsfilter.c:
2160         * plugins/elements/gstfakesink.c:
2161         * plugins/elements/gstfakesrc.c:
2162         * plugins/elements/gstfdsink.c:
2163         * plugins/elements/gstfdsrc.c:
2164         * plugins/elements/gstfilesink.c:
2165         * plugins/elements/gstfilesrc.c:
2166         * plugins/elements/gstidentity.c:
2167         * plugins/elements/gstqueue.c:
2168         * plugins/elements/gsttee.c:
2169         * plugins/elements/gsttypefindelement.c:
2170         (gst_type_find_element_handle_event):
2171           make GstElementDetails const
2172
2173 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2174
2175         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2176         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2177         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2178           more detailed debug and formatting cleanup,
2179           forward newsegments to src-pad (so that e.g. adder not eats them)
2180
2181 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2182
2183         * gst/gstutils.c: (gst_element_link_pads):
2184           cleanup double code
2185
2186 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2187
2188         * libs/gst/controller/gstcontroller.c:
2189         (gst_controller_sync_values):
2190           some little tuning
2191         * tests/check/libs/controller.c: (GST_START_TEST),
2192         (gst_controller_suite):
2193           a new test for live value handling
2194
2195 2006-04-28  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/gstutils.c: (push_and_ref):
2198         Added some more docs.
2199         Fix refcount issue whith gst_element_found_tags() helper 
2200         function. Fixes #338335
2201
2202         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2203         Added testsuite for gst_element_found_tags().
2204
2205 2006-04-28  Michael Smith  <msmith@fluendo.com>
2206
2207         * gst/gstvalue.c: (gst_value_serialize_flags):
2208           Avoid NULL dereference when trying to serialize flags containing
2209           invalid values.
2210
2211 2006-04-28  Michael Smith  <msmith@fluendo.com>
2212
2213         * plugins/elements/gsttypefindelement.c:
2214         (gst_type_find_element_handle_event):
2215           If we get EOS before any data is accumulated, don't use
2216           uninitialised local variables.
2217
2218 2006-04-28  Michael Smith  <msmith@fluendo.com>
2219
2220         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2221         (gst_dp_event_from_packet):
2222           Fixes in reading/writing events over GDP (not currently used?) - 
2223           dereferencing NULL events for unknown/invalid event types, memory
2224           leak, and change g_warning to GST_WARNING.
2225
2226 2006-04-28  Wim Taymans  <wim@fluendo.com>
2227
2228         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2229         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2230         (gst_base_sink_get_position), (gst_base_sink_change_state):
2231         When frame dropping is enabled, we should not ignore frames
2232         without a duration.
2233         Update some documentation.
2234
2235 2006-04-28  Wim Taymans  <wim@fluendo.com>
2236
2237         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2238         (gst_base_src_send_event), (gst_base_src_change_state):
2239         Documentation updates.
2240
2241 2006-04-28  Wim Taymans  <wim@fluendo.com>
2242
2243         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2244         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2245         handle EAGAIN, EINTR and short writes correctly. Also clean
2246         up some error cases, avoid a deadlock on bad file descriptors and
2247         use GST_DEBUG_OBJECT.
2248         Fixes #339843
2249
2250 2006-04-28  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/gstvalue.c: (gst_value_serialize_buffer),
2253         (gst_value_deserialize_buffer):
2254         Don't try to serialize a GValue with a NULL buffer. 
2255         Fixes #339821.
2256
2257         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2258         Added check for serialisation of NULL buffers.
2259
2260 2006-04-28  Wim Taymans  <wim@fluendo.com>
2261
2262         * gst/gstminiobject.c: (gst_value_take_mini_object):
2263         Taking a NULL miniobject is valid, fix the case where
2264         we try to unref the NULL miniobject.
2265
2266 2006-04-28  Wim Taymans  <wim@fluendo.com>
2267
2268         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2269
2270         * gst/gstbin.c: (gst_bin_handle_message_func):
2271         Update docs.
2272         Don't leak bin refcount when a state recalc is
2273         in progress and we delay another one #339808.
2274
2275 2006-04-28  Wim Taymans  <wim@fluendo.com>
2276
2277         * docs/design/part-TODO.txt:
2278         Mention QoS as an ongoing work item.
2279
2280         * docs/design/part-buffering.txt:
2281         New doc about buffering that needs to be fleshed out
2282         at some point.
2283
2284         * docs/design/part-qos.txt:
2285         More QoS policy for decoders/demuxers/transforms
2286
2287         * docs/design/part-trickmodes.txt:
2288         Small update.
2289
2290 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2291
2292         * configure.ac:
2293           back to HEAD
2294
2295 === release 0.10.5 ===
2296
2297 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2298
2299         * configure.ac:
2300           releasing 0.10.5, "Fogo"
2301
2302 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2303
2304         patch by: Wim Taymans
2305
2306         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2307         (gst_pad_configure_src), (gst_pad_push):
2308         * gst/gstpipeline.c: (gst_pipeline_init):
2309           Fix internal data flow errors.  Fixes #338711.
2310
2311 2006-04-12  Wim Taymans  <wim@fluendo.com>
2312
2313         * tests/check/gst/gstelement.c: (GST_START_TEST):
2314         Don't leak the factory.
2315
2316 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2317
2318         * configure.ac:
2319         * win32/common/config.h:
2320           prerelease
2321
2322 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2323
2324         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2325         (gst_controller_unset_all):
2326           Free allocated GstTimedValues when freeing list nodes.
2327           Should fix leaks 'make check-valgrind' complains about.
2328
2329         * win32/common/libgstcontroller.def:
2330           Add gst_controller_unset_all.
2331
2332 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2333
2334         * docs/libs/gstreamer-libs-sections.txt:
2335         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2336         (gst_controller_unset_all):
2337         * libs/gst/controller/gstcontroller.h:
2338         API: Added new method gst_controller_unset_all()
2339         fixed gst_controller_unset()
2340         * tests/check/libs/controller.c: (GST_START_TEST),
2341         (gst_controller_suite):
2342         Added two testcases for new and fixed method
2343
2344 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2345
2346         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2347           MSG_DONTWAIT is not defined on Cygwin, so work
2348           around that (fixes #317048).
2349           
2350 2006-04-11  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/gstelementfactory.c: (gst_element_register),
2353         (gst_element_factory_create), (gst_element_factory_make):
2354         Some cleanups.
2355         Fixed a FIXME.
2356         Updated docs (Fixes #131079)
2357
2358         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2359         Small cleanups.
2360
2361         * tests/check/gst/gstelement.c: (GST_START_TEST),
2362         (gst_element_suite):
2363         Added testcase for elementfactory class field.
2364
2365 2006-04-10  Wim Taymans  <wim@fluendo.com>
2366
2367         * gst/gstsegment.c:
2368         Added some more docs.
2369
2370         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2371         (gst_base_sink_reset_qos):
2372         Calculate more accurate rate values.
2373
2374 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2375
2376         * gst/gst_private.h:
2377           add a new #ifdef to use __declspec(dllimport) only for
2378           other modules and not for gstreamer core
2379         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2380           use gst_guint64_to_gdouble for conversion
2381         * win32/common/libgstreamer.def:
2382           add new exported functions
2383         * win32/vs6/gst_inspect.dsp:
2384         * win32/vs6/gst_launch.dsp:
2385         * win32/vs6/libgstbase.dsp:
2386         * win32/vs6/libgstcontroller.dsp:
2387         * win32/vs6/libgstcoreelements.dsp:
2388         * win32/vs6/libgstdataprotocol.dsp:
2389         * win32/vs6/libgstnet.dsp:
2390           update project files
2391
2392 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2393
2394         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2395         * gst/gstclock.c: (gst_clock_class_init):
2396         * gst/gstelement.c: (gst_element_class_init):
2397         * gst/gstindex.c: (gst_index_class_init):
2398         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2399         * gst/gstobject.c: (gst_object_class_init),
2400         (gst_signal_object_class_init):
2401         * gst/gstpad.c: (gst_pad_class_init):
2402         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2403         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2404         * gst/gstregistry.c: (gst_registry_class_init):
2405         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2406         * gst/gsttask.c: (gst_task_class_init):
2407         * gst/gstxml.c: (gst_xml_class_init):
2408         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2409         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2410         (gst_base_src_loop):
2411         * libs/gst/controller/gstcontroller.c:/
2412         (_gst_controller_class_init):
2413         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2414         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2415         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2416         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2417         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2418         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2419
2420 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2421
2422         * gst/gstpad.c: (gst_pad_link):
2423           Must set peer pads before calling the link function, otherwise
2424           a task started from a link function might get a flow-not-linked
2425           result when trying to push because the other thread where the
2426           linking happens hasn't had a chance to set the peers yet. This
2427           might happen for example when a queue gets linked to a downstream
2428           element, as queue starts a streaming task when its source pad
2429           gets linked. Happens in real life when playing back flac/musepack
2430           files in playbin (#332390).
2431           
2432 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2433
2434         * gst/gstindex.h:
2435         * gst/gstxml.h:
2436         * libs/gst/base/gstadapter.h:
2437         * libs/gst/base/gstbasesink.h:
2438         * libs/gst/base/gstbasesrc.h:
2439         * libs/gst/base/gstbasetransform.h:
2440         * libs/gst/base/gstcollectpads.h:
2441         * libs/gst/base/gstpushsrc.h:
2442         Fix broken GObject macros
2443
2444 2006-04-07  Wim Taymans  <wim@fluendo.com>
2445
2446         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2447         Initialize start and stop times, thanks valgrind.
2448
2449 2006-04-07  Wim Taymans  <wim@fluendo.com>
2450
2451         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2452         Be a bit nicer to badly behaving upstream elements that expect
2453         us to deal with non TIME segments and timestamps (such as fakesrc
2454         in the testsuite).
2455
2456 2006-04-07  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstbus.c:
2459         Small documentation clarification about the signal watch.
2460
2461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2462         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2463         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2464         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2465         (gst_base_sink_get_position_last),
2466         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2467         Convert and store timestamps in stream time and running time, the
2468         raw timestamps are not usefull, also document this better.
2469         Use different window sizes for good and bad QoS observations so
2470         we react to badness a little quicker.
2471         Keep track of the amount of rendered and dropped buffers.
2472         Send QoS timestamps in running time.
2473
2474         * libs/gst/base/gstbasetransform.c:
2475         (gst_base_transform_sink_eventfunc),
2476         (gst_base_transform_handle_buffer):
2477         Compare QoS timestamps against running time.
2478
2479 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         * gst/gstpad.c:
2482           Typo fixes in docs.
2483
2484 2006-04-06  Michael Smith  <msmith@fluendo.com>
2485
2486         * gst/gstpad.c: (gst_pad_set_property):
2487           Use g_value_get_object() instead of g_value_dup_gst_object(),
2488           to avoid double-reffing the pad template (which we then sink,
2489           so this worked previously if (and only if) the pad template
2490           was floating.
2491
2492         * gst/gstpadtemplate.c: (gst_pad_template_init),
2493         (gst_pad_template_pad_created):
2494           Never return floating references to pad templates, create
2495           them as initially-sunken.
2496
2497           Document an extra function (and make this stop sinking our
2498           pad template, since that is now guaranteed to do nothing,
2499           since we created it sunken).
2500
2501         * gst/gstghostpad.c:
2502           Fix docs typo.
2503
2504 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * gst/gstinfo.c: (__gst_in_valgrind):
2507           Add some newlines.
2508
2509         * plugins/elements/gsttypefindelement.c:
2510         (gst_type_find_element_chain):
2511           Don't leak buffer caps.
2512
2513 2006-04-06  Michael Smith  <msmith@fluendo.com>
2514
2515         * gst/parse/grammar.y:
2516           Fix a leak in parse-launch for any source-or-sink named element 
2517           references used.
2518
2519         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2520           Unref the pipeline if it exists after we've failed parsing.
2521
2522 2006-04-05  Michael Smith  <msmith@fluendo.com>
2523
2524         * gst/gstpipeline.c: (gst_pipeline_init):
2525           When we create a pipeline bus, initially create it in flushing mode.
2526           Fixes leaks in at least one test, and makes a new pipeline work the
2527           same as one that has gone to READY and then back to NULL.
2528
2529         * gst/gstelement.c:
2530           Typo fix in docs.
2531
2532 2006-04-05  Michael Smith  <msmith@fluendo.com>
2533
2534         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2535           Unref a pad we reffed.
2536         * tests/check/gst/gstutils.c: (GST_START_TEST):
2537           Unref bins
2538
2539 2006-04-05  Michael Smith  <msmith@fluendo.com>
2540
2541         * gst/gstquery.c: (gst_query_set_formats),
2542         (gst_query_set_formatsv):
2543           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2544
2545 2006-04-05  Michael Smith  <msmith@fluendo.com>
2546
2547         * tests/check/generic/sinks.c: (GST_START_TEST):
2548           Fix a variety of memleaks in sinks check, which are only sometimes 
2549           shown by running the tests under valgrind (weird?).
2550
2551 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2552
2553         * docs/version.entities.in:
2554           Fix the substituted entity name after thomas' changes on the
2555           weekend.
2556
2557 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2558
2559         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2560         VALGRIND_PRINTF
2561         
2562 2006-04-05  Andy Wingo  <wingo@pobox.com>
2563
2564         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2565
2566         * libs/gst/base/gstbasetransform.c
2567         (gst_base_transform_sink_eventfunc): When resetting our segment on
2568         FLUSH_STOP, also update the flag saying we haven't seen a
2569         newsegment.
2570
2571 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2572
2573         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2574
2575         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2576         (gst_plugin_check_license):
2577           minor clean-ups: G_DEFINE_TYPE already takes care of the
2578           parent_class stuff, no need to do it twice. Mark array of
2579           license strings as constant. (#337103)
2580           
2581 2006-04-04  Michael Smith  <msmith@fluendo.com>
2582
2583         * tools/gst-inspect.c: (print_element_list):
2584           Free the right plugin list; fixes a memory leak.
2585
2586 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2587
2588         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2589
2590         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2591           Don't error out on empty buffers (#336945).
2592           
2593 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2594
2595         * docs/libs/gstreamer-libs-sections.txt:
2596         * gst/gsttaglist.c:
2597         * libs/gst/base/gstbasesink.c:
2598         * libs/gst/base/gstbasesink.h:
2599         * libs/gst/base/gstbasesrc.c:
2600         * libs/gst/base/gstbasesrc.h:
2601           Documentation updates. Make BaseSink and BaseSrc docs contain the
2602           class structure so that people can actually see the prototypes for
2603           virtual functions they're supposed to be overriding.
2604
2605 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * plugins/elements/gsttypefindelement.c:
2608         (gst_type_find_element_chain):
2609           More debug info; when skipping typefinding, send cached
2610           events in all cases.
2611
2612 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2613
2614         * configure.ac:
2615           use new AS_VERSION and AS_NANO macros
2616         * gst/gst-i18n-lib.h:
2617         * gst/gst.c:
2618         * gst/gsterror.c:
2619         * gst/gstversion.h.in:
2620         * win32/common/config.h:
2621         * win32/common/config.h.in:
2622           update accordingly
2623
2624 2006-03-31  Michael Smith  <msmith@fluendo.com>
2625
2626         * plugins/elements/gsttypefindelement.c:
2627         (gst_type_find_element_chain):
2628           Do not typefind content if the buffers already have caps.
2629           Neccesary for icydemux (#333657), and the right thing to do anyway.
2630
2631 2006-03-30  Wim Taymans  <wim@fluendo.com>
2632
2633         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2634         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2635         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2636         (gst_base_sink_record_qos_observation),
2637         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2638         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2639         (gst_base_sink_change_state):
2640         More QoS measurements as described in the design doc.
2641         Get rid of ringbuffer with observations, running average is
2642         more simple and equally good.
2643         Calculates valid proportion now.
2644         Added beginning of flood measurement.
2645
2646 2006-03-29  Wim Taymans  <wim@fluendo.com>
2647
2648         * docs/design/part-qos.txt:
2649         * gst/gstclock.c:
2650         Small documentation updates and additions.
2651
2652 2006-03-29  Wim Taymans  <wim@fluendo.com>
2653
2654         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2655         (gst_base_src_send_event), (gst_base_src_loop),
2656         (gst_base_src_change_state):
2657         Perform the EOS logic when we reach the segment stop position.
2658         Fix compilation on gcc4.1
2659
2660 2006-03-29  Wim Taymans  <wim@fluendo.com>
2661
2662         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2663
2664         * plugins/elements/gstqueue.c: (gst_queue_init),
2665         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2666         (gst_queue_set_property):
2667         * plugins/elements/gstqueue.h:
2668         In queue, when EOS is received, if minimum threshold > max_size -
2669         current_level, there is chance that queue blocks forever in conditional
2670         item del wait. This is because the queue is not emptied completely due
2671         to minimum threshold.  Here is another approach. Instead of setting
2672         cur_levels to max in EOS, just zero all minimum threshold levels. This
2673         should make sure that queue gives out all data. When going to READY
2674         (stop) state, just reset the original minimum threshold levels.
2675         Fixes #336336.
2676
2677 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2680         (gst_type_find_element_handle_event),
2681         (gst_type_find_element_send_cached_events),
2682         (gst_type_find_element_change_state):
2683         * plugins/elements/gsttypefindelement.h:
2684           When typefinding is done in push mode, we should cache
2685           events we receive during typefinding instead of just
2686           dropping them (e.g. newsegment, custom events from
2687           dvdreadsrc etc.) and then send them out once we've
2688           determined the type of the stream (and decodebin
2689           has had a chance to plug in a decoder/demuxer).
2690           
2691 2006-03-27  Wim Taymans  <wim@fluendo.com>
2692
2693         * docs/design/part-qos.txt:
2694         First QoS ideas.
2695
2696 2006-03-27  Wim Taymans  <wim@fluendo.com>
2697
2698         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2699
2700         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2701         (gst_base_src_send_event), (gst_base_src_change_state):
2702         Handle element seek correctly when we are streaming.
2703         Fixes #326998.
2704
2705 2006-03-24  Michael Smith  <msmith@fluendo.com>
2706
2707         * docs/faq/gst-uninstalled:
2708           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2709           allow you to correctly run intalled applications built against old 
2710           core, using plugins that require updated core (e.g. running
2711           installed totem against a full uninstalled gstreamer stack)
2712
2713 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2714
2715         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2716         more debug details
2717
2718 2006-03-24  Wim Taymans  <wim@fluendo.com>
2719
2720         * docs/gst/gstreamer-sections.txt:
2721         Rearrange the order of the methods so that related methods
2722         are grouped together in sections.
2723
2724 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2725
2726         * gst/gstelement.c:
2727           Little clarification in the docs
2728
2729 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2730
2731         * docs/README:
2732         formatting fix
2733         * plugins/elements/gstidentity.c:
2734         * plugins/elements/gstqueue.c:
2735         * plugins/elements/gsttee.c:
2736         * plugins/elements/gsttypefindelement.c:
2737         GST_ELEMENT_DETAILS formatting
2738
2739 2006-03-24  Wim Taymans  <wim@fluendo.com>
2740
2741         * libs/gst/base/gstbasesink.h:
2742         Only add fields, not insert or we break ABI.
2743
2744 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * win32/common/libgstbase.def:
2747         * win32/common/libgstreamer.def:
2748           Update, add recently added functions.
2749
2750 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2751
2752         * docs/gst/gstreamer-sections.txt:
2753         * gst/gstutils.c: (gst_pad_query_peer_position),
2754         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2755         * gst/gstutils.h:
2756           API: add some new utility functions:
2757            - gst_pad_query_peer_position()
2758            - gst_pad_query_peer_duration()
2759            - gst_pad_query_peer_convert()
2760           
2761 2006-03-23  Wim Taymans  <wim@fluendo.com>
2762
2763         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2764         (gst_base_sink_init), (gst_base_sink_finalize),
2765         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2766         (gst_base_sink_set_property), (gst_base_sink_get_property),
2767         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2768         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2769         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2770         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2771         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2772         (gst_base_sink_preroll_object), (gst_base_sink_event),
2773         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2774         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2775         (gst_base_sink_query), (gst_base_sink_change_state):
2776         Decouple max-lateness and the fact that QoS messages are generated
2777         with a new property (qos).
2778         added API: GstBaseSink::async_play()
2779         Add vmethod so subclasses can be notified of ASYNC playing
2780         state changes.
2781         Collect timestamp start and stop to report better current
2782         position in EOS/PLAYING/PAUSED/READY/NULL.
2783         Refactor QoS/frame dropping and other measurements.
2784         API: GstBaseSrc::qos
2785         Fixes #326311
2786
2787         * libs/gst/base/gstbasesink.h:
2788         Added Private struct.
2789         API: gst_base_sink_set_qos_enabled()
2790         API: gst_base_sink_is_qos_enabled()
2791
2792 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2795           If compiling against GLib-2.8 or newer, try to read the
2796           registry file using GMappedFile first before falling back
2797           to fopen() + fread() (#332151).
2798
2799 2006-03-22  Wim Taymans  <wim@fluendo.com>
2800
2801         * gst/gstinfo.c: (gst_debug_set_active),
2802         (gst_debug_category_set_threshold):
2803         Disable debugging unless explicitly activated.
2804         Fixes #335480.
2805
2806 2006-03-22  Wim Taymans  <wim@fluendo.com>
2807
2808         * gst/gstelement.c: (gst_element_set_locked_state),
2809         (gst_element_dispose):
2810         Cleanup the error case.
2811
2812         * gst/gstobject.c: (gst_object_dispose):
2813         print a critical when some object was disposed with
2814         a parent, also revive the object since it might
2815         crash the parent.
2816
2817 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2818
2819         * tools/gst-launch.1.in:
2820           Fix another typo.
2821
2822 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2823
2824         * configure.ac:
2825         * tests/check/Makefile.am:
2826           disable some tests when we don't have a registry
2827         * tests/check/gst/gstutils.c: (gst_utils_suite):
2828           don't build the part that needs parsing
2829
2830 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * gst/Makefile.am
2833         * tests/examples/Makefile.am:
2834           fix --disable-parse build
2835
2836 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2837
2838         * tools/gst-feedback.1.in:
2839           Fix typo: s/feeback/feedback/ (#133494).
2840
2841 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * tools/Makefile.am:
2844         * tools/gst-launch.1.in:
2845           Add FILES section and correct entry about GST_REGISTRY_PATH
2846           environment variable (#133495; #133494).
2847
2848 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * tools/Makefile.am:
2851         * tools/gst-md5sum.1.in:
2852         * tools/gst-md5sum.c:
2853           Remove gst-md5sum and man page (the md5sink element
2854           required was removed ages ago)
2855
2856 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2857
2858         * gst/gststructure.c: (gst_structure_id_set_value):
2859           Make sure that string fields in structures/taglists
2860           contain valid UTF-8 - we don't want to pass rubbish to
2861           applications because of a buggy plugin (cp. #334167).
2862
2863 2006-03-21  Edward Hervey  <edward@fluendo.com>
2864
2865         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2866         (gst_bin_handle_message_func):
2867         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2868         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2869         (gst_element_set_bus_func):
2870         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2871         * gst/gstminiobject.c: (gst_value_set_mini_object),
2872         (gst_value_take_mini_object):
2873         * gst/gstpad.c: (gst_pad_set_pad_template):
2874         * gst/gstpipeline.c: (gst_pipeline_dispose),
2875         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2877         (gst_collect_pads_chain):
2878         * libs/gst/net/gstnettimeprovider.c:
2879         (gst_net_time_provider_set_property):
2880         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2881         It's in fact all issues with gst_*object_replace().
2882
2883 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2884
2885         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2886         
2887         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2888         * pkgconfig/gstreamer-check.pc.in:
2889           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2890
2891 2006-03-21  Edward Hervey  <edward@fluendo.com>
2892
2893         * gst/gstbuffer.h:
2894         * gst/gstevent.h:
2895         * gst/gstmessage.h:
2896         gst_[buffer|event|message]_ref() macros are replaced by a static
2897         inline functions because gcc-4.1 will about if the return value
2898         isn't used.
2899         * tests/check/gst/gstevent.c: (event_probe):
2900         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2901
2902 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2903
2904         * gst/gstutils.h:
2905         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2906         the type' case. (Closes: #335195 for now). In the future, when we
2907         depend on GLib 2.10, we could also intern the type name using
2908         g_intern_static_string()
2909
2910 2006-03-20  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/gstbin.c: (gst_bin_handle_message_func),
2913         (bin_query_max_init), (bin_query_position_fold),
2914         (bin_query_position_done), (gst_bin_query):
2915         Position query should also take max of all streams.
2916
2917 2006-03-20  Wim Taymans  <wim@fluendo.com>
2918
2919         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2920         (gst_fake_src_finalize):
2921         Fix leaks in fakesrc.
2922
2923         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2924         Fix leaks in the testcase.
2925
2926 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2927
2928         * gst/gst_private.h:
2929           add win32 specific import decoration(__declspec(dllimport)) 
2930           for all extern GstDebugCategory * variables
2931         * win32/common/libgstbase.def:
2932         * win32/common/libgstcontroller.def:
2933         * win32/common/libgstreamer.def:
2934           Add some exports, remove empty lines
2935         * win32/common/libgstdataprotocol.def:
2936         * win32/common/libgstdataprotocol.dsp:
2937         * win32/common/libgstnet.def:
2938         * win32/common/libgstnet.dsp:
2939           new project files and exportation files added
2940         
2941 2006-03-19  Wim Taymans  <wim@fluendo.com>
2942
2943         * tests/check/libs/basesrc.c: (eos_event_counter):
2944         Use proper return value for probe.
2945
2946 2006-03-17  Wim Taymans  <wim@fluendo.com>
2947
2948         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2949         (gst_pad_push):
2950         Don't leak buffers, caps and pads on negotiation errors.
2951
2952 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2953
2954         * docs/faq/cvs.xml:
2955         * docs/faq/dependencies.xml:
2956         * docs/faq/developing.xml:
2957         * docs/faq/faq.xml:
2958         * docs/faq/general.xml:
2959         * docs/faq/getting.xml:
2960         * docs/faq/legal.xml:
2961         * docs/faq/troubleshooting.xml:
2962         * docs/faq/using.xml:
2963         Faq review and update.
2964
2965 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2966
2967         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2968         (gst_pad_push):
2969         Don't pound the cpu to pieces by checking get_caps when accept_caps
2970         is called with the same caps as the pad already has.
2971         Use GST_DEBUG_OBJECT when outputting caps change information.
2972
2973 2006-03-15  Wim Taymans  <wim@fluendo.com>
2974
2975         * gst/gstclock.c: (gst_clock_class_init):
2976         Fix docs.
2977
2978 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2979
2980         * gst/gstbuffer.h:
2981         Documentation fix.
2982
2983         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2984         (gst_pad_accept_caps), (gst_pad_configure_sink),
2985         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2986         Make the default acceptcaps behaviour be to check the requested 
2987         caps against the gst_pad_get_caps output. 
2988
2989         Ensure that gst_pad_accept_caps is used to check caps when a pad
2990         doesn't have a setcaps function, so that pads automatically refuse 
2991         caps that they don't allow in their pad template. (Fixes #332986)
2992
2993         When a buffer with attached caps is pushed, ensure that the source 
2994         pad receives those caps even if the element didn't call
2995         gst_pad_set_caps first.
2996
2997 2006-03-15  Wim Taymans  <wim@fluendo.com>
2998
2999         * libs/gst/base/gstadapter.c:
3000         Add some docs.
3001
3002 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3003
3004         * win32/common/libgstbase.def:
3005         * win32/common/libgstcontroller.def:
3006         * win32/common/libgstreamer.def:
3007           Add a whole bunch of missing functions (#334434).
3008
3009 2006-03-14  Wim Taymans  <wim@fluendo.com>
3010
3011         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3012         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3013         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3014         Better debug info when we receive a segment event.
3015         Reorganize a bit so we can pass the get_times() results around.
3016         Use the segment format when calculating the running time.
3017         Don't do QoS is sync is disabled or we have no clock or the
3018         element does not want us to sync to the clock.
3019         Don't drop buffers if QoS is disabled for now.
3020
3021 2006-03-14  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3024         Marked the stats property as unimplemented so people don't get
3025         wild ideas.
3026         Add debug message when regression goes wrong.
3027         Added some more docs.
3028
3029 2006-03-14  Wim Taymans  <wim@fluendo.com>
3030
3031         * gst/gstsegment.c: (gst_segment_to_stream_time):
3032         Return correct return type in case of errors.
3033
3034 2006-03-14  Wim Taymans  <wim@fluendo.com>
3035
3036         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3037           Don't segfault on invalid formats.
3038
3039 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3040
3041         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3042           Can't use gst_segment_to_running_time() when the segment
3043           is not in GST_TIME_FORMAT (like with filesink, for example).
3044           Stops flac encoding pipelines from spewing critical warnings
3045           at EOS (#331248).
3046           
3047 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/gstpipeline.c: (gst_pipeline_class_init):
3050           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3051
3052         * plugins/elements/gsttypefindelement.c:
3053         (gst_type_find_element_handle_event):
3054           Don't try to typefind empty streams.
3055
3056 2006-03-14  Wim Taymans  <wim@fluendo.com>
3057
3058         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3059         (gst_base_sink_do_qos):
3060         Separate QoS calculation.
3061         Only drop buffers when lateness is bigger than the 
3062         duration of the buffer.
3063
3064 2006-03-13  Wim Taymans  <wim@fluendo.com>
3065
3066         * gst/gstpipeline.c: (gst_pipeline_set_property),
3067         (gst_pipeline_get_property), (do_pipeline_seek),
3068         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3069         (gst_pipeline_get_delay):
3070         Don't deadlock when reading properties.
3071
3072 2006-03-13  Wim Taymans  <wim@fluendo.com>
3073
3074         * libs/gst/base/gstbasetransform.c:
3075         (gst_base_transform_class_init), (gst_base_transform_init),
3076         (gst_base_transform_sink_event),
3077         (gst_base_transform_sink_eventfunc),
3078         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3079         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3080         (gst_base_transform_set_property),
3081         (gst_base_transform_get_property),
3082         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3083         (gst_base_transform_set_qos_enabled),
3084         (gst_base_transform_is_qos_enabled):
3085         * libs/gst/base/gstbasetransform.h:
3086         Make basetransform virtual method for src events too.
3087         Handle QOS in basetransform.
3088         API: gst_base_transform_update_qos()
3089         API: gst_base_transform_set_qos_enabled()
3090         API: gst_base_transform_is_qos_enabled()
3091
3092 2006-03-13  Wim Taymans  <wim@fluendo.com>
3093
3094         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3095         (gst_base_sink_do_sync):
3096         Small cleanups.
3097         Use QOS debug category.
3098
3099 2006-03-13  Wim Taymans  <wim@fluendo.com>
3100
3101         * plugins/elements/gstqueue.c:
3102         Very small doc update.
3103
3104 2006-03-13  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/gst_private.h:
3107         * gst/gstinfo.c: (_gst_debug_init):
3108         Added QOS debug category
3109
3110 2006-03-13  Wim Taymans  <wim@fluendo.com>
3111
3112         * docs/gst/gstreamer-sections.txt:
3113         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3114         * gst/gstbin.h:
3115         * gst/gstbus.c: (gst_bus_class_init):
3116         * gst/gstbus.h:
3117         * gst/gstclock.c:
3118         * gst/gstelement.c: (gst_element_set_locked_state):
3119         * gst/gstsegment.c:
3120         Documentation updates.
3121
3122         * gst/gstpipeline.c: (gst_pipeline_get_type),
3123         (gst_pipeline_class_init), (gst_pipeline_init),
3124         (gst_pipeline_dispose), (gst_pipeline_set_property),
3125         (gst_pipeline_get_property), (do_pipeline_seek),
3126         (gst_pipeline_send_event), (gst_pipeline_change_state),
3127         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3128         (gst_pipeline_get_delay):
3129         * gst/gstpipeline.h:
3130         Added methods for setting the delay.
3131         API: gst_pipeline_set_delay()
3132         API: gst_pipeline_get_delay()
3133         Add pipeline debug category
3134         Various cleanups.
3135         Updated docs.
3136         Don't reset stream time when seek failed.
3137
3138 2006-03-13  Wim Taymans  <wim@fluendo.com>
3139
3140         * docs/design/draft-klass.txt:
3141         * docs/design/part-clocks.txt:
3142         * docs/design/part-events.txt:
3143         * docs/design/part-gstbin.txt:
3144         * docs/design/part-gstpipeline.txt:
3145         * docs/design/part-messages.txt:
3146         * docs/design/part-negotiation.txt:
3147         * docs/design/part-overview.txt:
3148         * docs/design/part-preroll.txt:
3149         * docs/design/part-seeking.txt:
3150         * docs/design/part-states.txt:
3151         * docs/design/part-streams.txt:
3152         Documentation updates.
3153
3154 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3155
3156         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3157         us to leak strings...
3158
3159 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * libs/gst/net/gstnettimeprovider.c:
3162           fix docs
3163         * win32/common/config.h:
3164           update
3165
3166 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3167
3168         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3169
3170         * configure.ac:
3171           Don't check for libgnomeui (leftover from old examples
3172           that aren't built or disted any longer) (#334303).
3173           
3174 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3175
3176         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3177         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3178           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3179           there's no space left on the device.
3180
3181 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * gst/gstclock.h:
3184           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3185           to cast the input to GstClockTime before comparing with
3186           another GstClockTime value.
3187
3188 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3189
3190         * configure.ac:
3191           back to trunk
3192
3193 === release 0.10.4 ===
3194
3195 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3196
3197         * configure.ac:
3198           releasing 0.10.4, "Light"
3199
3200 2006-03-10  Michael Smith  <msmith@fluendo.com>
3201
3202         * libs/gst/dataprotocol/dataprotocol.c:
3203           Fix docs for dataprocotol to not get the return types completely
3204           wrong for a few functions.
3205
3206 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3207
3208         * docs/gst/gstreamer-sections.txt:
3209         * gst/gstpipeline.c: (gst_pipeline_class_init),
3210         (gst_pipeline_init), (gst_pipeline_set_property),
3211         (gst_pipeline_get_property), (gst_pipeline_change_state),
3212         (gst_pipeline_set_auto_flush_bus),
3213         (gst_pipeline_get_auto_flush_bus):
3214         * gst/gstpipeline.h:
3215           Add new API: gst_pipeline_set_auto_flush_bus() and
3216           gst_pipeline_get_auto_flush_bus() to disable automatic
3217           flushing of the pipeline's GstBus when going from READY
3218           to NULL state (#332045).
3219
3220 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3221
3222         * docs/gst/gstreamer-sections.txt:
3223         * gst/gsturi.c: (gst_uri_has_protocol):
3224         * gst/gsturi.h:
3225            Add new API: gst_uri_has_protocol() (#333779).
3226
3227 2006-03-09  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/gstclock.c: (gst_clock_entry_new),
3230         (gst_clock_id_compare_func), (gst_clock_id_wait),
3231         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3232         (gst_clock_init), (gst_clock_get_internal_time),
3233         (gst_clock_set_master), (do_linear_regression),
3234         (gst_clock_add_observation), (gst_clock_set_property):
3235         * gst/gstclock.h:
3236         Review docs.
3237         Small cleanups.
3238         Fix a possible segfault when the window-size is made smaller.
3239         Calculate jitter before performing the clock wait. Ideally
3240         the clock implementation should calculate jitter but we need
3241         API breakage for that.
3242
3243         * gst/gstsystemclock.c: (gst_system_clock_init):
3244         Docs review.
3245         
3246         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3247         Remove leftover else
3248
3249         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3250         (gst_systemclock_suite):
3251         Added check to test GST_CLOCK_DIFF.
3252
3253 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3256         (gst_type_find_helper_get_range):
3257           If we are provided with the size, we should implement
3258           GstTypeFind::get_length, so that typefind functions who
3259           want to can actually peek at the middle of a file.
3260
3261 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3262
3263         * docs/manual/advanced-dataaccess.xml:
3264           Add some very very basic error checking.
3265
3266         * docs/pwg/appendix-checklist.xml:
3267           Some updates to the list of things to check when writing an element.
3268
3269 2006-03-08  Wim Taymans  <wim@fluendo.com>
3270
3271         * docs/design/part-element-transform.txt:
3272         Added some docs about the design of tranform elements.
3273
3274         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3275         (gst_base_src_loop), (gst_base_src_change_state):
3276         Mark buffers with the DISCONT flag.
3277
3278 2006-03-08  Michael Smith  <msmith@fluendo.com>
3279
3280         * gst/gstregistry.h:
3281         * gst/gstregistryxml.c: (gst_registry_save),
3282         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3283         (gst_registry_xml_save_pad_template),
3284         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3285         (gst_registry_xml_write_cache):
3286           Rewrite registry-saving to avoid race conditions and check for
3287           failed writes.
3288
3289 2006-03-08  Wim Taymans  <wim@fluendo.com>
3290
3291         * libs/gst/base/gstbasetransform.c:
3292         (gst_base_transform_transform_caps),
3293         (gst_base_transform_transform_size),
3294         (gst_base_transform_prepare_output_buffer),
3295         (gst_base_transform_get_unit_size),
3296         (gst_base_transform_buffer_alloc),
3297         (gst_base_transform_handle_buffer),
3298         (gst_base_transform_change_state):
3299         Cleanups, separate normal flow from errors, add sensible
3300         DEBUG lines.
3301         Don't try to renegotiate when allocating an output buffer.
3302         Also copy DISCONT buffer flag when copying a buffer.
3303         Reset the transform after we finish streaming, not during.
3304
3305 2006-03-08  Wim Taymans  <wim@fluendo.com>
3306
3307         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3308         Use last buffer timestamp in qos message.
3309
3310 2006-03-07  Wim Taymans  <wim@fluendo.com>
3311
3312         Patch by: Christophe Fergeau
3313
3314         * docs/pwg/advanced-tagging.xml:
3315         * docs/pwg/building-pads.xml:
3316           fixes #333416
3317
3318 2006-03-07  Wim Taymans  <wim@fluendo.com>
3319
3320         * docs/libs/gstreamer-libs-sections.txt:
3321         Added basesink new methods.
3322
3323         * gst/gstevent.c:
3324         * gst/gstevent.h:
3325         Docs updates. Flesh out the QoS docs.
3326
3327         * libs/gst/base/gstadapter.c:
3328         Small doc clarification about ownership and flushing.
3329
3330         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3331         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3332         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3333         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3334         * libs/gst/base/gstbasesink.h:
3335         API additions: 
3336         Added new methods to allow subclass to control max-lateness 
3337         and sync.
3338         Generate very basic QoS events based on last sync observation.
3339         Updated docs, fix typo, added some QoS blurb.
3340
3341         * libs/gst/base/gstbasesrc.c:
3342         Remove obsolete _get_state() calls from docs.
3343
3344 2006-03-07  Wim Taymans  <wim@fluendo.com>
3345
3346         * docs/libs/gstreamer-libs-sections.txt:
3347         * libs/gst/base/gstbasetransform.h:
3348         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3349         Fix docs for GstBaseSrc.
3350
3351 2006-03-07  Wim Taymans  <wim@fluendo.com>
3352
3353         * docs/gst/gstreamer-sections.txt:
3354         * gst/gstbuffer.h:
3355         * gst/gstvalue.c:
3356         * libs/gst/base/gstbasetransform.h:
3357         Small documentation fixes.
3358
3359 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * gst/gstvalue.c:
3362           Document thread-unsafety of gst_value_register_foo_func()
3363           when used at the same time as gst_value_foo() (#322628).
3364
3365 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3366
3367         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3368         (gst_push_src_check_get_range):
3369           Push sources don't support pull mode by default.
3370
3371 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3372
3373         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3374         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3375         (gst_base_src_default_check_get_range):
3376         * libs/gst/base/gstbasesrc.h:
3377           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3378           provide default implementation, and rename
3379           gst_base_src_check_get_range() to
3380           gst_base_src_pad_check_get_range() for clarity.
3381
3382 2006-03-06  Wim Taymans  <wim@fluendo.com>
3383
3384         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3385         Make property overridable.
3386
3387 2006-03-06  Wim Taymans  <wim@fluendo.com>
3388
3389         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3390         (gst_base_sink_init), (gst_base_sink_set_property),
3391         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3392         * libs/gst/base/gstbasesink.h:
3393         API addition: Make max-lateness a property.
3394
3395 2006-03-06  Wim Taymans  <wim@fluendo.com>
3396
3397         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3398         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3399         Don't ever draw a frame that is >10ms late.
3400
3401 2006-03-06  Michael Smith  <msmith@fluendo.com>
3402
3403         * gst/gstmessage.c: (_gst_message_copy):
3404           When copying a message, set the parent_refcount of the enclosed
3405           structure to point at the copy, not the original message.
3406
3407 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3408
3409         Patch by: Christophe Fergeau
3410
3411         * gst/gstutils.h:
3412           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3413           usable in c++ code (#333417)
3414
3415 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3416
3417         * gst/gstclock.h:
3418           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3419
3420 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3421
3422         * libs/gst/base/gstbasetransform.c:
3423         (gst_base_transform_transform_caps):
3424           Make sure caps are writable before passing them to
3425           gst_caps_append().
3426
3427 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3428
3429         * gst/gsterror.h:
3430           Fix some minor docs errors.
3431
3432 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434           Patch by: Ross Burton <ross at burtonini dot com>
3435
3436         * gst/gsterror.c: (_gst_resource_errors_init):
3437         * gst/gsterror.h:
3438           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3439
3440 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3441
3442         * gst/gst.c:
3443         Add a check and output a g_warning when GStreamer is built
3444         against GLib 2.6 but running against 2.8 or higher, and vice 
3445         versa. (Closes: #323542)
3446
3447 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3448
3449         * gst/parse/parse.l:
3450           Commit patch for parse_launch syntax from #331255. Removes 
3451           support for quoted strings and mimetypes when writing filtered 
3452           caps. See the bug report for more details - I'm pretty sure this
3453           obscure feature is not in use by _anyone_ anywhere.
3454
3455           With this simple change, the size of the gstreamer.so here 
3456           drops from 2193KB to 1565KB.
3457
3458 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         * plugins/elements/gsttypefindelement.h:
3461         * plugins/elements/gsttypefindelement.c:
3462         (gst_type_find_element_src_event), (start_typefinding),
3463         (stop_typefinding), (gst_type_find_element_handle_event),
3464         (gst_type_find_element_chain),
3465         (gst_type_find_element_chain_do_typefinding):
3466           Use gst_type_find_helper_for_buffer() for chain-based
3467           typefinding.
3468
3469 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3470
3471         * plugins/elements/gsttypefindelement.c:
3472         (gst_type_find_element_class_init),
3473         (gst_type_find_element_set_property),
3474         (gst_type_find_element_get_property):
3475           Deprecate "maximum" property (not only was it only taken into
3476           account for typefinding in push-mode anyway, it also was never
3477           actually possible to set it in the first place because the
3478           property was registered with the numeric property ID for the
3479           "minimum" property). Register "maximum" property correctly,
3480           for the sake of future copy'n'pasters. Remove some cruft
3481           from property get/set functions.
3482
3483 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * plugins/elements/gsttypefindelement.c:
3486         (gst_type_find_element_activate):
3487           Use gst_type_find_helper_get_range() here, so we
3488           can honour the "minimum" property and also emit
3489           the signal with the correct probability of the found caps.
3490
3491 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3492
3493         * docs/libs/gstreamer-libs-sections.txt:
3494         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3495         (helper_find_suggest), (gst_type_find_helper_get_range),
3496         (gst_type_find_helper):
3497         * libs/gst/base/gsttypefindhelper.h:
3498           New API: gst_type_find_helper_get_range() (#333042).
3499
3500 2006-03-02  Michael Smith  <msmith@fluendo.com>
3501
3502         * gst/gstregistryxml.c: (load_feature):
3503           Asserting on a failure to read part of the registry is Not Cool.
3504           Just log a warning and return NULL (which is already handled)
3505
3506 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3507
3508         * win32/common/libgstbase.def:
3509           added export of gst_type_find_helper_for_buffer
3510         * win32/common/libgstbase.def:
3511           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3512           gst_ghost_pad_get_target
3513
3514 2006-02-28  Wim Taymans  <wim@fluendo.com>
3515
3516         * docs/design/draft-klass.txt:
3517         We use Filter now.
3518         Added Connector to mark elements that are only used to
3519         allow pipeline connections.
3520         Moved Debug to extra feature since most of them are 
3521         functionally something else.
3522
3523 2006-02-28  Wim Taymans  <wim@fluendo.com>
3524
3525         * docs/design/draft-klass.txt:
3526         Some updates and clarifications.
3527
3528 2006-02-28  Wim Taymans  <wim@fluendo.com>
3529
3530         * docs/design/draft-klass.txt:
3531         Proposal for klass field values.
3532
3533         * docs/design/part-streams.txt:
3534         Start of a doc describing stream anatomy.
3535
3536 2006-02-28  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3539         Help the compiler a bit with type registration.
3540         Use existing forward cod path instead of duplicating it when 
3541         handling a message.
3542         
3543         * gst/gstbus.c: (gst_bus_get_type):
3544         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3545         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3546         * gst/gstclock.c: (gst_clock_get_type):
3547         * gst/gstelement.c: (gst_element_get_type),
3548         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3549         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3550         * gst/gstminiobject.c: (gst_mini_object_get_type):
3551         * gst/gstpad.c: (gst_pad_get_type):
3552         * gst/gstsegment.c: (gst_segment_get_type):
3553         * gst/gststructure.c: (gst_structure_get_type):
3554         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3555         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3556         * gst/gstvalue.c:
3557         Help compiler with type registration.
3558
3559         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3560         Small doc update.
3561
3562 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * plugins/elements/gsttypefindelement.c:
3565         (gst_type_find_element_handle_event):
3566           When we get an EOS event and have not found a type yet
3567           (most likely because we had not yet accumulated
3568           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3569           type given the data we have so far. Fixes typefinding
3570           for very short streams again, most notably quicktime
3571           redirections as used on Apple's trailer site (#331701).
3572
3573 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3574
3575         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3576         (gst_type_find_helper):
3577           Try typefinding factories with the highest rank first.
3578
3579 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3580
3581         * docs/libs/gstreamer-libs-docs.sgml:
3582         * docs/libs/gstreamer-libs-sections.txt:
3583         * libs/gst/base/gsttypefindhelper.c:
3584           Add section for typefind helper and add documentation
3585           for the old and the new function.
3586
3587 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3588
3589         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3590         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3591         (gst_type_find_helper_for_buffer):
3592         * libs/gst/base/gsttypefindhelper.h:
3593           New API: gst_type_find_helper_for_buffer() (#332723).
3594           
3595 2006-02-27  Michael Smith  <msmith@fluendo.com>
3596
3597         Patch by: Loïc Minier
3598
3599         * configure.ac:
3600         * docs/Makefile.am:
3601         * docs/slides/Makefile.am:
3602           prevent CVS directories getting disted.
3603
3604 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3605
3606         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3607           Use the REFCOUNTING category for caps refcounting.
3608           
3609 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3610
3611         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3612           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3613
3614 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3615
3616         * plugins/elements/gsttypefindelement.c:
3617         (gst_type_find_element_activate):
3618           Use gst_pad_check_pull_range() before _activate_pull()
3619           to avoid unnecessary open/close (see #331690).
3620
3621 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3622
3623         * gst/gstutils.c:
3624           Docs enhancement: make it crystal clear what the
3625           gst_pad_add_*_probe() callbacks should look like.
3626
3627 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3628
3629         * libs/gst/base/gstbasesrc.c:
3630           Document how applications can stop recording from
3631           live sources (see #330996).
3632
3633 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * tests/check/Makefile.am:
3636         * tests/check/libs/basesrc.c: (eos_event_counter),
3637         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3638         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3639         (gst_basesrc_suite), (main):
3640           ... and add some tests for the base source EOS stuff.
3641
3642 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3645           Test case originally showed the problem fixed below,
3646           but was then amended. Add checks back at the place
3647           where they used to be.
3648
3649 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3650
3651         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3652         (gst_base_src_init), (gst_base_src_loop),
3653         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3654         (gst_base_src_change_state):
3655         * libs/gst/base/gstbasesrc.h:
3656           Don't unconditionally send EOS when going from PAUSED to
3657           READY state, esp. make sure we don't send two EOS events
3658           in some cases (e.g. one when reaching EOS and one when
3659           going from PAUSED to READY). Also, we don't want to send
3660           EOS events when operating in pull mode. However, we do
3661           want to send an EOS event when shutting down a live
3662           source explicitly, for example (fixes #330996).
3663           
3664 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3665
3666         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3667           Update src->read_position after a seek when not using mmap.
3668           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3669
3670 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3671
3672         * gst/Makefile.am:
3673         * gst/gstparse.h:
3674         * gst/gstutils.c:
3675         * gst/gstutils.h:
3676         Make things work with --disable-parse as they do with 
3677         --disable-load-save - the symbols involved disappear, but the
3678         header is still installed and GST_DISABLE_PARSE is included via
3679         gstconfig.h
3680
3681 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3682
3683         * libs/gst/base/gstbasetransform.c:
3684         (gst_base_transform_change_state): Fix a stupid bug. I was 
3685         sure I compiled that.
3686
3687 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3688
3689         * gst/gstpad.c: (gst_pad_set_blocked_async):
3690         * gst/gstutils.c: (gst_pad_add_data_probe),
3691         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3692         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3693         (gst_pad_remove_buffer_probe): Make those function act on the
3694         ghostpad target when it's a ghostpad. (Closes #331727)
3695
3696 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3697
3698         * libs/gst/base/gstbasetransform.c:
3699         (gst_base_transform_change_state): Make basetransform reusable.
3700         (Closes #331898)
3701
3702 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3703
3704         * docs/random/release:
3705         Move the current documentation of how to do a release to the top
3706         of the file.
3707
3708         * gst/gstbin.c: (gst_bin_class_init),
3709         (gst_bin_handle_message_func):
3710         Allow multiple state-recalculation threads. (Closes #328873)
3711
3712 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3713
3714         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3715         * gst/gstpad.c: (gst_pad_set_event_function),
3716         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3717         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3718         2 strings. You can't use the STR_NULL macro on that.
3719
3720 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3721
3722         * gst/gstpad.c: (gst_pad_set_event_function),
3723         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3724         (gst_pad_set_getcaps_function)
3725         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3726           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3727           So now, we can use --gst-debug-level=5 on Windows
3728         * win32/common/libgstcontroller.def:
3729           Added export of gst_controller_init
3730         * win32/vs6/libgstcontroller.dsp:
3731           Fixed Release post build configuration
3732
3733 2006-02-17  Wim Taymans  <wim@fluendo.com>
3734
3735         * tests/check/gst/gstquery.c: (GST_START_TEST):
3736         Added another check.
3737
3738 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3739
3740         * plugins/elements/gsttypefindelement.c: (find_peek):
3741           We can do peeks at non-zero offsets, as long as they
3742           fall within the buffer we have.
3743
3744 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3745
3746         * tests/check/Makefile.am:
3747         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3748         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3749         (parse_suite), (main):
3750           Add testsuite for parse launch syntax
3751
3752 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * plugins/elements/gsttypefindelement.c:
3755         (gst_type_find_element_chain):
3756           When typefinding is unsuccessful in the chain function, don't
3757           error out immediately. Only error out with NO_CAPS_FOUND if
3758           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3759           otherwise simply wait for more data so we can try typefinding
3760           again with more data later. Also, don't attempt to typefind
3761           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3762           this should improve typefinding from network sources where the
3763           size of the first buffer can be somewhat random.
3764
3765 2006-02-14  Wim Taymans  <wim@fluendo.com>
3766
3767         * docs/gst/gstreamer-sections.txt:
3768         * gst/gstpadtemplate.c:
3769         * gst/gstpadtemplate.h:
3770         Fix padtemplate docs, fixes #328805.
3771
3772 2006-02-14  Wim Taymans  <wim@fluendo.com>
3773
3774         * tools/gst-launch.c: (main):
3775         NO_PREROLL is not an ERROR so don't send confusing messages
3776         to the user.
3777
3778 2006-02-14  Wim Taymans  <wim@fluendo.com>
3779
3780         Patch by: Torsten Schoenfeld
3781
3782         * gst/gstregistry.c: (gst_registry_get_default),
3783         (_gst_registry_cleanup):
3784         Protect default registry with lock and ref/sink it.
3785         Fixes #324818
3786
3787 2006-02-14  Wim Taymans  <wim@fluendo.com>
3788
3789         * gst/gstbuffer.c:
3790         * gst/gstquery.c: (gst_query_list_add_format),
3791         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3792         (gst_query_parse_formats_nth):
3793         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3794         Docs fixes.
3795
3796 2006-02-14  Wim Taymans  <wim@fluendo.com>
3797
3798         * docs/gst/gstreamer-sections.txt:
3799         Reworked query docs.
3800
3801         * gst/gstquery.c: (gst_query_new_formats),
3802         (gst_query_list_add_format), (gst_query_set_formats),
3803         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3804         (gst_query_parse_formats_nth):
3805         * gst/gstquery.h:
3806         Flesh out formats query, added some new methods.
3807         Fix part of #324398.
3808
3809         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3810         Added query creation tests.
3811
3812 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3813
3814         * gst/gstpad.c: (fixate_value):
3815         Add a default fixation for fraction lists.
3816
3817 2006-02-13  Wim Taymans  <wim@fluendo.com>
3818
3819         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3820         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3821         (gst_task_join):
3822         * gst/gsttask.h:
3823         Detect and warn for obvious deadlocks. fixes #320340
3824         Fix error case where lock was not released.
3825
3826         * tests/check/Makefile.am:
3827         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3828         (task_func), (gst_element_suite), (main):
3829         Add task check.
3830
3831 2006-02-13  Wim Taymans  <wim@fluendo.com>
3832
3833         * docs/gst/gstreamer-sections.txt:
3834         * gst/gstbus.c:
3835         Add new functions to docs.
3836
3837 2006-02-13  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/design/part-TODO.txt:
3840         Updated TODO list, basesrc supports seeking to non-bytes
3841         formats.
3842
3843         * docs/design/part-element-sink.txt:
3844         Update docs.
3845
3846         * gst/gstbin.c: (bin_replace_message),
3847         (gst_bin_handle_message_func):
3848         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3849         * gst/gstevent.c: (gst_event_finalize):
3850         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3851         (gst_pad_send_event):
3852         Use shiny new _TYPE_NAME macros.
3853
3854         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3855         Move debug statement up.
3856
3857         * gst/gstelement.c: (gst_element_set_locked_state):
3858         Add some debugging.
3859
3860 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * docs/gst/gstreamer-sections.txt:
3863         * gst/gstmessage.h:
3864         * gst/gstquery.h:
3865           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3866           macros (#330906). Also, document the already existing
3867           GST_QUERY_TYPE macro.
3868
3869 2006-02-13  Wim Taymans  <wim@fluendo.com>
3870
3871         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3872         (event_probe), (GST_START_TEST):
3873         Only events up to the pipeline EOS are counted, there are
3874         some more when going to NULL currently which we don't care
3875         about for now.
3876
3877 2006-02-13  Wim Taymans  <wim@fluendo.com>
3878
3879         * gst/gstpad.c: (gst_pad_send_event):
3880         Correctly check flushing and emit probes. fixes #330125
3881
3882 2006-02-10  Andy Wingo  <wingo@pobox.com>
3883
3884         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3885         structure.
3886         (gst_bus_init): Cache the location of the private data in the
3887         instance structure.
3888         (gst_bus_enable_sync_message_emission) 
3889         (gst_bus_disable_sync_message_emission): Implement new public
3890         functions.
3891         (gst_bus_post): Emit the sync-message signal if the user asked for
3892         it. Fixes #330684.
3893
3894         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3895         location of the bus-private structure.
3896         (gst_bus_enable_sync_message_emission)
3897         (gst_bus_disable_sync_message_emission): API addition
3898
3899 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3900
3901         Patch by: Vincent Torri
3902
3903         * docs/pwg/building-boiler.xml:
3904         PWG patch from #326800
3905
3906 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3907
3908         * configure.ac:
3909         * docs/Makefile.am:
3910         * docs/design/Makefile.am:
3911           Dist design docs.
3912
3913 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3914
3915         * configure.ac:
3916           back to CVS
3917
3918 === release 0.10.3 ===
3919
3920 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3921
3922         * configure.ac:
3923           releasing 0.10.3, "Like a virgin"
3924
3925 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3926
3927         * configure.ac:
3928           2nd prerelease of 0.10.3
3929           Bump libtool versioning.
3930
3931 2006-02-07  Andy Wingo  <wingo@pobox.com>
3932
3933         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3934         update last_stop if we're in TIME format and the timestamp is
3935         valid.
3936
3937         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3938         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3939         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3940         If we get a new newsegment with a different format, adapt
3941         accordingly.
3942
3943         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3944         of 0. Not a problem, really.
3945
3946         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3947         warn if sync=true.
3948
3949 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3950
3951         * configure.ac:
3952           Prelease of 0.10.3
3953
3954 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3955
3956         * win32/vs7:
3957           project files updated to the default vs7 configuration
3958         * win32/common/libgstbase.def:
3959         * win32/common/libgstreamer.def:
3960           added new symbols,
3961           removed empty lines,
3962           sorted all exported symbols alphabetically
3963         * win32/common/dirent.c:
3964         * win32/common/dirent.h:
3965         * win32/common/gchar.h:
3966           use windows line end.
3967           
3968 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3971           Send EOS event when stopping.
3972
3973 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3974
3975         * docs/README:
3976           Tell folks what to do if the plugin-foobar.xml file
3977           hasn't been generated for a newly-added plugin.
3978
3979 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3980
3981         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3982         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3983         (gst_collect_pads_start), (gst_collect_pads_stop),
3984         (gst_collect_pads_event): Collectpads now holds a reference
3985         to the GstPad that was added. Indeed we don't want to look
3986         at pads that might just go away with no warning...
3987
3988 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3989
3990         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3991         (gst_collect_pads_start), (gst_collect_pads_stop),
3992         (gst_collect_pads_event), (gst_collect_pads_chain):
3993         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3994         Mark Nauwelaerts's patch on bug #328491.
3995
3996 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3997
3998         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3999         (gst_utils_suite):
4000           Add some simple tests for gst_parse_bin_from_description() and
4001           gst_bin_find_unconnected_pad() (#329069).
4002
4003 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * tools/gst-launch.c: (event_loop), (main):
4006           Catch errors during preroll (#320084).
4007
4008 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4009
4010         * plugins/elements/gsttypefindelement.c:
4011         (gst_type_find_element_activate):
4012           Post TYPE_NOT_FOUND error message when typefinding
4013           is unsuccessful in the activate function as well.
4014
4015 2006-02-02  Wim Taymans  <wim@fluendo.com>
4016
4017         * docs/design/part-element-sink.txt:
4018         Updated doc.
4019
4020 2006-02-02  Wim Taymans  <wim@fluendo.com>
4021
4022         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4023         (gst_base_sink_render_object),
4024         (gst_base_sink_queue_object_unlocked):
4025         Only keep track of prerollable items when we are 
4026         prerolling.
4027         Before rendering after preroll, always check if we
4028         have queued items.
4029         Added some more debugging.
4030
4031 2006-02-02  Wim Taymans  <wim@fluendo.com>
4032
4033         * gst/gstelement.c: (gst_element_continue_state),
4034         (gst_element_set_state_func), (gst_element_change_state):
4035         Fixed #326576, been running this for quite some time with
4036         no regressions at all.
4037
4038 2006-02-02  Wim Taymans  <wim@fluendo.com>
4039
4040         * common/gst.supp:
4041         Added more suppressions
4042
4043 2006-02-02  Wim Taymans  <wim@fluendo.com>
4044
4045         * docs/design/part-element-sink.txt:
4046         Updated document.
4047
4048         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4049         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4050         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4051         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4052         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4053         (gst_base_sink_preroll_object),
4054         (gst_base_sink_queue_object_unlocked),
4055         (gst_base_sink_queue_object), (gst_base_sink_event),
4056         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4057         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4058         (gst_base_sink_get_position), (gst_base_sink_change_state):
4059         * libs/gst/base/gstbasesink.h:
4060         Totally refactored matching the design doc.
4061         Use two segments, one to clip incomming buffers and another to
4062         perform sync.
4063         Handle queueing correctly, bypass the queue when playing.
4064         Make EOS cancelable.
4065         Handle errors correctly when operating in pull based mode.
4066
4067         * tests/check/elements/fakesink.c: (GST_START_TEST),
4068         (fakesink_suite):
4069         Added new check for sinks.
4070
4071 2006-02-02  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/gstsegment.c: (gst_segment_clip):
4074         No reason to refuse to clip when start == -1
4075
4076 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4077
4078         * docs/README:
4079         * docs/manual/intro-basics.xml:
4080         * docs/manual/intro-preface.xml:
4081         * docs/manual/manual.xml:
4082         * docs/pwg/advanced-dparams.xml:
4083         * docs/pwg/intro-basics.xml:
4084         * docs/pwg/intro-preface.xml:
4085         * docs/pwg/pwg.xml:
4086           describe dparams (controller) for plugins
4087           unify docs a little more
4088
4089 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4090
4091         * docs/gst/gstreamer-sections.txt:
4092         * gst/gstutils.c: (element_find_unconnected_pad),
4093         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4094         * gst/gstutils.h:
4095           Add new API: gst_parse_bin_from_description() and
4096           gst_bin_find_unconnected_pad() (#329069).
4097
4098 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4099
4100         * docs/manual/README:
4101           uncover a nasty detail of the docs build
4102
4103 2006-01-31  Wim Taymans  <wim@fluendo.com>
4104
4105         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4106         Don't cache duration messages if we're not going to use or
4107         free them.
4108
4109 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4110
4111         * docs/manual/advanced-dparams.xml:
4112         * docs/pwg/advanced-dparams.xml:
4113           more dparam docs
4114         * gst/gstindex.c:
4115           fix docs
4116         * libs/gst/controller/lib.c: (gst_controller_init):
4117           init just once
4118
4119 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4120
4121         * gst/gstelement.c: (gst_element_message_full):
4122           also show file/line/func if no additional debug was given
4123
4124 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4125         
4126         * win32/vs7/grammar.vcproj:
4127           activate copy of autogenerated files for Release mode
4128
4129 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4130         
4131         * win32/common/libgstreamer.def:
4132           export gst_value_compare
4133
4134 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4135
4136         * plugins/elements/Makefile.am:
4137         * plugins/elements/gstelements.c:
4138         * plugins/elements/gstfdsink.c: (_do_init),
4139         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4140         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4141         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4142         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4143         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4144         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4145         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4146         * plugins/elements/gstfdsink.h:
4147         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4148
4149 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4150
4151         * docs/manual/advanced-dparams.xml:
4152           describe controller
4153         * docs/manual/advanced-position.xml:
4154         * docs/manual/basics-init.xml:
4155         * docs/manual/manual.xml:
4156         * docs/manual/titlepage.xml:
4157         * docs/pwg/pwg.xml:
4158         * docs/pwg/titlepage.xml:
4159           cleanup xml (more to come)
4160         * libs/gst/controller/gstcontroller.c:
4161           fix typo
4162
4163 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4164         
4165         * win32/vs6/grammar.dsp:
4166           add autogen of gstmarshal.c,h for Release mode
4167                 
4168 2006-01-30  Wim Taymans  <wim@fluendo.com>
4169
4170         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4171         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4172         (gst_base_sink_handle_object), (gst_base_sink_event),
4173         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4174         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4175         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4176         (gst_base_sink_deactivate), (gst_base_sink_activate),
4177         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4178         (gst_base_sink_query), (gst_base_sink_change_state):
4179         Basesink cleanups, remove some old code.
4180         Handle the case where a subclass can preroll in the render
4181         method (mostly audiosinks).
4182         Handle more events.
4183         Remove some locks around variables that are now protected
4184         with the PREROLL_LOCK (clock_id, flushing, ..).
4185         Optimize position query some more, do correct locking.
4186         Remove old code to push queue in state change, this is not
4187         needed anymore since preroll blocks on all prerollable items 
4188         now.
4189         Almost implemented as described in design doc.
4190
4191 2006-01-30  Wim Taymans  <wim@fluendo.com>
4192
4193         * tests/check/gst/gstbin.c: (GST_START_TEST):
4194         Wait for refcount to settle down before checking.
4195
4196 2006-01-30  Wim Taymans  <wim@fluendo.com>
4197
4198         * docs/design/part-element-sink.txt:
4199         Pseudo code overview of desired sink behaviour regarding
4200         preroll.
4201
4202 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4203         * win32/vs6/grammar.dsp:
4204           fix some bugs in Release mode for autogenerated files
4205                 
4206 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4207         * win32/common/libgstbase.def:
4208         * win32/common/libgstreamer.def:
4209           export some new symbols: gst_base_src_set_format,
4210           gst_iterator_next, gst_structure_set_valist
4211
4212 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4213
4214         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4215         Set pad functions unconditionally. Fixes #329105.
4216
4217 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4218         * win32/vs8:
4219           add vs8 project files created by Sergey Scobich
4220
4221 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4222
4223         * gst/gstutils.c: (gst_element_unlink_pads):
4224         Don't leak pad references.
4225
4226         * tests/check/elements/fakesink.c: (GST_START_TEST):
4227         * tests/check/generic/sinks.c: (GST_START_TEST):
4228         * tests/check/generic/states.c: (GST_START_TEST):
4229         * tests/check/gst/gstbin.c: (GST_START_TEST):
4230         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4231         * tests/check/gst/gstelement.c: (GST_START_TEST):
4232         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4233         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4234         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4235         Fix a bunch of leaks. Make generic/sinks.c
4236         use a bit less cpu by slowing the buffer rate
4237         between fakesrc and fakesink.
4238         
4239 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4240         * gst/gstcaps.c:
4241         * gst/gstelement.c: (gst_element_send_event):
4242         * gst/gstevent.c:
4243         * gst/gstinfo.c:
4244         * gst/gstiterator.c:
4245         * gst/gstiterator.h:
4246         * gst/gstpad.c: (gst_pad_send_event):
4247         * gst/gststructure.c:
4248         * gst/gsturi.c:
4249         * gst/gstutils.c:
4250         * gst/gstvalue.c:
4251         * libs/gst/base/gstadapter.c:
4252           doc fixes, to link to function, just write gst_cool_function(), don't
4253           prefix with '#'
4254
4255 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4256
4257         * plugins/elements/gsttee.c: (gst_tee_do_push),
4258         (gst_tee_handle_buffer):
4259         Always prefer an actual return value from a src
4260         pad in place of NOT_LINKED. This means we return
4261         WRONG_STATE when all src pads are WRONG_STATE
4262         instead of NOT_LINKED.
4263
4264         Lock when replacing the last message to prevent
4265         racing with the get_property method.
4266
4267         Add debug output
4268
4269 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4270
4271         * tests/check/Makefile.am:
4272         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4273         (main):
4274         Add a very simple check that should have caught the memleak I fixed
4275         last night (if not for the slice allocator hiding it)
4276
4277 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4278
4279         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4280         (gst_bin_remove_func), (gst_bin_handle_message_func),
4281         (bin_query_duration_fold), (bin_query_generic_fold):
4282         Clean up references to the clock provider when disposed or when
4283         handling a clock-lost message from it.
4284
4285         Unref sinks when performing a query via gst_iterator_fold, as the
4286         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4287
4288         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4289         (gst_clock_set_master):
4290         Drop our reference to the master clock, if any, when we are disposed.
4291
4292         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4293         Chain up in dispose. 
4294
4295 2006-01-26  Wim Taymans  <wim@fluendo.com>
4296
4297         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4298         Add some debugging.
4299
4300 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4301
4302         * plugins/elements/gsttee.c: (gst_tee_do_push),
4303         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4304         handles pad being NOT_LINKED or in WRONG_STATE.
4305
4306 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4307
4308         * win32/MANIFEST:
4309           more updating
4310
4311 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4312
4313         * win32/MANIFEST:
4314           remove obsolete entry
4315
4316 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4317
4318         * docs/gst/gstreamer-sections.txt:
4319         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4320         (gst_bin_iterate_sources), (gst_bin_send_event):
4321         * gst/gstbin.h:
4322         * gst/gstelement.c: (gst_element_send_event):
4323         * gst/gstevent.c:
4324         * gst/gstpad.c: (gst_pad_send_event):
4325           added code for downstream events, reviewed docs in gstevent.c
4326
4327 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4328
4329         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4330         We only query position using the clock in the playing state.
4331         Query peer in the other cases.
4332         * win32/common/config.h: Updates.
4333
4334 2006-01-24  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4337         A clock entry that is scheduled for the exact time of the
4338         clock is still in time.
4339
4340         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4341         (gst_base_sink_do_sync):
4342         Add some more debug info.
4343
4344 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4345
4346         * win32/vs7:
4347           Add new vs7 project files and solution.
4348
4349 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4350
4351         * win32/vs7:
4352           all files removed as they were out-dated.
4353
4354 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * docs/random/release:
4357           update notes
4358         * gst/gstbin.c: (gst_bin_init):
4359         * gst/gstbus.c: (gst_bus_new):
4360         * gst/gstbus.h:
4361         * gst/gstpipeline.c: (gst_pipeline_init):
4362           use gst_bus_new(), improve logging, fix docs
4363         * win32/common/config.h:
4364           update for cvs build
4365
4366 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * autogen.sh:
4369           up required version of automake to 1.7
4370
4371 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4372
4373         * win32/common/libgstreamer.def:
4374           export gst_buffer_is_metadata_writable
4375
4376 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4377
4378         * docs/gst/gstreamer-sections.txt:
4379         * gst/gstevent.h:
4380           Add gst_event_replace() (#327001)
4381
4382 2006-01-20  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4385         Make it actually compile too..
4386
4387 2006-01-20  Wim Taymans  <wim@fluendo.com>
4388
4389         * gst/gstcaps.c:
4390         Clarify behaviour of _is_equal() when passing NULL parameters.
4391
4392         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4393         (gst_pad_set_caps):
4394         Cleanups. Don't unref NULL caps.
4395         When setting the same caps, protect caps of the pad with
4396         proper lock.
4397         Use full functionality of _is_equal() when comparing caps.
4398
4399 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4400
4401         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4402         Don't loop infinitely if there are no buffers to present. Partially
4403         fixes #327197, but collectpads is just broken for reusing elements
4404         to do multiple encodes atm.
4405
4406 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4407
4408         * tools/gst-inspect.c: (print_element_features):
4409         * tools/gst-xmlinspect.c: (main):
4410         URL_HANDLER is not a plugin feature we can search for in
4411         the registry.
4412
4413 2006-01-19  Edward Hervey  <edward@fluendo.com>
4414
4415         * gst/gstelement.c: (gst_element_pads_activate): 
4416         When activating, do src pads first, then sink pads.
4417         When de-activating, do sink pads first, then src pads.
4418
4419 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4420
4421         * docs/gst/gstreamer-sections.txt:
4422         Add gst_index_add_associationv to the docs
4423
4424 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4425
4426         * gst/gstevent.c:
4427           Fix docs typo
4428
4429         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4430         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4431           Do some refactoring. Doesn't actually change functionality,
4432           but makes landing the DRAIN event easier later.
4433
4434 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4435
4436         * docs/pwg/advanced-scheduling.xml:
4437           Update from 0.9.x to 0.10 API and make example a bit
4438           clearer.
4439
4440 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4441
4442         * docs/gst/gstreamer-sections.txt:
4443         Add gst_buffer_(is|make)_metadata_writable methods.
4444
4445 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4446
4447         * docs/design/part-sparsestreams.txt:
4448         Update sparse streams doc, hopefully for greater clarity
4449
4450 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4451
4452         * docs/design/part-events.txt:
4453         Remove mention of FILLER events.
4454         Add DRAIN event.
4455
4456         * docs/design/part-sparsestreams.txt:
4457         Write some things about using NEWSEGMENT to keep sparse streams
4458         flowing.
4459
4460 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         * gst/gstbin.c: (gst_bin_dispose):
4463           Guard gst_object_unref call against a NULL object (dispose
4464           can theoretically be called multiple times).
4465           
4466 2006-01-18  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/gstbin.c: (gst_bin_element_set_state):
4469         * gst/gstclock.c: (gst_clock_id_wait):
4470         Added some more debug info.
4471
4472         * libs/gst/base/gstadapter.c:
4473         Added more docs.
4474
4475         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4476         (gst_base_sink_do_sync), (gst_base_sink_chain):
4477         Added some comments.
4478
4479 2006-01-18  Wim Taymans  <wim@fluendo.com>
4480
4481         * tests/check/Makefile.am:
4482         * tests/check/elements/fakesink.c: (chain_async_buffer),
4483         (chain_async), (chain_async_return), (GST_START_TEST),
4484         (fakesink_suite), (main):
4485         Added fakesink test that checks prerolling and clipping
4486         behaviour.
4487
4488         * tests/check/gst/gstutils.c: (GST_START_TEST):
4489         Make check run faster so that buildbots don't timeout.
4490
4491 2006-01-18  Wim Taymans  <wim@fluendo.com>
4492
4493         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4494         (gst_base_sink_do_sync):
4495         Some cleanups.
4496         When the sink finishes blocking on the preroll buffer, it can
4497         immediatly render it instead of rendering when the next buffer
4498         arrives.
4499
4500 2006-01-18  Wim Taymans  <wim@fluendo.com>
4501
4502         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4503         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4504         (gst_base_sink_chain):
4505         Small cleanups.
4506         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4507         Don't store _last_stop if the buffer is dropped.
4508
4509 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * plugins/elements/gsttypefindelement.c:
4512         (gst_type_find_element_class_init):
4513           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4514           object method handler that sets the caps on the pad and we want
4515           that to happen before we emit the signal (fixes e.g. feeding a
4516           plain text file to decodebin).
4517
4518 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4519
4520         * gst/gstplugin.c: Add MPL and Proprietary as license options
4521
4522 2006-01-18  Andy Wingo  <wingo@pobox.com>
4523
4524         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4525         symbol was exported before, it appears this was just an oversight.
4526         Fixes #168703.
4527         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4528
4529         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4530         prototype to gint. OK since this prototype was not in the header.
4531
4532 2006-01-17  Andy Wingo  <wingo@pobox.com>
4533
4534         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4535         registry while we remove plugins.
4536
4537         * tools/gst-inspect.c (print_element_info): Don't unref the
4538         factory arg, that should be the responsibility of whatever code
4539         received the ref. Fixes a double-free when called from
4540         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4541         (main): Unref the factory if we have one.
4542         (print_element_list): No change -- relies on the
4543         plugin_feature_list_free to free the list of features.
4544
4545 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4546
4547         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4548         (gst_buffer_make_metadata_writable):
4549         * gst/gstbuffer.h:
4550         * libs/gst/base/gstbasetransform.c:
4551         (gst_base_transform_prepare_output_buf):
4552         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4553         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4554           Replace gst_buffer_(make|is)_metadata_writable patch now
4555           that the release is out.
4556
4557 2006-01-17  Andy Wingo  <wingo@pobox.com>
4558
4559         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4560         in the present tense without reference to versions.
4561
4562         * gst/gstregistry.c (gst_registry_add_plugin)
4563         (gst_registry_remove_plugin, gst_registry_remove_feature)
4564         (gst_registry_find_feature, gst_registry_get_feature_list)
4565         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4566         (gst_registry_lookup, gst_registry_scan_path)
4567         (_gst_registry_remove_cache_plugins)
4568         (gst_registry_get_feature_list_by_plugin): Add argument
4569         validation.
4570
4571 === release 0.10.2 ===
4572
4573 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4574
4575         * configure.ac:
4576           releasing 0.10.2, "If man is five"
4577
4578 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4579
4580         * gst/gstbuffer.c:
4581         * gst/gstbuffer.h:
4582         * libs/gst/base/gstbasetransform.c:
4583         (gst_base_transform_prepare_output_buf):
4584         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4585         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4586           Back out patch until after the release.
4587
4588 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4589
4590         * gst/gstminiobject.c:
4591           Spelling fix in docs.
4592         * ChangeLog - remove conflict indicator
4593
4594 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4595
4596         Reviewed By: Andy Wingo
4597
4598         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4599         (gst_buffer_make_metadata_writable):
4600         * gst/gstbuffer.h:
4601           Add gst_buffer_(is|make)_metadata_writable as analogues of
4602           gst_buffer_(is|make)_writable.
4603
4604         * libs/gst/base/gstbasetransform.c:
4605         (gst_base_transform_prepare_output_buf):
4606         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4607           Use name gst_buffer_(is|make)_metadata_writable functions.
4608
4609         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4610           Test gst_buffer_(is|make)_metadata_writable
4611         
4612           (Closes: #324162)
4613
4614 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * docs/manual/Makefile.am:
4617           don't do parallel make
4618         * configure.ac:
4619           AC_SUBST HOST_CPU
4620         * win32/common/config.h.in:
4621           add generations for HOST_CPU and GST_MAJORMINOR
4622         * win32/common/config.h:
4623           commit generated result
4624
4625 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4626
4627         * docs/manual/appendix-integration.xml:
4628           Update GNOME integration section to use gst_init_get_option_group()
4629           instead of the old popt stuff (#322911). Also, GNOME applications
4630           should  now use gconf*sink and gconf*src instead of the old gconf
4631           helper lib we had.
4632
4633 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4634
4635
4636         * docs/gst/gstreamer-docs.sgml:
4637         * docs/gst/gstreamer-sections.txt:
4638         * docs/libs/gstreamer-libs-sections.txt:
4639           add new API entries to the docs
4640         * libs/gst/controller/Makefile.am:
4641         * libs/gst/controller/gstcontroller.c:
4642         * libs/gst/controller/gstcontroller.h:
4643         * libs/gst/controller/gstcontrollerprivate.h:
4644         * libs/gst/controller/gsthelper.c:
4645         * libs/gst/controller/gstinterpolation.c:
4646           move private structs to private header
4647         * po/README:
4648           gstreamer-0.7 -> gstreamer-0.10
4649         * tests/check/libs/struct_i386.h:
4650           remove private structs
4651
4652 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4653
4654         * plugins/indexers/Makefile.am:
4655           Fixes as part of #317048
4656
4657 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4658
4659         * plugins/indexers/Makefile.am:
4660           fix #316086 - compilation when mmap is missing
4661
4662 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4663
4664         * libs/gst/base/gstbasesink.c:
4665           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4666           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4667         * win32/common/config.h:
4668           added some defines GST_MAJORMINOR and HOST_CPU
4669         * win32/common/libgstbase.def:
4670         * win32/common/libgstreamer.def:
4671           added some exported functions.
4672
4673 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4674
4675         * libs/gst/controller/gstcontroller.c:
4676         (gst_controlled_property_set_interpolation_mode),
4677         (gst_controlled_property_new):
4678         * libs/gst/controller/gstcontroller.h:
4679         * libs/gst/controller/gstinterpolation.c:
4680         (interpolate_none_get_string_value_array):
4681           make G_TYPE_STRING controlable
4682
4683 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4684
4685         * tools/README:
4686         * tools/gst-feedback.1.in:
4687         * tools/gst-inspect.1.in:
4688         * tools/gst-launch.1.in:
4689         * tools/gst-md5sum.1.in:
4690         * tools/gst-typefind.1.in:
4691         * tools/gst-xmlinspect.1.in:
4692         * tools/gst-xmllaunch.1.in:
4693           cleanup man-pages, remove reference to gst-register, document env-vars
4694
4695 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4696
4697         * gst/gstbuffer.c: (gst_buffer_span):
4698           gst_buffer_span should copy the timestamp of the first buffer
4699           if they were both originally overlapping subbuffers of the 
4700           same parent, using the same logic as the 'slow copy' case.
4701
4702 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4703
4704         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4705           Need to awaken ALL the pads when we pop a buffer, otherwise
4706           collectpads only works when there is 2 input streams.
4707
4708 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4709
4710         * docs/random/ensonic/media-device-daemon.txt:
4711           more ideas (dbus)
4712         * gst/gstbuffer.c:
4713           fix doc example, add clarification
4714         * tools/gst-launch.1.in:
4715           add initial info about GST_PLUGIN_PATH, needs more work
4716
4717 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         * docs/manual/basics-bins.xml:
4720         * docs/manual/basics-elements.xml:
4721         * docs/manual/intro-basics.xml:
4722           Some more minor docs additions and updates.
4723
4724 2006-01-11  Wim Taymans  <wim@fluendo.com>
4725
4726         * docs/manual/basics-bins.xml:
4727         * docs/manual/basics-elements.xml:
4728         Some small fixes as pointed out by Ser-ver on IRC.
4729
4730 2006-01-10  Edward Hervey  <edward@fluendo.com>
4731
4732         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4733         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4734         the single-segment mode.
4735
4736 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4737
4738         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4741         (gst_base_src_perform_seek), (gst_base_src_send_event),
4742         (gst_base_src_set_property), (gst_base_src_get_property),
4743         (gst_base_src_loop), (gst_base_src_start),
4744         (gst_base_src_activate_push):
4745         * libs/gst/base/gstbasesrc.h:
4746           Name (private) union; makes Sun's Forte compiler happy (#324900).
4747
4748 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4749
4750         * README:
4751           gst-register is gone.
4752
4753 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4754
4755         * gst/gstvalue.c: (_gst_value_initialize):
4756           make the G_TYPE_DATE instantiation work if debug is disabled
4757
4758 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4759
4760         * gst/gstmessage.c: (gst_message_parse_tag),
4761         (gst_message_parse_error), (gst_message_parse_warning):
4762           Don't crash when return location for error/warning debug
4763           string is NULL; add fact that return locations can be
4764           NULL to docs where appropriate.
4765
4766 2006-01-05  Wim Taymans  <wim@fluendo.com>
4767
4768         * gst/gstplugin.c: (gst_plugin_load_file):
4769         Replace strdup by g_strdup.
4770
4771 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4772
4773         * docs/pwg/advanced-types.xml:
4774           fix doc borkage
4775
4776 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         submitted by: Abel Cheung
4779
4780         * po/LINGUAS:
4781         * po/zh_TW.po:
4782           Added Chinese (traditional) translation
4783
4784 2006-01-04  Wim Taymans  <wim@fluendo.com>
4785
4786         * docs/manual/basics-pads.xml:
4787         * docs/plugins/Makefile.am:
4788         * docs/plugins/gstreamer-plugins-docs.sgml:
4789         * docs/plugins/gstreamer-plugins-sections.txt:
4790         * docs/pwg/advanced-clock.xml:
4791         * docs/pwg/advanced-scheduling.xml:
4792         * docs/pwg/advanced-types.xml:
4793         * plugins/elements/gstfdsink.c:
4794         * plugins/elements/gstfdsrc.c:
4795         * plugins/elements/gstfdsrc.h:
4796         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4797         * plugins/elements/gstidentity.h:
4798         * plugins/elements/gstqueue.h:
4799         * plugins/elements/gsttee.c:
4800         * plugins/elements/gsttee.h:
4801         * plugins/elements/gsttypefindelement.c:
4802         (gst_type_find_element_class_init):
4803         * plugins/elements/gsttypefindelement.h:
4804         Small updates to various docs.
4805         Added core plugins to docs.
4806
4807 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4808
4809         * common/gst.supp:
4810           add a suppression for liboil's uninitialized variable
4811
4812 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4813
4814         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4815
4816         * gst/gstutils.h:
4817           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4818           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4819           compiler switch is being used (#325429).
4820
4821 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4822
4823         * gst/gstbin.c: (gst_bin_query):
4824           Disable duration query caching in bins until it gets
4825           fixed (see #324807).
4826
4827 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4828
4829         * tools/gst-inspect.c: (print_element_properties_info):
4830           Handle properties of POINTER and BOXED type.
4831
4832 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4833
4834         * gst/gst.c: (init_post):
4835           Init tags stuff and some other things before loading
4836           any static plugins (there may be other static plugins
4837           than just the GStreamer ones, and they may want to
4838           register their own tags or formats or whatever, and
4839           preferably without segfaulting).
4840
4841         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4842           Print at least a warning in the debug logs if we drop a
4843           query just because we don't know how to adjust the value
4844           in the particular format.
4845
4846 2005-12-24  David Schleef  <ds@schleef.org>
4847
4848         * tools/gstreamer-completion:
4849           Replacement for gst-complete written in sh and sed.  Only
4850           completes names of features, but that's 90% of what I want
4851           it for.  Properties are not available in registry.xml.  (Maybe
4852           they should be...)
4853
4854 === release 0.10.1 ===
4855
4856 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4857
4858         * configure.ac:
4859           releasing 0.10.1, "Nollaig chridheil"
4860
4861 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4862
4863         * docs/faq/cvs.xml:
4864           Add missing quote, should be make ERROR_CFLAGS="".
4865
4866 2005-12-20  Wim Taymans  <wim@fluendo.com>
4867
4868         * docs/design/part-trickmodes.txt:
4869         More documentation on trickmodes.
4870
4871 2005-12-20  Edward Hervey  <edward@fluendo.com>
4872
4873         * gst/gstcaps.c: (gst_static_caps_get_type):
4874         * gst/gstcaps.h:
4875           API addition: GST_TYPE_STATIC_CAPS
4876         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4877         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4878         * gst/gstpadtemplate.h:
4879           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4880         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4881         bindings.
4882
4883 2005-12-18  Wim Taymans  <wim@fluendo.com>
4884
4885         * libs/gst/base/gstadapter.c:
4886         * libs/gst/base/gstadapter.h:
4887         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4888         (gst_base_sink_get_position):
4889         * libs/gst/base/gstbasesink.h:
4890         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4891         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4892         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4893         (gst_base_src_send_event), (gst_base_src_update_length),
4894         (gst_base_src_get_range), (gst_base_src_loop),
4895         (gst_base_src_start):
4896         * libs/gst/base/gstbasesrc.h:
4897         * libs/gst/base/gstbasetransform.h:
4898         * libs/gst/base/gstcollectpads.h:
4899         * libs/gst/base/gstpushsrc.c:
4900         * libs/gst/base/gstpushsrc.h:
4901         * libs/gst/dataprotocol/dataprotocol.c:
4902         * libs/gst/dataprotocol/dataprotocol.h:
4903         * libs/gst/net/gstnetclientclock.h:
4904         * libs/gst/net/gstnettimeprovider.h:
4905         Documentation updates.
4906
4907 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4908
4909         * docs/manual/basics-helloworld.xml:
4910           Remove superfluous closing bracket in helloworld example.
4911
4912 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4913
4914         * tools/gst-launch.1.in:
4915           Update gst-launch man page; add a section with useful
4916           environment variables. Fixes #323882.
4917
4918 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * gst/gst.c:
4921         * gst/gst_private.h:
4922           change some char* into char[]
4923
4924 2005-12-16  Wim Taymans  <wim@fluendo.com>
4925
4926         * gst/gstregistryxml.c: (load_feature):
4927         Cleanups.
4928         Don't use g_object_unref on GstObjects so that we avoid
4929         leaks on unsafe glibs.
4930
4931 2005-12-16  Wim Taymans  <wim@fluendo.com>
4932
4933         * gst/gstbin.c: (gst_bin_recalc_state):
4934         Small doc updates.
4935
4936 2005-12-16  Wim Taymans  <wim@fluendo.com>
4937
4938         * common/check.mak:
4939         Added make forever target for check.
4940
4941 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * gst/gst.c: (init_post):
4944           make the registry cache file HOST_CPU-dependent
4945
4946 2005-12-16  Andy Wingo  <wingo@pobox.com>
4947
4948         * plugins/elements/gstbufferstore.c
4949         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4950         return value.
4951
4952         * tests/check/gst/gstobject.c
4953         (test_fake_object_name_threaded_unique): Pay attention to
4954         g_list_sort return value.
4955
4956 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4957
4958         * tools/gst-feedback-m.m:
4959           Update for 0.9/0.10 (fixes #323870).
4960
4961 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4964           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4965           
4966         * tests/check/gst/gstminiobject.c: (my_foo_init),
4967         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4968         (test_value_collection), (gst_mini_object_suite):
4969           Add test to ensure refcounts end up as expected when passing
4970           GstMiniObjects through g_object_get() and g_object_set().
4971
4972 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4973
4974         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4975         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4976         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4977         of collectpads. This version removes a lot of races without
4978         touching API/ABI. Yay !
4979
4980 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4981
4982         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4983           Don't allow activation of a srcpad in pull_range if it has no
4984           getrange function.
4985           Change some debug statements to be a little clearer
4986
4987         * plugins/elements/gsttypefindelement.c:
4988         (gst_type_find_handle_src_query):
4989           Check that we have a peer before executing queries thereupon.
4990
4991         * tests/examples/metadata/read-metadata.c: (message_loop):
4992           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4993           immediately return us any available message with 0 timeout.
4994
4995 2005-12-12  Michael Smith  <msmith@fluendo.com>
4996
4997         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4998           Don't unref factories after calling them.
4999         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5000         * plugins/elements/gsttypefindelement.c:
5001         (gst_type_find_element_chain):
5002           Free lists of factories after using them. Fixing typefinding memory
5003           leaks.
5004
5005 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5006
5007         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5008         (gst_plugin_feature_load):
5009           more meaningful debug output
5010         * configure.ac:
5011         * tests/Makefile.am:
5012         * tests/old/examples/Makefile.am:
5013           make make distcheck happy again
5014
5015 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5016
5017         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5018           Catch the special case where we are operating chain-based,
5019           but the downstream peer pad has no chain function. Emit a
5020           custom error message in this case instead of letting the
5021           core generate one implying that this is some sort of core
5022           bug. It's not, it just means that whatever got plugged
5023           into the pipeline downstream when we announced the type
5024           can only operate pull-based, while our source can only
5025           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5026           Error string has not been marked for translation yet, as
5027           it probably needs some more work first.
5028
5029         (gst_type_find_element_get_best_possibility):
5030           Add helper function to find the best of all available
5031           found possibilities that qualify given the min. threshold.
5032
5033         (gst_type_find_element_handle_event):
5034           Fix the case where we get an EOS while still in TYPEFIND
5035           mode (we want to chose the best of all possible types,
5036           not just the first type that happens to be in our unsorted
5037           list of possible types).
5038
5039         (gst_type_find_element_chain):
5040           Make sure we return GST_FLOW_ERROR when we errored out
5041           in stop_typefinding(); also, don't just find the best of
5042           all found type entries and then use the last examined
5043           type entry, but actually use the best entry.
5044
5045 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         * tests/examples/typefind/typefind.c: (type_found):
5048         * tests/examples/xml/runxml.c: (xml_loaded):
5049           More gcc4 fixes and a mem leak fix.
5050
5051 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5052
5053         * tests/examples/xml/createxml.c: (object_saved):
5054           gcc 4 fixes
5055
5056 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5057
5058         * tests/Makefile.am:
5059           enable the examples even more
5060
5061 2005-12-12  Andy Wingo  <wingo@pobox.com>
5062
5063         * libs/gst/net/gstnettimeprovider.c
5064         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5065         (gst_net_time_provider_set_property)
5066         (gst_net_time_provider_get_property):
5067         API addition: Export "active" as a GObject property.
5068         (gst_net_time_provider_thread): Only respond to time queries if
5069         the time provider is active.
5070
5071         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5072         NetTimeProvider, preserving binary compat.
5073
5074 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5075
5076         * tests/examples/controller/audio-example.c: (main):
5077         * tests/examples/launch/Makefile.am:
5078           convert comments again
5079
5080 2005-12-12  Wim Taymans  <wim@fluendo.com>
5081
5082         * libs/gst/base/gstpushsrc.c:
5083         Fix typo.
5084
5085 2005-12-12  Wim Taymans  <wim@fluendo.com>
5086
5087         * docs/libs/gstreamer-libs-sections.txt:
5088         Added new symbol to docs.
5089
5090         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5091         (gst_base_src_init), (gst_base_src_set_format),
5092         (gst_base_src_default_query), (gst_base_src_query),
5093         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5094         (gst_base_src_perform_seek), (gst_base_src_send_event),
5095         (gst_base_src_default_event), (gst_base_src_event_handler),
5096         (gst_base_src_set_property), (gst_base_src_get_property),
5097         (gst_base_src_wait), (gst_base_src_do_sync),
5098         (gst_base_src_update_length), (gst_base_src_get_range),
5099         (gst_base_src_check_get_range), (gst_base_src_loop),
5100         (gst_base_src_default_negotiate), (gst_base_src_start),
5101         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5102         (gst_base_src_change_state):
5103         * libs/gst/base/gstbasesrc.h:
5104         Implement seeking to other formats than _BYTES.
5105         Implement more seeking methods correctly.
5106         Doc updates.
5107         Added query vmethod.
5108         Added do_seek vmethod to make life easier for subclasses
5109         when seeking.
5110         API addition: gst_base_src_set_format()
5111
5112 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5113
5114         * tests/examples/Makefile.am:
5115           added that too
5116
5117 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5118
5119         * configure.ac:
5120         * docs/random/ensonic/media-device-daemon.txt:
5121         * tests/examples/controller/.cvsignore:
5122         * tests/examples/controller/Makefile.am:
5123         * tests/examples/controller/audio-example.c: (main):
5124         * tests/examples/helloworld/.cvsignore:
5125         * tests/examples/helloworld/Makefile.am:
5126         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5127         * tests/examples/launch/.cvsignore:
5128         * tests/examples/launch/Makefile.am:
5129         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5130         * tests/examples/metadata/.cvsignore:
5131         * tests/examples/metadata/Makefile.am:
5132         * tests/examples/metadata/read-metadata.c: (message_loop),
5133         (make_pipeline), (print_tag), (main):
5134         * tests/examples/queue/.cvsignore:
5135         * tests/examples/queue/Makefile.am:
5136         * tests/examples/queue/queue.c: (event_loop), (main):
5137         * tests/examples/typefind/.cvsignore:
5138         * tests/examples/typefind/Makefile.am:
5139         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5140         (main):
5141         * tests/examples/xml/.cvsignore:
5142         * tests/examples/xml/Makefile.am:
5143         * tests/examples/xml/createxml.c: (object_saved), (main):
5144         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5145         * tests/old/examples/Makefile.am:
5146         * tests/old/examples/TODO:
5147         * tests/old/examples/controller/.cvsignore:
5148         * tests/old/examples/controller/Makefile.am:
5149         * tests/old/examples/controller/audio-example.c:
5150         * tests/old/examples/helloworld/.cvsignore:
5151         * tests/old/examples/helloworld/Makefile.am:
5152         * tests/old/examples/helloworld/helloworld.c:
5153         * tests/old/examples/launch/.cvsignore:
5154         * tests/old/examples/launch/Makefile.am:
5155         * tests/old/examples/launch/mp3parselaunch.c:
5156         * tests/old/examples/launch/mp3play:
5157         * tests/old/examples/manual/Makefile.am:
5158         * tests/old/examples/metadata/Makefile.am:
5159         * tests/old/examples/metadata/read-metadata.c:
5160         * tests/old/examples/queue/.cvsignore:
5161         * tests/old/examples/queue/Makefile.am:
5162         * tests/old/examples/queue/queue.c:
5163         * tests/old/examples/typefind/.cvsignore:
5164         * tests/old/examples/typefind/Makefile.am:
5165         * tests/old/examples/typefind/typefind.c:
5166         * tests/old/examples/xml/.cvsignore:
5167         * tests/old/examples/xml/Makefile.am:
5168         * tests/old/examples/xml/createxml.c:
5169         * tests/old/examples/xml/runxml.c:
5170           applied some simple fixing to some examples
5171           re-enabled the working examples
5172
5173 2005-12-12  Wim Taymans  <wim@fluendo.com>
5174
5175         * gst/gstsegment.c: (gst_segment_init),
5176         (gst_segment_set_last_stop), (gst_segment_set_seek),
5177         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5178         (gst_segment_to_running_time):
5179         Added more documentation.
5180         Make sure the last_pos value is updated properly.
5181         Make sure to_stream_time and to_running_time don't
5182         operate on wrong values.
5183
5184         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5185         Update check.
5186
5187 2005-12-12  Michael Smith  <msmith@fluendo.com>
5188
5189         * plugins/elements/gsttypefindelement.c: (free_entry),
5190         (gst_type_find_element_chain):
5191           Now that we're not leaking factories, make sure we keep references
5192           to them while we need them.
5193
5194 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5195
5196         * tests/check/gst/struct_i386.h:
5197           ifdef out the XML structs
5198
5199 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5200
5201         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5202           floor is not needed, F is always positive; this obviates the
5203           need for adding -lm when building without libxml
5204
5205 2005-12-12  Wim Taymans  <wim@fluendo.com>
5206
5207         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5208         Take current playback rate into account when reporting
5209         the position.
5210
5211 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         * docs/manual/mime-world.fig:
5214           Let's try this again, this time with a file that is
5215           actually in XFig format.
5216
5217 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5218
5219         * docs/manual/mime-world.fig:
5220           Add audioconvert element to diagram so that it
5221           matches the text and the code (fixes #319526).
5222
5223 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5224
5225         * docs/pwg/building-chainfn.xml:
5226         * docs/pwg/building-pads.xml:
5227         * docs/pwg/building-state.xml:
5228         * docs/pwg/other-source.xml:
5229           Update state change stuff for 0.10 (fixes #322969).
5230
5231 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * docs/manual/advanced-dataaccess.xml:
5234         * docs/manual/appendix-checklist.xml:
5235         * docs/manual/appendix-programs.xml:
5236         * docs/manual/basics-pads.xml:
5237         * docs/manual/highlevel-components.xml:
5238         * docs/manual/manual.xml:
5239           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5240           add converters in front of pipelines; remove curly
5241           brackets for threads stuff, they no longer exist; use
5242           GST_TYPE_FRACTION for framerates; update some pieces of
5243           code to 0.10, but there's plenty more to do.
5244
5245         * docs/manual/appendix-porting.xml:
5246           Expand on asynchroneous state changes; s/0.9/0.10/;
5247           mention disappearance of gst_init_get_popt_table()
5248           (fixes #322916).
5249
5250 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * docs/faq/using.xml:
5253           Spider no longer exists, and neither does gst-launch-ext.
5254           Update examples to use decodebin and playbin and put
5255           converters in front of sinks (fixes #323726).
5256
5257 2005-12-09  Michael Smith  <msmith@fluendo.com>
5258
5259         * plugins/elements/gsttypefindelement.c: (find_peek),
5260         (gst_type_find_element_chain):
5261           Fix leaking element factories in typefinding.
5262           Fix problem where we forgot about a probable type on non-seekable
5263           files, and thus later mis-typefound it.
5264
5265 2005-12-09  Michael Smith  <msmith@fluendo.com>
5266
5267         * common/m4/gst-makecontext.m4:
5268         * common/m4/gst-mcsc.m4:
5269         * configure.ac:
5270         * win32/common/config.h:
5271         * win32/common/config.h.in:
5272           Remove makecontext stuff; not used in 0.10 and causes problems on
5273           HPUX according to bug #322441
5274
5275 2005-12-07  Wim Taymans  <wim@fluendo.com>
5276
5277         * tests/check/Makefile.am:
5278         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5279         (main):
5280         * tests/check/libs/struct_i386.h:
5281         Added ABI check for libs
5282
5283 2005-12-07  Wim Taymans  <wim@fluendo.com>
5284
5285         * tests/check/Makefile.am:
5286         And add the struct_i386.h to dist.
5287
5288 2005-12-07  Wim Taymans  <wim@fluendo.com>
5289
5290         * tests/check/Makefile.am:
5291         * tests/check/gst/.cvsignore:
5292         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5293         (main):
5294         * tests/check/gst/struct_i386.h:
5295         Added check for ABI compatibility.
5296
5297 2005-12-07  Wim Taymans  <wim@fluendo.com>
5298
5299         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5300         (gst_fake_src_get_times), (gst_fake_src_create):
5301         Fix broken sync option, fixes #323259
5302
5303 2005-12-07  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/gstbuffer.c:
5306         Small docs update.
5307
5308         * gst/gstcaps.c: (gst_caps_is_equal):
5309         Don't assert on NULL <--> X. Fixes #323260
5310
5311         * gst/gstminiobject.c: (gst_mini_object_replace):
5312         If we're doing atomic operations, we might just as well use
5313         the proper way to get an atomic pointer.
5314
5315         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5316         Clean up debugging.
5317
5318 2005-12-07  Michael Smith  <msmith@fluendo.com>
5319
5320         * gst/parse/grammar.y:
5321           Remove handling of { } for threads.
5322
5323 2005-12-06  David Schleef  <ds@schleef.org>
5324
5325         * libs/gst/base/gstbasetransform.c: speling fix.
5326
5327 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * docs/libs/tmpl/gstdataprotocol.sgml:
5330         * docs/random/omega/testing/gstobject.c:
5331         * gst/gst.c:
5332         * gst/gstclock.c:
5333         * gst/gstelement.c:
5334         * gst/gstelementfactory.c:
5335         * gst/gsterror.c:
5336         * gst/gstevent.c:
5337         * gst/gstghostpad.c:
5338         * gst/gstinfo.c:
5339         * gst/gstpadtemplate.c:
5340         * gst/gstregistryxml.c:
5341         * gst/gsttaglist.c:
5342         * gst/gsttagsetter.c:
5343         * gst/gsttypefind.c:
5344         * gst/gstvalue.c:
5345         * libs/gst/base/gstbasesrc.c:
5346         * libs/gst/net/gstnetclientclock.c:
5347         * libs/gst/net/gstnettimeprovider.c:
5348         * plugins/elements/gstfakesrc.c:
5349         * plugins/elements/gstfdsrc.c:
5350         * plugins/elements/gstfilesrc.c:
5351         * plugins/elements/gstidentity.c:
5352         * plugins/elements/gstqueue.c:
5353         * plugins/elements/gsttypefindelement.c:
5354         * plugins/indexers/gstfileindex.c:
5355         * plugins/indexers/gstmemindex.c:
5356         * tests/check/gst/gsttag.c:
5357         * tests/old/examples/cutter/cutter.c:
5358         * tests/old/examples/mixer/mixer.c:
5359         * tests/old/examples/xml/runxml.c: (main):
5360         * tests/old/testsuite/caps/normalisation.c:
5361         * tests/old/testsuite/debug/global.c:
5362         * tests/old/testsuite/parse/parse1.c:
5363         * tools/gst-xmlinspect.c:
5364         * win32/common/dirent.c:
5365           expand tabs
5366
5367 === release 0.10.0 ===
5368
5369 2005-12-05   <thomas (at) apestaart (dot) org>
5370
5371         * configure.ac:
5372           releasing 0.10.0, "Maroilles"
5373
5374 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5375
5376         submitted by: Funda Wang <fundawang@linux.net.cn>
5377
5378         * po/LINGUAS:
5379         * po/zh_CN.po:
5380           added Chinese (Traditional) translation
5381
5382 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5383
5384         * docs/gst/gstreamer-sections.txt:
5385         * docs/libs/tmpl/gstdataprotocol.sgml:
5386         * docs/random/thomasvs/TODO:
5387         * gst/gstutils.c:
5388         * gst/gstutils.h:
5389           fix docs
5390
5391 2005-12-05  Andy Wingo  <wingo@pobox.com>
5392
5393         patch by: Wim Taymans <wim@fluendo.com>
5394
5395         * libs/gst/base/gstbasetransform.c
5396         (gst_base_transform_prepare_output_buf)
5397         (gst_base_transform_buffer_alloc):
5398         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5399         alloc_buffer_and_set_caps.
5400
5401         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5402         set_caps on the source pad.
5403         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5404         alloc_buffer used to do. Fixes #322874.
5405
5406         * docs/gst/gstreamer-sections.txt: 
5407         * docs/design/part-negotiation.txt: 
5408         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5409         changes.
5410
5411 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5412
5413         patch by: Sebastien Moutte
5414
5415         * win32/MANIFEST:
5416         * win32/common/config.h.in:
5417         * win32/vs6/libgstcontroller.dsp:
5418           win32 build fixes
5419
5420 2005-12-05  Wim Taymans  <wim@fluendo.com>
5421
5422         * gst/gstcaps.c: (gst_caps_is_equal):
5423         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5424         (gst_fake_src_create):
5425         Back out previous code changes, leave doc updates, file bugs 
5426         instead. 
5427
5428 2005-12-05  Wim Taymans  <wim@fluendo.com>
5429
5430         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5431         (gst_fake_src_get_times), (gst_fake_src_create):
5432         * plugins/elements/gstfakesrc.h:
5433         Fix broken sync code.
5434
5435 2005-12-05  Wim Taymans  <wim@fluendo.com>
5436
5437         * gst/gstcaps.c: (gst_caps_is_equal):
5438         Comparing NULL against !NULL yields different caps, not a
5439         failure.
5440
5441 2005-12-05  Wim Taymans  <wim@fluendo.com>
5442
5443         * gst/gstpipeline.c:
5444         Fix small typo in docs.
5445
5446 2005-12-05  Andy Wingo  <wingo@pobox.com>
5447
5448         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5451         registries/plugins with a MAJORMINOR one.
5452         (plugin_desc): Rename library from gstcoreleements to
5453         staticelements. Fixes #323222.
5454
5455 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5456
5457         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5458           Change debug category to 'collectpads' from 'collect_pads'
5459           (fixes #323250).
5460
5461 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5462
5463         patch by: Sebastien Moutte
5464
5465         * libs/gst/controller/gstinterpolation.c:
5466           use convert function for uint64/double
5467         * win32/vs6/libgstcontroller.dsp:
5468           link to GLib
5469
5470 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5471
5472         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5473         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5474         * gst/gstutils.h:
5475         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5476           add tests that seem to show that the guint64/gdouble conversions
5477           are correct.
5478
5479 2005-12-02  Wim Taymans  <wim@fluendo.com>
5480
5481         * gst/gstregistry.c: (gst_registry_add_path):
5482         * gst/gstregistry.h:
5483         * gst/gstregistryxml.c:
5484         Fix docs again.
5485
5486 2005-12-02  Wim Taymans  <wim@fluendo.com>
5487
5488         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5489         (gst_util_uint64_scale_int):
5490         Small cleanup.
5491
5492         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5493         Add debug log line.
5494
5495         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5496         Add FIXME.
5497
5498 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * win32/MANIFEST:
5501         * win32/common/config.h:
5502         * win32/vs6/gstreamer.dsw:
5503         * win32/vs6/libgstcoreelements.dsp:
5504         * win32/vs6/libgstelements.dsp:
5505           renamed core elements plugin
5506
5507 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5508
5509         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5510         (get_candidates):
5511           do piece-wise major/minor comparison so 0.9 < 0.10
5512           also allow .exe extensions for tools
5513
5514 2005-12-02  Michael Smith  <msmith@fluendo.com>
5515
5516         * gst/gst.c:
5517           Escape a % to make gtkdoc happier; bug 322958.
5518
5519 === release 0.9.7 ===
5520
5521 2005-12-01   <thomas (at) apestaart (dot) org>
5522
5523         * configure.ac:
5524           releasing 0.9.7, "My Dog Has No Nose"
5525
5526 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5527
5528         * common/gst-xmlinspect.py:
5529         * configure.ac:
5530         * docs/libs/tmpl/gstdataprotocol.sgml:
5531         * docs/random/release:
5532         * po/af.po:
5533         * po/az.po:
5534         * po/bg.po:
5535         * po/ca.po:
5536         * po/cs.po:
5537         * po/de.po:
5538         * po/en_GB.po:
5539         * po/fr.po:
5540         * po/it.po:
5541         * po/nb.po:
5542         * po/nl.po:
5543         * po/ru.po:
5544         * po/sq.po:
5545         * po/sr.po:
5546         * po/sv.po:
5547         * po/tr.po:
5548         * po/uk.po:
5549         * po/vi.po:
5550         * win32/common/config.h:
5551         * win32/common/config.h.in:
5552         * win32/vs6/gst_inspect.dsp:
5553         * win32/vs6/gst_launch.dsp:
5554         * win32/vs6/libgstbase.dsp:
5555         * win32/vs6/libgstelements.dsp:
5556         * win32/vs6/libgstreamer.dsp:
5557         * win32/vs7/GStreamer.vcproj:
5558         * win32/vs7/gst-inspect.vcproj:
5559         * win32/vs7/gst-launch.vcproj:
5560         * win32/vs7/libgstbase.vcproj:
5561           bump GST_MAJORMINOR to 0.10
5562           reset libtool version
5563
5564 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5565
5566         * po/LINGUAS:
5567         * po/bg.po:
5568           Added Bulgarian translation by (Alexander Shopov)
5569
5570 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5571
5572         * tests/check/gst/gstplugin.c:
5573           fix test
5574
5575 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5576
5577         * common/gst-xmlinspect.py:
5578         * common/gtk-doc-plugins.mak:
5579         * configure.ac:
5580         * docs/Makefile.am:
5581         * docs/gst/Makefile.am:
5582         * docs/gst/gstreamer-docs.sgml:
5583         * docs/gst/gstreamer-sections.txt:
5584         * docs/gst/gstreamer.types:
5585         * docs/gst/gstreamer.types.in:
5586         * docs/plugins/Makefile.am:
5587         * docs/plugins/gstreamer-plugins-docs.sgml:
5588         * docs/plugins/gstreamer-plugins-sections.txt:
5589         * docs/plugins/gstreamer-plugins.types:
5590         * docs/plugins/inspect.stamp:
5591         * docs/plugins/inspect/plugin-coreelements.xml:
5592         * docs/plugins/inspect/plugin-coreindexers.xml:
5593         * docs/plugins/scanobj-build.stamp:
5594         * gstreamer.spec.in:
5595         * plugins/elements/Makefile.am:
5596         * plugins/elements/gstelements.c:
5597         * plugins/elements/gstfakesink.c:
5598         * plugins/elements/gstfakesrc.c:
5599         * plugins/elements/gstfilesink.c:
5600         * plugins/elements/gstfilesrc.c:
5601         * plugins/elements/gstqueue.c:
5602         * plugins/indexers/Makefile.am:
5603         * plugins/indexers/gstindexers.c:
5604           document core plugins in a separate document just like all the
5605           others
5606           rename these plugins to something starting with core
5607
5608 2005-12-01  Andy Wingo  <wingo@pobox.com>
5609
5610         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5611         padding here before, but it missed the commit.
5612
5613 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5614
5615         * libs/gst/controller/gstinterpolation.c:
5616           whitespace prices have crashed, we should feel free to use some now
5617           use gst_guint64_to_gdouble
5618
5619 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5620
5621         * libs/gst/controller/gstcontroller.c:
5622         * libs/gst/controller/gsthelper.c:
5623         * libs/gst/controller/gstinterpolation.c:
5624         * libs/gst/controller/lib.c:
5625           wrap config.h include
5626
5627 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * docs/gst/gstreamer-sections.txt:
5630           update docs
5631
5632 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * plugins/elements/gstelements.c:
5635         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5636         (gst_fd_sink__class_init), (gst_fd_sink__init),
5637         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5638         (gst_fd_sink__get_property):
5639         * plugins/elements/gstfdsink.h:
5640         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5641         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5642         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5643         (gst_fd_src_unlock), (gst_fd_src_set_property),
5644         (gst_fd_src_get_property), (gst_fd_src_create),
5645         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5646         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5647         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5648         (gst_fd_src_uri_handler_init):
5649         * plugins/elements/gstfdsrc.h:
5650         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5651           more anal cleanup
5652
5653 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5654
5655         * docs/gst/Makefile.am:
5656         * docs/gst/gstreamer.types.in:
5657         * gst/Makefile.am:
5658           fix the docs build
5659
5660 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5661
5662         * configure.ac:
5663         * gst/Makefile.am:
5664         * gst/gst.c:
5665         * gst/gstplugin.h:
5666         * gst/gstregistry.h:
5667         * tests/benchmarks/complexity.c:
5668         * tests/benchmarks/mass-elements.c:
5669         * tests/check/Makefile.am:
5670         * tools/Makefile.am:
5671         * tools/gst-inspect.c:
5672         * tools/gst-xmlinspect.c:
5673           various fixes to make
5674           --disable-nls --disable-registry --disable-loadsave
5675           --disable-parse --disable-gst-debug
5676           work and get the core .so down to 360444 bytes after stripping
5677
5678 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * Makefile.am:
5681         * configure.ac:
5682           descend into tests
5683         * docs/random/thomasvs/TODO:
5684         * tests/Makefile.am:
5685         * tests/README:
5686           add a README
5687
5688 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5689
5690         * win32/GStreamer.vcproj:
5691         * win32/MANIFEST:
5692         * win32/Makefile:
5693         * win32/Makefile.inspect:
5694         * win32/Makefile.launch:
5695         * win32/Makefile.register:
5696         * win32/README.txt:
5697         * win32/gst-inspect.vcproj:
5698         * win32/gst-launch.vcproj:
5699         * win32/gst-register.vcproj:
5700         * win32/gstelements.vcproj:
5701         * win32/gstgetbits.def:
5702         * win32/gstgetbits.vcproj:
5703         * win32/gstreamer-dbg.def:
5704         * win32/gstreamer.def:
5705         * win32/libgstbase.def:
5706         * win32/libgstbase.vcproj:
5707         * win32/link_oldruntime.c:
5708         * win32/mman.c:
5709         * win32/mman.h:
5710         * win32/mman.inl:
5711         * win32/msvc71.sln:
5712           move even more stuff, win32/ is nice and clean now
5713
5714 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * libs/gst/control/.cvsignore:
5717         * win32/MANIFEST:
5718         * win32/config.h:
5719         * win32/dirent.c:
5720         * win32/dirent.h:
5721         * win32/gstbytestream.def:
5722         * win32/gstbytestream.vcproj:
5723         * win32/gstconfig.h:
5724         * win32/gstenumtypes.c:
5725         * win32/gstenumtypes.h:
5726         * win32/gstoptimalscheduler.vcproj:
5727         * win32/gstversion.h:
5728         * win32/gtchar.h:
5729         * win32/testsuite/bins.vcproj:
5730         * win32/testsuite/bytestream.vcproj:
5731         * win32/testsuite/caps.vcproj:
5732         * win32/testsuite/cleanup.vcproj:
5733         * win32/testsuite/clock.vcproj:
5734         * win32/testsuite/debug.vcproj:
5735         * win32/testsuite/dlopen.vcproj:
5736         * win32/testsuite/dynparams.vcproj:
5737         * win32/testsuite/elements.vcproj:
5738         * win32/testsuite/ghostpads.vcproj:
5739         * win32/testsuite/indexers.vcproj:
5740         * win32/testsuite/negotiation.vcproj:
5741         * win32/testsuite/parse.vcproj:
5742         * win32/testsuite/plugin.vcproj:
5743         * win32/testsuite/refcounting.vcproj:
5744         * win32/testsuite/schedulers.vcproj:
5745         * win32/testsuite/states.vcproj:
5746         * win32/testsuite/tags.vcproj:
5747         * win32/testsuite/threads.vcproj:
5748           remove old win32 stuff that isn't maintained and should be
5749           reorganized
5750
5751 2005-11-30  Andy Wingo  <wingo@pobox.com>
5752
5753         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5754         loading the gst.interfaces python module bork.
5755
5756         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5757         available since GLib 2.2. Fixes #318031.
5758
5759 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5760
5761         * Makefile.am:
5762         * check/.cvsignore:
5763         * check/Makefile.am:
5764         * check/elements/.cvsignore:
5765         * check/elements/fakesrc.c:
5766         * check/elements/fdsrc.c:
5767         * check/elements/identity.c:
5768         * check/generic/.cvsignore:
5769         * check/generic/states.c:
5770         * check/gst-libs/.cvsignore:
5771         * check/gst-libs/controller.c:
5772         * check/gst-libs/gdp.c:
5773         * check/gst/.cvsignore:
5774         * check/gst/capslist.h:
5775         * check/gst/gst.c:
5776         * check/gst/gstbin.c:
5777         * check/gst/gstbuffer.c:
5778         * check/gst/gstbus.c:
5779         * check/gst/gstcaps.c:
5780         * check/gst/gstelement.c:
5781         * check/gst/gstevent.c:
5782         * check/gst/gstghostpad.c:
5783         * check/gst/gstiterator.c:
5784         * check/gst/gstmessage.c:
5785         * check/gst/gstminiobject.c:
5786         * check/gst/gstobject.c:
5787         * check/gst/gstpad.c:
5788         * check/gst/gstpipeline.c:
5789         * check/gst/gstplugin.c:
5790         * check/gst/gstsegment.c:
5791         * check/gst/gststructure.c:
5792         * check/gst/gstsystemclock.c:
5793         * check/gst/gsttag.c:
5794         * check/gst/gstutils.c:
5795         * check/gst/gstvalue.c:
5796         * check/net/.cvsignore:
5797         * check/net/gstnetclientclock.c:
5798         * check/net/gstnettimeprovider.c:
5799         * check/pipelines/.cvsignore:
5800         * check/pipelines/cleanup.c:
5801         * check/pipelines/simple_launch_lines.c:
5802         * check/pipelines/stress.c:
5803         * check/states/.cvsignore:
5804         * check/states/sinks.c:
5805         * configure.ac:
5806         * examples/Makefile.am:
5807         * examples/appreader/.cvsignore:
5808         * examples/appreader/Makefile.am:
5809         * examples/appreader/appreader.c:
5810         * examples/controller/.cvsignore:
5811         * examples/controller/Makefile.am:
5812         * examples/controller/audio-example.c:
5813         * examples/cutter/.cvsignore:
5814         * examples/cutter/Makefile.am:
5815         * examples/cutter/cutter.c:
5816         * examples/cutter/cutter.h:
5817         * examples/events/Makefile.am:
5818         * examples/events/seek.c:
5819         * examples/helloworld/.cvsignore:
5820         * examples/helloworld/Makefile.am:
5821         * examples/helloworld/helloworld.c:
5822         * examples/helloworld2/.cvsignore:
5823         * examples/helloworld2/Makefile.am:
5824         * examples/helloworld2/helloworld2.c:
5825         * examples/launch/.cvsignore:
5826         * examples/launch/Makefile.am:
5827         * examples/launch/mp3parselaunch.c:
5828         * examples/launch/mp3play:
5829         * examples/manual/.cvsignore:
5830         * examples/manual/Makefile.am:
5831         * examples/manual/extract.pl:
5832         * examples/metadata/Makefile.am:
5833         * examples/metadata/read-metadata.c:
5834         * examples/mixer/.cvsignore:
5835         * examples/mixer/Makefile.am:
5836         * examples/mixer/mixer.c:
5837         * examples/mixer/mixer.h:
5838         * examples/pingpong/.cvsignore:
5839         * examples/pingpong/Makefile.am:
5840         * examples/pingpong/pingpong.c:
5841         * examples/plugins/.cvsignore:
5842         * examples/plugins/Makefile.am:
5843         * examples/plugins/example.c:
5844         * examples/plugins/example.h:
5845         * examples/pwg/.cvsignore:
5846         * examples/pwg/Makefile.am:
5847         * examples/pwg/extract.pl:
5848         * examples/queue/.cvsignore:
5849         * examples/queue/Makefile.am:
5850         * examples/queue/queue.c:
5851         * examples/queue2/.cvsignore:
5852         * examples/queue2/Makefile.am:
5853         * examples/queue2/queue2.c:
5854         * examples/queue3/.cvsignore:
5855         * examples/queue3/Makefile.am:
5856         * examples/queue3/queue3.c:
5857         * examples/queue4/.cvsignore:
5858         * examples/queue4/Makefile.am:
5859         * examples/queue4/queue4.c:
5860         * examples/retag/.cvsignore:
5861         * examples/retag/Makefile.am:
5862         * examples/retag/retag.c:
5863         * examples/retag/transcode.c:
5864         * examples/thread/.cvsignore:
5865         * examples/thread/Makefile.am:
5866         * examples/thread/thread.c:
5867         * examples/typefind/.cvsignore:
5868         * examples/typefind/Makefile.am:
5869         * examples/typefind/typefind.c:
5870         * examples/xml/.cvsignore:
5871         * examples/xml/Makefile.am:
5872         * examples/xml/createxml.c:
5873         * examples/xml/runxml.c:
5874         * tests/Makefile.am:
5875         * tests/check/Makefile.am:
5876         * testsuite/.cvsignore:
5877         * testsuite/Makefile.am:
5878         * testsuite/Rules:
5879         * testsuite/caps/.cvsignore:
5880         * testsuite/caps/Makefile.am:
5881         * testsuite/caps/app_fixate.c:
5882         * testsuite/caps/audioscale.c:
5883         * testsuite/caps/caps.c:
5884         * testsuite/caps/caps.h:
5885         * testsuite/caps/caps_strings:
5886         * testsuite/caps/compatibility.c:
5887         * testsuite/caps/deserialize.c:
5888         * testsuite/caps/enumcaps.c:
5889         * testsuite/caps/eratosthenes.c:
5890         * testsuite/caps/filtercaps.c:
5891         * testsuite/caps/fixed.c:
5892         * testsuite/caps/fraction-convert.c:
5893         * testsuite/caps/fraction-multiply-and-zero.c:
5894         * testsuite/caps/intersect2.c:
5895         * testsuite/caps/intersection.c:
5896         * testsuite/caps/normalisation.c:
5897         * testsuite/caps/random.c:
5898         * testsuite/caps/renegotiate.c:
5899         * testsuite/caps/sets.c:
5900         * testsuite/caps/simplify.c:
5901         * testsuite/caps/string-conversions.c:
5902         * testsuite/caps/structure.c:
5903         * testsuite/caps/subtract.c:
5904         * testsuite/caps/union.c:
5905         * testsuite/debug/.cvsignore:
5906         * testsuite/debug/Makefile.am:
5907         * testsuite/debug/category.c:
5908         * testsuite/debug/commandline.c:
5909         * testsuite/debug/global.c:
5910         * testsuite/debug/output.c:
5911         * testsuite/debug/printf_extension.c:
5912         * testsuite/dlopen/.cvsignore:
5913         * testsuite/dlopen/Makefile.am:
5914         * testsuite/dlopen/dlopen_gst.c:
5915         * testsuite/dlopen/loadgst.c:
5916         * testsuite/elements/.cvsignore:
5917         * testsuite/elements/Makefile.am:
5918         * testsuite/elements/gst-inspect-check.in:
5919         * testsuite/elements/struct_i386.h:
5920         * testsuite/elements/struct_size.c:
5921         * testsuite/indexers/.cvsignore:
5922         * testsuite/indexers/Makefile.am:
5923         * testsuite/indexers/cache1.c:
5924         * testsuite/indexers/indexdump.c:
5925         * testsuite/parse/.cvsignore:
5926         * testsuite/parse/Makefile.am:
5927         * testsuite/parse/parse1.c:
5928         * testsuite/parse/parse2.c:
5929         * testsuite/plugin/.cvsignore:
5930         * testsuite/plugin/Makefile.am:
5931         * testsuite/plugin/README:
5932         * testsuite/plugin/dynamic.c:
5933         * testsuite/plugin/linked.c:
5934         * testsuite/plugin/loading.c:
5935         * testsuite/plugin/registry.c:
5936         * testsuite/plugin/static.c:
5937         * testsuite/plugin/static2.c:
5938         * testsuite/plugin/testplugin.c:
5939         * testsuite/plugin/testplugin2.c:
5940         * testsuite/plugin/testplugin2_s.c:
5941         * testsuite/plugin/testplugin_s.c:
5942         * testsuite/refcounting/.cvsignore:
5943         * testsuite/refcounting/Makefile.am:
5944         * testsuite/refcounting/bin.c:
5945         * testsuite/refcounting/element.c:
5946         * testsuite/refcounting/element_pad.c:
5947         * testsuite/refcounting/mainloop.c:
5948         * testsuite/refcounting/mem.c:
5949         * testsuite/refcounting/mem.h:
5950         * testsuite/refcounting/object.c:
5951         * testsuite/refcounting/pad.c:
5952         * testsuite/refcounting/sched.c:
5953         * testsuite/refcounting/thread.c:
5954         * testsuite/states/.cvsignore:
5955         * testsuite/states/Makefile.am:
5956         * testsuite/states/bin.c:
5957         * testsuite/states/locked.c:
5958         * testsuite/states/parent.c:
5959         * testsuite/threads/.cvsignore:
5960         * testsuite/threads/159566.c:
5961         * testsuite/threads/159852.c:
5962         * testsuite/threads/Makefile.am:
5963         * testsuite/threads/queue.c:
5964         * testsuite/threads/signals.c:
5965         * testsuite/threads/staticrec.c:
5966         * testsuite/threads/thread.c:
5967         * testsuite/threads/threadb.c:
5968         * testsuite/threads/threadc.c:
5969         * testsuite/threads/threadd.c:
5970         * testsuite/threads/threade.c:
5971         * testsuite/threads/threadf.c:
5972         * testsuite/threads/threadg.c:
5973         * testsuite/threads/threadh.c:
5974         * testsuite/threads/threadi.c:
5975           move all of these under tests
5976
5977 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * configure.ac:
5980         * tests/Makefile.am:
5981           fix distcheck
5982
5983 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * docs/gst/gstreamer-sections.txt:
5986         * tests/sched/.cvsignore:
5987         * tests/sched/Makefile.am:
5988         * tests/sched/cases/(fs-fs).xml:
5989         * tests/sched/cases/(fs-i-fs).xml:
5990         * tests/sched/cases/(fs-i-i-fs).xml:
5991         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5992         * tests/sched/dynamic-pipeline.c:
5993         * tests/sched/interrupt1.c:
5994         * tests/sched/interrupt2.c:
5995         * tests/sched/interrupt3.c:
5996         * tests/sched/runtestcases:
5997         * tests/sched/runxml.c:
5998         * tests/sched/sched-stress.c:
5999         * tests/sched/sort.c:
6000         * tests/sched/testcases:
6001         * tests/sched/testcases1.tc:
6002         * tests/seeking/.cvsignore:
6003         * tests/seeking/Makefile.am:
6004         * tests/seeking/seeking1.c:
6005         * tests/threadstate/.cvsignore:
6006         * tests/threadstate/Makefile.am:
6007         * tests/threadstate/test1.c:
6008         * tests/threadstate/test2.c:
6009         * tests/threadstate/threadstate1.c:
6010         * tests/threadstate/threadstate2.c:
6011         * tests/threadstate/threadstate3.c:
6012         * tests/threadstate/threadstate4.c:
6013         * tests/threadstate/threadstate5.c:
6014           remove obsolete tests
6015         * configure.ac:
6016         * tests/bench-complexity.scm:
6017         * tests/bench-mass_elements.scm:
6018         * tests/complexity.c:
6019         * tests/complexity.gnuplot:
6020         * tests/instantiate/.cvsignore:
6021         * tests/instantiate/Makefile.am:
6022         * tests/instantiate/caps.c:
6023         * tests/mass_elements.c:
6024         * tests/network-clock-utils.scm:
6025         * tests/network-clock.scm:
6026         * tests/plot-data:
6027         First pass at cleaning up tests/ dir before moving the rest
6028         Combined with CVS surgery
6029
6030 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6031
6032         * po/POTFILES.in:
6033           queue has moved, update
6034
6035 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         * docs/gst/gstreamer-sections.txt:
6038           remove double entries from the docs
6039         * gst/gst_private.h:
6040         * gst/gstinfo.c: (_gst_debug_init):
6041           remove the THREAD debug category
6042         * gst/Makefile.am:
6043         * gst/gstqueue.c:
6044         * gst/gstqueue.h:
6045         * docs/gst/gstreamer.types:
6046         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6047         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6048           completely move queue and fix up debugging categories
6049
6050 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6051
6052         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6053           make initialization portable, using LL is not
6054
6055 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6056
6057         * win32/common/gstconfig.h:
6058           add large padding
6059
6060 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6061
6062         * win32/common/libgstreamer.def:
6063           rename symbols; sort base section
6064
6065 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * gst/gstclock.c: (do_linear_regression):
6068           remove crack non-portable handrolled DEBUG macro
6069
6070 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * docs/random/release:
6073           update notes
6074         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6075         (gst_object_flags_get_type), (register_gst_bin_flags),
6076         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6077         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6078         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6079         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6080         (gst_caps_flags_get_type), (register_gst_clock_return),
6081         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6082         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6083         (gst_clock_flags_get_type), (register_gst_state),
6084         (gst_state_get_type), (register_gst_state_change_return),
6085         (gst_state_change_return_get_type), (register_gst_state_change),
6086         (gst_state_change_get_type), (register_gst_element_flags),
6087         (gst_element_flags_get_type), (register_gst_core_error),
6088         (gst_core_error_get_type), (register_gst_library_error),
6089         (gst_library_error_get_type), (register_gst_resource_error),
6090         (gst_resource_error_get_type), (register_gst_stream_error),
6091         (gst_stream_error_get_type), (register_gst_event_type_flags),
6092         (gst_event_type_flags_get_type), (register_gst_event_type),
6093         (gst_event_type_get_type), (register_gst_seek_type),
6094         (gst_seek_type_get_type), (register_gst_seek_flags),
6095         (gst_seek_flags_get_type), (register_gst_format),
6096         (gst_format_get_type), (register_gst_index_certainty),
6097         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6098         (gst_index_entry_type_get_type),
6099         (register_gst_index_lookup_method),
6100         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6101         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6102         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6103         (gst_index_flags_get_type), (register_gst_debug_level),
6104         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6105         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6106         (gst_iterator_result_get_type), (register_gst_iterator_item),
6107         (gst_iterator_item_get_type), (register_gst_message_type),
6108         (gst_message_type_get_type), (register_gst_mini_object_flags),
6109         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6110         (gst_pad_link_return_get_type), (register_gst_flow_return),
6111         (gst_flow_return_get_type), (register_gst_activate_mode),
6112         (gst_activate_mode_get_type), (register_gst_pad_direction),
6113         (gst_pad_direction_get_type), (register_gst_pad_flags),
6114         (gst_pad_flags_get_type), (register_gst_pad_presence),
6115         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6116         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6117         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6118         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6119         (gst_plugin_flags_get_type), (register_gst_rank),
6120         (gst_rank_get_type), (register_gst_query_type),
6121         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6122         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6123         (gst_tag_flag_get_type), (register_gst_task_state),
6124         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6125         (gst_alloc_trace_flags_get_type),
6126         (register_gst_type_find_probability),
6127         (gst_type_find_probability_get_type), (register_gst_uri_type),
6128         (gst_uri_type_get_type), (register_gst_parse_error),
6129         (gst_parse_error_get_type):
6130         * win32/common/gstenumtypes.h:
6131         * win32/common/gstversion.h:
6132           update visual studio generated files
6133
6134 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6135
6136         * win32/vs6/libgstbase.dsp:
6137         * win32/vs6/libgstelements.dsp:
6138           update project files for new locations
6139
6140 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6141
6142         * Makefile.am:
6143           remove some files
6144         * README:
6145           reinstate and update
6146         * DEVEL:
6147         * REQUIREMENTS:
6148           removed
6149         * LICENSE:
6150         * docs/random/LICENSE:
6151           moved to random
6152
6153 2005-11-30  Edward Hervey  <edward@fluendo.com>
6154
6155         * gst/gsttypefind.c: (gst_type_find_register):
6156         * gst/gsttypefind.h:
6157         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6158         (gst_type_find_factory_dispose):
6159         * gst/gsttypefindfactory.h:
6160         Fix memory leak in GstTypeFindFactory.
6161
6162 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6163
6164         * gst/gst.c:
6165         * plugins/elements/Makefile.am:
6166         * plugins/elements/gstelements.c:
6167         * plugins/elements/gstqueue.c:
6168           move queue from core to the elements plugin
6169
6170 2005-11-29  Andy Wingo  <wingo@pobox.com>
6171
6172         * libs/gst/base/gstbasetransform.h: 
6173         * libs/gst/base/gstbasesrc.h: 
6174         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6175
6176         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6177         of pointers by which to pad very extensible base classes (like the
6178         ones in libs/gst/base).
6179
6180 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6181
6182         * docs/gst/gstreamer-docs.sgml:
6183         * docs/gst/gstreamer-sections.txt:
6184         * docs/libs/gstreamer-libs-docs.sgml:
6185         * docs/libs/gstreamer-libs-sections.txt:
6186           moving documentation from core to lib
6187
6188 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6189
6190         * check/Makefile.am:
6191         * configure.ac:
6192         * docs/gst/Makefile.am:
6193         * gst/Makefile.am:
6194         * gst/base/.cvsignore:
6195         * gst/base/Makefile.am:
6196         * gst/base/README:
6197         * gst/base/gstadapter.c:
6198         * gst/base/gstadapter.h:
6199         * gst/base/gstbasesink.c:
6200         * gst/base/gstbasesink.h:
6201         * gst/base/gstbasesrc.c:
6202         * gst/base/gstbasesrc.h:
6203         * gst/base/gstbasetransform.c:
6204         * gst/base/gstbasetransform.h:
6205         * gst/base/gstcollectpads.c:
6206         * gst/base/gstcollectpads.h:
6207         * gst/base/gstpushsrc.c:
6208         * gst/base/gstpushsrc.h:
6209         * gst/base/gsttypefindhelper.c:
6210         * gst/base/gsttypefindhelper.h:
6211         * gst/check/Makefile.am:
6212         * gst/check/gstcheck.c:
6213         * gst/check/gstcheck.h:
6214         * gst/net/Makefile.am:
6215         * gst/net/gstnet.h:
6216         * gst/net/gstnetclientclock.c:
6217         * gst/net/gstnetclientclock.h:
6218         * gst/net/gstnettimepacket.c:
6219         * gst/net/gstnettimepacket.h:
6220         * gst/net/gstnettimeprovider.c:
6221         * gst/net/gstnettimeprovider.h:
6222         * libs/gst/Makefile.am:
6223         * libs/gst/base/Makefile.am:
6224         * libs/gst/base/gstbasetransform.c:
6225         * libs/gst/check/Makefile.am:
6226         * plugins/elements/Makefile.am:
6227         * po/POTFILES.in:
6228           CVS surgery + support to move base, check, and net out of gst
6229           and into libs/gst
6230
6231 2005-11-29  Andy Wingo  <wingo@pobox.com>
6232
6233         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6234
6235         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6236         padding.
6237
6238         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6239
6240         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6241
6242         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6243
6244         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6245         padding; reduces object size by about 30%. We don't expect
6246         anything else to go into gstobject.
6247
6248         * gst/gstminiobject.h (struct _GstMiniObject)
6249         (struct _GstMiniObjectClass): Only one pointer of padding; the
6250         payload is only a pointer and two ints anyway. For the class there
6251         are only two methods as well.
6252         
6253         * gst/gstelement.h (struct _GstElementClass): Removed
6254         the state_changed signal callback, it is not used.
6255
6256 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6257
6258         * docs/gst/gstreamer.types:
6259           fix includes, though they are a little dinky
6260
6261 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6262
6263         * check/Makefile.am:
6264           look in the right place for elements, a lot more chance of
6265           success
6266         * gst/Makefile.am:
6267           remove indexers and elements subdirs
6268         * plugins/Makefile.am:
6269           make indexers conditional
6270
6271 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6272
6273         * Makefile.am:
6274         * configure.ac:
6275         * plugins/elements/Makefile.am:
6276         * plugins/elements/gstcapsfilter.c:
6277         * plugins/elements/gstfilesink.c:
6278         * plugins/elements/gstfilesrc.c:
6279         * plugins/elements/gstidentity.c:
6280         * plugins/indexers/Makefile.am:
6281           do CVS surgery and related build fixery to move elements
6282           and indexers in a new gstreamer/plugins directory, out of the
6283           gst/ directory
6284
6285 2005-11-29  Andy Wingo  <wingo@pobox.com>
6286
6287         * check/Makefile.am:
6288         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6289         * pkgconfig/gstreamer-net.pc.in:
6290         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6291         #322257.
6292
6293 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6294
6295         * tools/Makefile.am:
6296         * tools/gst-complete.1.in:
6297         * tools/gst-complete.c:
6298         * tools/gst-compprep.1.in:
6299         * tools/gst-compprep.c:
6300           removing -compprep and -complete
6301
6302 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6303
6304         * gst/gstevent.c: (gst_event_new_new_segment),
6305         (gst_event_parse_new_segment):
6306         * gst/gstevent.h:
6307           fix #320529 - clean up new_segment API and structure.
6308           Let's hope everyone was using the methods, and not the structure.
6309
6310 2005-11-29  Edward Hervey  <edward@fluendo.com>
6311
6312         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6313         (gst_base_sink_event), (gst_base_sink_do_sync),
6314         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6315         Properly handle non GST_FORMAT_TIME segment
6316         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6317         Properly handle non GST_FORMAT_TIME segment
6318         * gst/gstsegment.c:
6319         This function is valid if the accumulator is 0 and the format
6320         is different from the requested format.
6321         
6322 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6323
6324         * docs/gst/gstreamer-sections.txt:
6325         Add gst_query_new_seeking and gst_query_parse_seeking to the
6326         docs.
6327
6328 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6329
6330         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6331           Treat a pad alloc with new caps the same as if we were not
6332           negotiated, in order to allow a changing upstream output
6333           to produce a new format of data.
6334
6335 2005-11-29  Edward Hervey  <edward@fluendo.com>
6336
6337         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6338         (gst_base_transform_event), (gst_base_transform_eventfunc):
6339         The event virtual method is now properly implemented, with a default
6340         handler
6341         Sub classes should call the parent_class event method. They should
6342         return FALSE if they had a problem handling the given event, or don't
6343         want GstBaseTransform to send that even downstream
6344         * gst/elements/gstidentity.c: (gst_identity_class_init),
6345         (gst_identity_init), (gst_identity_event),
6346         (gst_identity_transform_ip), (gst_identity_set_property),
6347         (gst_identity_get_property):
6348         * gst/elements/gstidentity.h:
6349         Added the single-segment boolean property.
6350         If set to TRUE, it will output a single segment of data, starting from
6351         0, will eat up all incoming newsegment, and modify the timestamp of the
6352         buffers accordingly
6353
6354 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6355
6356         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6357           Don't ref NULL target pad (#322751). Improve docs.
6358
6359 2005-11-29  Michael Smith  <msmith@fluendo.com>
6360
6361         * gst/gstregistryxml.c: (load_plugin):
6362           Don't crash if we failed to load a feature from a plugin. 
6363
6364 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6367         (GST_START_TEST):
6368           use more check API and less GLib API
6369
6370 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6371
6372         * Makefile.am:
6373           don't run checks if we don't have check
6374         * common/check.mak:
6375           remove the registry when running make torture
6376         * docs/gst/gstreamer-sections.txt:
6377           remove second multiply
6378         * gst/gstqueue.c: (gst_queue_loop):
6379           fix a compile warning when disabling debug
6380
6381 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6382
6383         * gst/gstinfo.h:
6384         Hey! Let's print the pad name if the pointer != NULL instead
6385         of when it == NULL :-)
6386
6387 2005-11-28  Wim Taymans  <wim@fluendo.com>
6388
6389         * check/gst/gstutils.c: (GST_START_TEST):
6390         Updated check, add some scaling accuracy checking code.
6391
6392         * gst/gstutils.c: (gst_util_div128_64),
6393         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6394         (gst_util_uint64_scale_int):
6395         Fix 6 times faster division code. Optimize for common 
6396         1/1 and less common X/1 cases.
6397
6398 2005-11-28  Wim Taymans  <wim@fluendo.com>
6399
6400         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6401         More checks.
6402
6403         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6404         (do_linear_regression), (gst_clock_add_observation):
6405         Cleanups.
6406         Release lock when the clock cannot be slaved.
6407         Catch the case where the regression returned an invalid denominator.
6408
6409         * gst/gstutils.c: (gst_util_div128_64_iterate),
6410         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6411         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6412         Add protentially more performant non-iterative 128/64 divide function
6413         that unfortunatly does not work yet.
6414         Shortcut the trivial 0/X = 0 case.
6415         Remove the warnings on overflow.
6416
6417 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * gst/gstplugin.c: (gst_plugin_register_func):
6420           everything causing a plugin not to load should be at least a WARNING
6421
6422 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * docs/random/ensonic/dparams.txt:
6425           some TODOs for the next dev cycle
6426         * libs/gst/controller/gstcontroller.c:
6427         (gst_controlled_property_set_interpolation_mode),
6428         (gst_controlled_property_new):
6429         * libs/gst/controller/gstcontroller.h:
6430           use base type to assign acccessor functions
6431
6432 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6433
6434         * check/Makefile.am:
6435         Oops, that should have been top_srcdir
6436
6437 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6438
6439         * check/Makefile.am:
6440         * check/elements/fdsrc.c: (GST_START_TEST):
6441         Use a cmdline define to specify the location of a file to use for
6442         testing, to avoid breaking distcheck.
6443
6444 2005-11-28  Andy Wingo  <wingo@pobox.com>
6445
6446         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6447
6448 2005-11-28  Edward Hervey  <edward@fluendo.com>
6449
6450         * tools/gst-launch.c: (main):
6451         Clarify the output strings, makes it easier to translate.
6452         Fixes #322626
6453
6454 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * gst/Makefile.am:
6457           don't try and build net if we don't even have <sys/socket.h>
6458
6459 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6460
6461         * check/Makefile.am:
6462         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6463         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6464           Add tests for fdsrc seekability
6465
6466         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6467         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6468         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6469         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6470         * gst/elements/gstfdsrc.h:
6471           fdsrc should not be a 'live' source.
6472           Implement seeking on seekable fd's.
6473
6474         * gst/gstquery.c: (gst_query_new_seeking),
6475         (gst_query_parse_seeking):
6476         * gst/gstquery.h:
6477           Implement SEEKING query functions: 
6478             *_new_seeking and *_parse_seeking
6479
6480 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6481
6482         * gst/gstelement.c: (gst_element_dispose):
6483           don't loop forever
6484
6485         * gst/gstiterator.c:
6486         * gst/gststructure.c:
6487           doc fixes
6488
6489         * libs/gst/controller/gstcontroller.c:
6490         (gst_controlled_property_set_interpolation_mode):
6491         * libs/gst/controller/gstcontroller.h:
6492         * libs/gst/controller/gstinterpolation.c:
6493         (interpolate_none_get_enum_value_array):
6494           support controlling enums
6495
6496 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6497
6498         * gst/gstvalue.c:
6499           Improve documentation for gst_value_union().
6500
6501         * gst/gstvalue.h:
6502           Change return value for union, intersect and subtract functions
6503           from gint to gboolean.
6504
6505 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6506
6507         * gst/gstvalue.c: (gst_value_serialize_any_list),
6508         (gst_value_transform_any_list_string),
6509         (gst_value_deserialize_list), (gst_value_deserialize_array),
6510         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6511         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6512         (gst_value_set_fraction_range_full),
6513         (gst_value_deserialize_fraction_range),
6514         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6515         (gst_value_deserialize_boolean),
6516         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6517         (gst_value_serialize_float), (gst_value_deserialize_float),
6518         (gst_string_wrap), (gst_value_deserialize_string),
6519         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6520         (gst_value_union_int_range_int_range),
6521         (gst_value_intersect_int_range_int_range),
6522         (gst_value_intersect_double_range_double_range),
6523         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6524         (gst_value_subtract_int_range_int_range),
6525         (gst_value_subtract_double_double_range),
6526         (gst_value_subtract_double_range_double_range),
6527         (gst_value_deserialize_fraction):
6528         * gst/gstvalue.h:
6529           Use gint, gdouble and gchar in our API instead of int, double and
6530           char (and make usage in gstvalue.c more consistent).
6531
6532 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * check/Makefile.am:
6535         * libs/gst/controller/Makefile.am:
6536         * libs/gst/dataprotocol/Makefile.am:
6537           fix up Makefile.am and remove GST_ENABLE_NEW
6538
6539 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * configure.ac:
6542         * gst/Makefile.am:
6543         * gst/base/Makefile.am:
6544         * gst/check/Makefile.am:
6545         * gst/elements/Makefile.am:
6546         * gst/net/Makefile.am:
6547           update LDFLAGS use some more
6548
6549 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6550
6551         * common/m4/gst-doc.m4:
6552           Fixes #312589
6553
6554 2005-11-26  Edward Hervey  <edward@fluendo.com>
6555
6556         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6557         This shouldn't issue a g_warning since it returns NULL if it
6558         couldn't find the plugin, and all functions using this behave
6559         properly on a NULL return. Switching to a GST_WARNING.
6560
6561 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6562
6563         * gst/gstbin.c: (gst_bin_handle_message_func):
6564         Don't leak clock messages.
6565
6566 2005-11-25  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6569         (gst_util_uint64_scale_int):
6570         Optimisations, remove unneeded vars.
6571
6572 2005-11-25  Wim Taymans  <wim@fluendo.com>
6573
6574         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6575         Added more checks for the high precision uint64 cases.
6576
6577         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6578         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6579         Implement high precision (guint64 * guint64) / guint64.
6580
6581 2005-11-24  Wim Taymans  <wim@fluendo.com>
6582
6583         * gst/base/gstbasesrc.c: (gst_base_src_query):
6584         Fix wrong percentage query.
6585
6586         * gst/gstutils.c: (gst_util_uint64_scale),
6587         (gst_util_uint64_scale_int):
6588         Add some more common cases that can be handled 
6589         efficiently to _scale.
6590
6591 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6594         (gst_mini_object_suite):
6595           don't use check calls from threads; check probably isn't
6596           threadsafe and using a lock to make it threadsafe would
6597           defeat the purpose of this check
6598         * gst/check/gstcheck.c:
6599         * gst/check/gstcheck.h:
6600           use GST_DEBUG some more
6601
6602 2005-11-24  Wim Taymans  <wim@fluendo.com>
6603
6604         * gst/gstutils.c: (gst_util_uint64_scale),
6605         (gst_util_uint64_scale_int):
6606         Chain trivial case to _scale_int.
6607
6608 2005-11-24  Wim Taymans  <wim@fluendo.com>
6609
6610         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6611         Added test for scaling.
6612
6613         * gst/gstclock.h:
6614         Small doc fix.
6615
6616         * gst/gstutils.c: (gst_util_uint64_scale_int):
6617         Implemented high precision scaling code.
6618
6619 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6620
6621         * gst/gstinfo.h:
6622           do not crash on pad==NULL
6623
6624 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         Patch by: Stefan Kost
6627
6628         * common/gtk-doc.mak:
6629         * docs/gst/Makefile.am:
6630         * docs/libs/Makefile.am:
6631           Fix distcheck issues for the libraries docs build
6632           Closes #319599.
6633
6634 2005-11-24  Michael Smith <msmith@fluendo.com>
6635
6636         * docs/manual/basics-helloworld.xml:
6637           Fix bug #315027: memory leak in example code in docs.
6638
6639 2005-11-24  Michael Smith <msmith@fluendo.com>
6640
6641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6642           Unlock the PREROLL_LOCK in a failure case.
6643
6644 2005-11-24  Wim Taymans  <wim@fluendo.com>
6645
6646         * docs/gst/gstreamer-sections.txt:
6647         * gst/base/gstadapter.h:
6648         * gst/base/gstbasesink.h:
6649         * gst/base/gstbasesrc.h:
6650         * gst/base/gstbasetransform.h:
6651         * gst/base/gstpushsrc.h:
6652         * gst/elements/gstfakesink.h:
6653         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6654         * gst/elements/gstfakesrc.h:
6655         * gst/elements/gstfilesink.h:
6656         * gst/elements/gstfilesrc.h:
6657         * gst/gst.c:
6658         * gst/gstbin.c:
6659         * gst/gstbuffer.c: (_gst_buffer_copy):
6660         * gst/gstbus.h:
6661         * gst/gstcaps.c:
6662         * gst/gstchildproxy.c:
6663         * gst/gstclock.c:
6664         * gst/gstelement.c:
6665         * gst/gstelementfactory.c:
6666         * gst/gstelementfactory.h:
6667         * gst/gstevent.c:
6668         * gst/gstghostpad.h:
6669         * gst/gstindex.h:
6670         * gst/gstinterface.h:
6671         * gst/gstminiobject.c:
6672         * gst/gstminiobject.h:
6673         * gst/gstpad.c:
6674         * gst/gstpad.h:
6675         * gst/gstpadtemplate.h:
6676         * gst/gstpipeline.h:
6677         * gst/gstpluginfeature.h:
6678         * gst/gstquery.h:
6679         * gst/gstqueue.h:
6680         * gst/gsttaglist.c:
6681         * gst/gsttaglist.h:
6682         * gst/gsttagsetter.c:
6683         * gst/gsttagsetter.h:
6684         * gst/gsttrace.c:
6685         * gst/gsttrace.h:
6686         * gst/gsttypefind.h:
6687         * gst/gsturi.h:
6688         * gst/gstvalue.c:
6689         * gst/net/gstnetclientclock.c:
6690         * gst/net/gstnetclientclock.h:
6691         * gst/net/gstnettimepacket.c:
6692         * gst/net/gstnettimeprovider.c:
6693         * gst/net/gstnettimeprovider.h:
6694         Doc fixes.
6695
6696 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6697
6698         * configure.ac: back to HEAD
6699
6700 === release 0.9.6 ===
6701
6702 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6703
6704         * configure.ac:
6705           releasing 0.9.6, "Always On Time"
6706
6707 2005-11-23  Wim Taymans  <wim@fluendo.com>
6708
6709         * docs/gst/gstreamer-sections.txt:
6710         * gst/glib-compat.c:
6711         * gst/gsttagsetter.c:
6712         * gst/gstvalue.c:
6713         * gst/net/gstnetclientclock.c:
6714         * gst/net/gstnettimepacket.h:
6715         Doc updates.
6716
6717 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6718
6719         * docs/faq/using.xml:
6720         * docs/libs/tmpl/gstcontrol.sgml:
6721         * docs/manual/advanced-dparams.xml:
6722         * docs/manual/appendix-checklist.xml:
6723         * docs/manual/basics-elements.xml:
6724         * docs/pwg/other-source.xml:
6725         * docs/random/moving-plugins:
6726         * gst/gstpad.c:
6727         * tools/gst-launch.1.in:
6728           remove mentions of sinesrc
6729
6730 2005-11-23  Michael Smith <msmith@fluendo.com>
6731
6732         * docs/gst/gstreamer-sections.txt:
6733           Update for new API and API changes.
6734         * gst/gstobject.h:
6735           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6736         * gst/gstvalue.c:
6737           Documentation typo fix.
6738         * gst/net/gstnettimepacket.c:
6739           Documentation fixes for arguments.
6740
6741 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6742
6743         * gst/gststructure.c: (gst_structure_get_fraction),
6744         (gst_structure_parse_value),
6745         (gst_structure_fixate_field_nearest_fraction):
6746         * gst/gststructure.h:
6747         * gst/gstutils.c: (gst_util_uint64_scale_int):
6748         * gst/gstutils.h:
6749         * scripts/update-funcnames:
6750         API Changes. 
6751         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6752         Make gst_structure_fixate_field_nearest_fraction take a numerator
6753         and denominator argument instead of a GValue
6754         add gst_structure_get_fraction helper function.
6755
6756 2005-11-23  Wim Taymans  <wim@fluendo.com>
6757
6758         * docs/design/part-TODO.txt:
6759         Update TODO.
6760
6761         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6762         * gst/net/gstnetclientclock.h:
6763         Use parent fields for timeout and window_size.
6764
6765 2005-11-23  Andy Wingo  <wingo@pobox.com>
6766
6767         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6768         rate_num/rate_denom change.
6769
6770         * gst/net/gstnetclientclock.c
6771         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6772         OBJECT_LOCK. Don't call add_observation with the lock.
6773
6774         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6775         fraction.
6776         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6777         rate fraction.
6778         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6779         deal with rate as a fraction whose numerator and denominator are
6780         GstClockTime values.
6781         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6782         master; the other fields are protected by the SLAVE_LOCK.
6783         (do_linear_regression): Note that this must be called with the
6784         SLAVE_LOCK.
6785         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6786         OBJECT_LOCK. Call set_calibration instead of touching the
6787         variables directly.
6788         (gst_clock_set_property, gst_clock_get_property): Protect
6789         master/slave parameters with the SLAVE_LOCK.
6790
6791         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6792         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6793         note that all of the instance variables that add_observation and
6794         the set_master functions use are protected by that lock and not
6795         the OBJECT_LOCK.
6796         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6797
6798         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6799         the caller to take the object lock.
6800
6801 2005-11-23  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/gsterror.c: (_gst_core_errors_init):
6804         * gst/gsterror.h:
6805         Add error for clock stuff.
6806
6807         * gst/gstpipeline.c: (gst_pipeline_change_state),
6808         (gst_pipeline_set_clock):
6809         Post clock error when clock cannot be used in a pipeline.
6810
6811 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * docs/gst/gstreamer-sections.txt:
6814           make two symbols from gstinfo private for the docs
6815         * gst/base/gstcollectpads.h:
6816         * gst/gstutils.c:
6817           fix doc typos, update docs
6818
6819 2005-11-22  Wim Taymans  <wim@fluendo.com>
6820
6821         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6822         (gst_base_sink_wait), (gst_base_sink_do_sync),
6823         (gst_base_sink_handle_event):
6824         * gst/base/gstbasesink.h:
6825         No need to store the clock, the parent element class already
6826         has it.
6827
6828         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6829         Updates for clock_set returning a gboolean
6830
6831         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6832         (gst_clock_id_wait_async), (gst_clock_class_init),
6833         (gst_clock_init), (gst_clock_finalize),
6834         (gst_clock_get_internal_time), (gst_clock_get_time),
6835         (gst_clock_slave_callback), (gst_clock_set_master),
6836         (gst_clock_get_master), (do_linear_regression),
6837         (gst_clock_add_observation), (gst_clock_set_property),
6838         (gst_clock_get_property):
6839         * gst/gstclock.h:
6840         Implement master/slave. When setting a clock as a slave, a
6841         periodic timeout is scheduled to sample master and slave times.
6842         Then the slave clock is recalibrated to match offset and rate
6843         of the master clock.
6844         Update logging a bit.
6845         Add flag so that a clock can state that is cannot be slaved to
6846         another clock.
6847
6848         * gst/gstelement.c: (gst_element_set_clock):
6849         * gst/gstelement.h:
6850         The set clock returns a gboolean for when an element cannot
6851         deal with the selected clock in the pipeline. 
6852
6853         * gst/gstpipeline.c: (gst_pipeline_change_state),
6854         (gst_pipeline_set_clock):
6855         * gst/gstpipeline.h:
6856         Handle the case where the selected clock cannot be set on
6857         the pipeline.
6858
6859         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6860         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6861         (gst_net_client_clock_set_property),
6862         (gst_net_client_clock_get_property),
6863         (gst_net_client_clock_observe_times):
6864         * gst/net/gstnetclientclock.h:
6865         Use regression code in GstClock parent, remove duplicated
6866         functionality.
6867
6868 2005-11-22  Michael Smith <msmith@fluendo.com>
6869
6870         * gst/gstutils.c: (gst_util_clock_time_scale):
6871         * gst/gstutils.h:
6872         * docs/gst/gstreamer-sections.txt:
6873           Rename method to have extra underscore.
6874
6875 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * gst/elements/Makefile.am:
6878         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6879         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6880         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6881         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6882         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6883         * gst/elements/gstfakesrc.h:
6884         * gst/gstqueue.c: (queue_leaky_get_type):
6885           correctly fix GEnumValues so that nick is the short lowercase
6886           dashed tag
6887         * tools/gst-inspect.c: (print_element_properties_info):
6888           also show the nick, since it's useful to use from parse_launch
6889           syntax
6890           Fixes #322139
6891
6892 2005-11-22  Michael Smith <msmith@fluendo.com>
6893
6894         * gst/gstutils.c: (gst_util_clocktime_scale):
6895         * gst/gstutils.h:
6896         * docs/gst/gstreamer-sections.txt:
6897           Add util method for scaling a clocktime by a fraction. Useful 
6898           implementation is left as an exercise for the reader.
6899
6900 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6901
6902         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6903         If needed, allocate storage in the destination value during
6904         collection.
6905
6906 2005-11-22  Edward Hervey  <edward@fluendo.com>
6907
6908         * docs/gst/gstreamer-sections.txt:
6909         * gst/Makefile.am:
6910         * gst/gst.h:
6911         * gst/gsturitype.c:
6912         * gst/gsturitype.h:
6913         * gst/gstutils.c: (gst_util_set_object_arg):
6914         * tools/gst-compprep.c: (main):
6915         * tools/gst-inspect.c: (print_element_properties_info):
6916         Removed GstURI, closes bug #321061
6917
6918 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6919
6920         * check/gst/gststructure.c: (GST_START_TEST):
6921         * gst/gststructure.c: (gst_structure_parse_value):
6922           Oops, broke automatic string type parsing.
6923           Add a test to catch it in future.
6924
6925 2005-11-22  Andy Wingo  <wingo@pobox.com>
6926
6927         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6928         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6929         Actually rename the function implementations. Grr.
6930
6931 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6932
6933         * check/gst/capslist.h:
6934           Comment test cases
6935         * check/gst/gststructure.c: (GST_START_TEST),
6936         (gst_structure_suite):
6937           Test automatic value type detection in gst_structure_from_string.
6938         * gst/gststructure.c: (gst_structure_parse_value):
6939           Add fraction as a type we try and guess automatically in
6940           caps/structure strings.
6941
6942 2005-11-22  Andy Wingo  <wingo@pobox.com>
6943
6944         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6945
6946         * gst/gsttagsetter.h:
6947         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6948         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6949         (gst_tag_setter_add_tag_valist)
6950         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6951         _add_values, _add_valist, and _add_valist_values. Since this is an
6952         interface the function suffixes should be more explicit so
6953         language binding don't end up with element.add_valist ->
6954         gst_tag_setter_add_valist, for example. Fixes #322069.
6955
6956 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6957
6958         * check/gst/gstcaps.c: (GST_START_TEST):
6959           Extend caps string tests to check that a caps to string
6960           conversion is reversible and produces the same caps.
6961
6962         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6963           Output "fraction" as the generic type fraction range, so caps
6964           serialisation and deserialisation works.
6965         * check/gst/capslist.h:
6966         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6967           Support 'MIN' and 'MAX' for deserialising fractions.
6968
6969 2005-11-22  Andy Wingo  <wingo@pobox.com>
6970
6971         * gst/gstevent.h (gst_event_new_new_segment)
6972         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6973         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6974         Renamed from *_newsegment, *_buffersize, *_notarget.
6975
6976         * scripts/update-funcnames: New script, performs the changes
6977         listed above.
6978
6979 2005-11-22  Wim Taymans  <wim@fluendo.com>
6980
6981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6982         Make sure the GstFlowReturn is returned.
6983
6984         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6985         (gst_bus_add_signal_watch):
6986         * gst/gstbus.h:
6987         add gst_bus_add_signal_watch_full.
6988
6989         * gst/gstplugin.c: (gst_plugin_load_file):
6990         Small style cleanup.
6991
6992 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6993
6994         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6995           Block the fakesrc srcpad when we send an event, to avoid
6996           contention on the stream_lock causing random test failures.
6997
6998 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6999
7000         * check/gst/gstvalue.c: (GST_START_TEST):
7001         * gst/gstvalue.c: (gst_value_fraction_subtract):
7002           Fix subtraction.
7003
7004 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7005
7006         * gst/gst.h:
7007           include "gstchildproxy.h"
7008         * gst/gstchildproxy.h:
7009         * libs/gst/controller/gstcontroller.h:
7010           use G_GNUC_NULL_TERMINATED
7011
7012 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7013
7014         * check/gst/capslist.h:
7015         * check/gst/gstcaps.c: (GST_START_TEST):
7016         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7017         * gst/gststructure.c: (gst_structure_parse_range),
7018         (gst_structure_fixate_field_nearest_fraction):
7019         * gst/gststructure.h:
7020         * gst/gstvalue.c: (gst_value_init_fraction_range),
7021         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7022         (gst_value_collect_fraction_range),
7023         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7024         (gst_value_set_fraction_range_full),
7025         (gst_value_get_fraction_range_min),
7026         (gst_value_get_fraction_range_max),
7027         (gst_value_serialize_fraction_range),
7028         (gst_value_transform_fraction_range_string),
7029         (gst_value_compare_fraction_range),
7030         (gst_value_deserialize_fraction_range),
7031         (gst_value_intersect_fraction_fraction_range),
7032         (gst_value_intersect_fraction_range_fraction_range),
7033         (gst_value_subtract_fraction_fraction_range),
7034         (gst_value_subtract_fraction_range_fraction),
7035         (gst_value_subtract_fraction_range_fraction_range),
7036         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7037         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7038         (gst_value_transform_string_fraction), (_gst_value_initialize):
7039         * gst/gstvalue.h:
7040           Implement fraction ranges and extend GstFraction to support
7041           arithmetic subtraction, as well as deserialization from integer
7042           strings such as "100"
7043           Add a testsuite as for int and double range set operations
7044
7045 2005-11-21  Andy Wingo  <wingo@pobox.com>
7046
7047         * gst/gsttaglist.h: 
7048         * gst/gstcaps.h: 
7049         * gst/gststructure.h: Add glib-compat.h.
7050
7051 2005-11-21  Wim Taymans  <wim@fluendo.com>
7052
7053         * gst/gstbin.c: (gst_bin_change_state_func):
7054         Fix for #321595
7055
7056 2005-11-21  Wim Taymans  <wim@fluendo.com>
7057
7058         * gst/gstsegment.h:
7059         And add a nice define too.
7060
7061 2005-11-21  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7064         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7065         (gst_segment_set_duration), (gst_segment_set_last_stop),
7066         (gst_segment_set_seek), (gst_segment_set_newsegment),
7067         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7068         (gst_segment_clip):
7069         * gst/gstsegment.h:
7070         Make binding friendly.
7071
7072 2005-11-21  Andy Wingo  <wingo@pobox.com>
7073
7074         * gst/gsttagsetter.h: 
7075         * gst/gsttaglist.h: 
7076         * gst/gststructure.h: 
7077         * gst/gstcaps.h: 
7078         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7079         #319940.
7080
7081         * gst/gsterror.c (_gst_core_errors_init):
7082         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7083         category.
7084
7085         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7086         (noinst_HEADERS): noinst the -private.
7087
7088 2005-11-21  Michael Smith <msmith@fluendo.com>
7089
7090         * gst/gstplugin.h:
7091         * gst/gstregistry.h:
7092           Remove unimplemented declarations for which we can see no sensible
7093           use.
7094
7095 2005-11-21  Andy Wingo  <wingo@pobox.com>
7096
7097         * gst/gst.h: Include glib-compat.h.
7098
7099         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7100
7101         * gst/glib-compat.c: Include the public and the private header.
7102
7103         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7104
7105         * gst/gstvalue.c: 
7106         * gst/gstpad.c: 
7107         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7108
7109         * check/gst/gstevent.c (create_custom_events): Check that
7110         FLUSH_STOP is serialized.
7111
7112         * check/elements/identity.c (event_func): 
7113         * check/elements/fakesrc.c (event_func): No stream lock, the core
7114         takes it.
7115
7116         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7117         stream lock taking, yay.
7118
7119         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7120         ensure that core takes the stream lock.
7121
7122         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7123         lock name change.
7124
7125         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7126         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7127         it already. For the flush start we do take it though so we get the
7128         right preroll state change messages.
7129
7130         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7131         the stream lock here, the core does it for us.
7132
7133         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7134         GST_STREAM_GET_LOCK.
7135         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7136         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7137         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7138         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7139         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7140         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7141
7142         * gst/gstpad.c: Update for stream lock name change.
7143
7144         * gst/base/gstbasesink.c: Update for preroll lock name change.
7145
7146 2005-11-21  Wim Taymans  <wim@fluendo.com>
7147
7148         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7149         (gst_clock_get_master):
7150         * gst/gstclock.h:
7151         * gst/gstsystemclock.c: (gst_system_clock_init):
7152         Convert Clock flags to object flags.
7153         Added methods to manage master/slave clocks.
7154
7155 2005-11-21  Wim Taymans  <wim@fluendo.com>
7156
7157         * check/gst/gstsegment.c: (GST_START_TEST):
7158         * docs/design/part-TODO.txt:
7159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7160         (gst_base_sink_event), (gst_base_sink_do_sync),
7161         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7162         (gst_base_sink_query), (gst_base_sink_change_state):
7163         * gst/base/gstbasesink.h:
7164         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7165         (gst_base_src_default_newsegment),
7166         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7167         (gst_base_src_get_range), (gst_base_src_loop),
7168         (gst_base_src_change_state):
7169         * gst/base/gstbasesrc.h:
7170         * gst/base/gstbasetransform.c:
7171         (gst_base_transform_prepare_output_buf),
7172         (gst_base_transform_event), (gst_base_transform_change_state):
7173         * gst/base/gstbasetransform.h:
7174         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7175         (gst_collect_pads_event):
7176         * gst/base/gstcollectpads.h:
7177         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7178         (gst_fake_src_create):
7179         * gst/elements/gstfakesrc.h:
7180         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7181         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7182         (gst_segment_set_last_stop), (gst_segment_set_seek),
7183         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7184         (gst_segment_to_running_time), (gst_segment_clip):
7185         * gst/gstsegment.h:
7186         More segment updates, replace code in plugins with segment
7187         helper functions.
7188
7189 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7190
7191         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7192         Don't ignore sscanf results
7193
7194 2005-11-21  Andy Wingo  <wingo@pobox.com>
7195
7196         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7197
7198         * *.h:
7199         * *.c: Ran scripts/update-macros. Oh yes.
7200
7201         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7202         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7203         GST_GET_LOCK, etc.
7204
7205         * scripts/update-macros: New script. Run it on your files to
7206         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7207         well.
7208
7209 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7210
7211         * docs/gst/Makefile.am:
7212         * docs/gst/gstreamer-docs.sgml:
7213         * docs/gst/gstreamer-sections.txt:
7214         * docs/gst/gstreamer.types:
7215         * gst/gstinfo.h:
7216           more docs fixes, add new api to the docs
7217
7218 2005-11-21  Andy Wingo  <wingo@pobox.com>
7219
7220         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7221         state_broadcast call.
7222
7223         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7224
7225 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7226
7227         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7228         function calls for arrays.
7229
7230 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * docs/random/ensonic/media-device-daemon.txt:
7233           wild idea, can this be done?
7234         * docs/gst/gstreamer-sections.txt:
7235         * gst/gsterror.h:
7236         * gst/gstfilter.c:
7237         * gst/gstfilter.h:
7238         * gst/gstplugin.h:
7239         * gst/gstpluginfeature.c:
7240         * gst/gsttrace.c:
7241         * gst/gstvalue.c:
7242         * gst/gstvalue.h:
7243           doc fixes and additions
7244
7245 2005-11-21  Andy Wingo  <wingo@pobox.com>
7246
7247         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7248         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7249         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7250         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7251         private to the basesrc implementation.
7252
7253         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7254         behalf of event function if necessary. It should no longer be
7255         necessary to take the stream lock in pad's event functions. Fixes
7256         #320299.
7257
7258 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7259         * docs/gst/gstreamer-sections.txt:
7260         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7261         (gst_structure_fixate_field_nearest_double),
7262         (gst_structure_fixate_field_boolean):
7263         * gst/gststructure.h:
7264         * win32/common/libgstreamer.def:
7265         * win32/gstreamer.def:
7266
7267         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7268         (#322027)
7269
7270 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7271
7272         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7273         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7274         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7275         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7276         (gst_fdsrc_uri_handler_init):
7277         * gst/elements/gstfdsrc.h:
7278           Port fd:// URI handler from 0.8 to fdsrc
7279
7280 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7281
7282         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7283         (gst_value_serialize_fourcc):
7284         * gst/gstvalue.h:
7285           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7286           consistent with our other format defines (#320324).
7287
7288 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * gst/gstvalue.c: (gst_value_is_fixed):
7291           Revert previous commit. Value lists are by definition
7292           not fixed, as they are a list of possible values.
7293
7294 2005-11-21  Andy Wingo  <wingo@pobox.com>
7295
7296         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7297         during the stable series if we need it. Fixes #319178.
7298
7299         * gst/gstevent.c (gst_event_new_filler): Removed.
7300
7301         * check/gst/gstevent.c: Update comment about filler events.
7302
7303 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7304
7305         * gst/gstvalue.c: (gst_value_is_fixed):
7306           Should handle both value arrays and value lists.
7307
7308 2005-11-21  Andy Wingo  <wingo@pobox.com>
7309
7310         patch by: Alessandro Dessina <alessandro nnva org>
7311
7312         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7313         functions to access arrays. Fixes #321962.
7314
7315 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7316
7317         * docs/gst/gstreamer.types:
7318           gst_collectpads_get_type => gst_collect_pads_get_type.
7319           
7320         * gst/base/gstbasetransform.c:
7321           Remove unused SIGNAL_HANDOFF enum.
7322
7323 2005-11-21  Andy Wingo  <wingo@pobox.com>
7324
7325         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7326         the event type (upstream, downstream, serialized). Renamed
7327         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7328         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7329         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7330
7331         * gst/gstevent.c: Update for new CUSTOM event names.
7332
7333         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7334
7335         * gst/gstevent.h:
7336         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7337         bug #319392.
7338
7339 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * docs/gst/gstreamer-sections.txt:
7342         * win32/common/libgstbase.def:
7343         * win32/libgstbase.def:
7344         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7345         (gst_collect_pads_class_init), (gst_collect_pads_init),
7346         (gst_collect_pads_finalize), (gst_collect_pads_new),
7347         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7348         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7349         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7350         (gst_collect_pads_start), (gst_collect_pads_stop),
7351         (gst_collect_pads_peek), (gst_collect_pads_pop),
7352         (gst_collect_pads_available), (gst_collect_pads_read),
7353         (gst_collect_pads_flush), (gst_collect_pads_event),
7354         (gst_collect_pads_chain):
7355         * gst/base/gstcollectpads.h:
7356           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7357           unimplemented functions as unimplemented. Add padding to
7358           GstCollectData. (#320766, #320423)
7359
7360 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7361
7362         * gst/gstmessage.c:
7363           Improve docs for DURATION message (usage of duration parameter)
7364           (#320113)
7365
7366 2005-11-20  Wim Taymans  <wim@fluendo.com>
7367
7368         * check/Makefile.am:
7369         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7370         (main):
7371         * gst/Makefile.am:
7372         * gst/gst.h:
7373         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7374         (gst_segment_set_seek), (gst_segment_set_newsegment),
7375         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7376         (gst_segment_clip):
7377         * gst/gstsegment.h:
7378         Added segment helper structure and methods. Not fully implemented
7379         yet.
7380         Added segment check.
7381
7382 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7383
7384         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7385           Add a deserialisation test for fractions
7386         * examples/metadata/read-metadata.c: (message_loop),
7387         (make_pipeline), (main):
7388           Fix up metadata reading sample.
7389         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7390           Debug format fix
7391         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7392           Don't try and fixate empty caps
7393         * gst/gst_private.h:
7394           Wrap in G_BEGIN_DECLS/G_END_DECLS
7395         * gst/gstvalue.c: (gst_value_collect_fraction),
7396         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7397         (gst_value_transform_string_fraction),
7398         (gst_value_compare_fraction):
7399           Add some extra guards to ensure that we don't end up 
7400           with an invalid denominator of 0 in a gstfraction and
7401           that fractions always get reduced.
7402
7403 2005-11-20  Wim Taymans  <wim@fluendo.com>
7404
7405         * docs/gst/gstreamer-sections.txt:
7406         * gst/gstbuffer.h:
7407         * gst/gstelement.c:
7408         * gst/gstformat.c:
7409         * gst/gstformat.h:
7410         * gst/gstindex.h:
7411         * gst/gstquery.c:
7412         * gst/gstquery.h:
7413         * gst/gstvalue.c:
7414         Doc fixes.
7415
7416 2005-11-20  Wim Taymans  <wim@fluendo.com>
7417
7418         * docs/design/part-TODO.txt:
7419         * gst/gstcaps.h:
7420         Make a proper enum of the flag.
7421
7422 2005-11-19  Wim Taymans  <wim@fluendo.com>
7423
7424         * docs/design/part-TODO.txt:
7425         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7426         (gst_format_to_quark), (gst_format_register):
7427         * gst/gstformat.h:
7428         * gst/gstquery.c: (_gst_query_initialize),
7429         (gst_query_type_get_name), (gst_query_type_to_quark),
7430         (gst_query_type_register):
7431         * gst/gstquery.h:
7432         Add type to quark and type to string conversions.
7433
7434 2005-11-19  Andy Wingo  <wingo@pobox.com>
7435
7436         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7437         #320097.
7438
7439 2005-11-19  Wim Taymans  <wim@fluendo.com>
7440
7441         * docs/design/part-TODO.txt:
7442         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7443         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7444         (gst_bin_handle_message_func):
7445         * gst/gstbin.h:
7446         Make message handling overridable.
7447
7448 2005-11-19  Andy Wingo  <wingo@pobox.com>
7449
7450         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7451
7452         * gst/gstclock.h:
7453         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7454         be a GstClockTime.
7455         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7456         is a GstClockTime. Fixes #321710.
7457
7458         * gst/gstclock.h (GstClock): Remove offset property. Add
7459         internal_calibration and external_calibration. Fix padding. Pad
7460         also by GstClockTime so we don't run into problems.
7461
7462         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7463         (gst_clock_get_rate_offset): Remove.
7464         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7465
7466         * gst/gstutils.h:
7467         * gst/gstutils.c (g_static_rec_cond_wait)
7468         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7469
7470         * gst/gstbin.c: Remove terrible continue_state prototype.
7471
7472         * gst/gstelement.h (gst_element_continue_state): Make public.
7473
7474         * gst/gstelement.h:
7475         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7476         by continue_state. Fixes #319389.
7477
7478         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7479         Really fixes #168438. However I don't see anywhere where the
7480         filter function is called... stupid GStreamer...
7481         
7482         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7483         don't have a dispose function, so it won't get called when the
7484         object is unreffed, but oh well!
7485
7486         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7487         allows a destroy function to be set so user_data can be freed.
7488         Fixes #168438.
7489         (gst_index_set_filter): Call gst_index_set_filter_full.
7490
7491         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7492
7493         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7494         string should produce an error, given the lack of a way to
7495         represent NULL strings. Fixes #165650.
7496         
7497         * gst/gstvalue.h: 
7498         * gst/gstvalue.c (gst_value_array_append_value) 
7499         (gst_value_array_prepend_value, gst_value_array_get_size) 
7500         (gst_value_array_get_value): New API, copied from
7501         gst_value_list_*, only operates on arrays.
7502         (gst_value_list_append_value, gst_value_list_prepend_value) 
7503         (gst_value_list_concat, gst_value_list_get_size) 
7504         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7505
7506         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7507         init_list, because it works on both.
7508         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7509         (gst_value_copy_list_or_array): Renamed from copy_list.
7510         (gst_value_free_list_or_array): Renamed from free_list.
7511         (gst_value_collect_list_or_array): Renamed from collect_list.
7512         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7513         (gst_value_list_or_array_peek_pointer): Renamed from
7514         list_peek_pointer.
7515         (_gst_value_array_value_table, _gst_value_list_value_table):
7516         Update value table functions.
7517         (gst_value_compare_list_or_array): Renamed from compare_list.
7518
7519         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7520         some constness.
7521
7522         * gst/gsttaglist.c:
7523         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7524         GstTagList*. Fixes #143472.
7525
7526         * gst/gststructure.h: Clarify what the foreach/map functions can
7527         or can't do to their arguments.
7528
7529 2005-11-18  Wim Taymans  <wim@fluendo.com>
7530
7531         * gst/gstclock.c: (gst_clock_set_calibration),
7532         (gst_clock_get_calibration):
7533         Doc and API fixes.
7534         Calibration can be set with internal time equal to current
7535         internal time too.
7536
7537 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7538
7539         * gst/gsterror.c:
7540         * gst/gsterror.h:
7541           document
7542
7543 2005-11-18  Andy Wingo  <wingo@pobox.com>
7544
7545         * configure.ac: 
7546         * pkgconfig/gstreamer-net.pc.in:
7547         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7548         * pkgconfig/Makefile.am: Add net pkgconfig files.
7549
7550 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * gst/gstcaps.c:
7553         * gst/gstghostpad.c:
7554         * gst/gsttrace.c:
7555         * gst/gstvalue.c:
7556         * gst/gstvalue.h:
7557           docs fixes
7558
7559 2005-11-18  Andy Wingo  <wingo@pobox.com>
7560
7561         * gst/net/gstnetclientclock.c: Turn off debugging.
7562
7563         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7564         times connverge somewhat. Can't make a real test.
7565
7566         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7567         integer arithmetic. Return the minimum of the domain, which can be
7568         set as "internal" for gst_clock_set_calibration.
7569         (gst_net_client_clock_observe_times): Call _set_calibration.
7570         (gst_net_client_clock_new): Call _set_calibration instead of
7571         rate_offset.
7572
7573         * check/net/gstnetclientclock.c (test_functioning): Use the right
7574         adjustment api.
7575
7576         * gst/gstclock.h:
7577         * gst/gstclock.c (gst_clock_get_calibration) 
7578         (gst_clock_set_calibration): New functions, obsolete the ones I
7579         added yesterday. Doh. Precision issues mean we have to extrapolate
7580         from a point in the more recent past than 1970.
7581         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7582         obsolete.
7583         (gst_clock_adjust_unlocked): Use the right calibration data.
7584
7585 2005-11-18  Edward Hervey  <edward@fluendo.com>
7586
7587         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7588         Also reset the ->current_* values in READY->PAUSED
7589
7590 2005-11-18  Andy Wingo  <wingo@pobox.com>
7591
7592         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7593         Whoops, check the right fd. Also add some debugging.
7594         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7595         (do_linear_regression): Add a crapload of debugging. Subtract off
7596         the minimum values from the input series to discard unneeded bits.
7597         Use only int arithmetic. There is still double arithmetic when
7598         calculating the intercept that needs fixing. Return boolean to
7599         indicate success; FALSE would mean the domain or range is too
7600         great. Still needs fixes.
7601
7602 2005-11-18  Wim Taymans  <wim@fluendo.com>
7603
7604         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7605         For the current position in stream time, we need to subtract
7606         accumulated time.
7607         
7608         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7609         Release lock before calling the callback function of async
7610         entries.
7611
7612 2005-11-18  Andy Wingo  <wingo@pobox.com>
7613
7614         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7615         Port goes all the way to MAXUINT16.
7616
7617         * gst/net/gstnettimeprovider.c: Make the port range the same as
7618         for the kernel: 0 assigns, otherwise ports are less than
7619         MAXUINT16.
7620
7621         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7622         port change.
7623
7624         * check/net/gstnetclientclock.c (test_functioning): Add the start
7625         of another test. 
7626
7627 2005-11-18  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7630         (gst_bin_remove_func), (bin_bus_handler):
7631         * gst/gstbin.h:
7632         Removing a clock provider from a bin, triggers a clock lost message
7633         so that a new clock will be selected.
7634         Adding a clock to a bin triggers a clock provider message.
7635         Make sure we reselect a clock when we received a clock lost message.
7636         Keep a reference to the element that provided the clock.
7637
7638 2005-11-18  Andy Wingo  <wingo@pobox.com>
7639
7640         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7641         the clock initially so it produces values around the base time.
7642         (gst_net_client_clock_class_init): Typo fix.
7643         (gst_net_client_clock_thread): Add note on when the socket gets
7644         closed.
7645
7646 2005-11-17  Wim Taymans  <wim@fluendo.com>
7647
7648         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7649         Free remote and local time arrays.
7650
7651 2005-11-17  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/net/gstnetclientclock.c: (do_linear_regression),
7654         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7655         Fix compilation, uninitialized vars and a forgotten continue.
7656
7657 2005-11-17  Andy Wingo  <wingo@pobox.com>
7658
7659         * check/Makefile.am (check_PROGRAMS): 
7660         * check/net/gstnetclientclock.c: Add a most minimal test for the
7661         net client clock. More to come later.
7662
7663         * gst/net/gstnet.h: 
7664         * gst/net/Makefile.am: Add netclientclock.
7665
7666         * gst/net/gstnetclientclock.h:
7667         * gst/net/gstnetclientclock.c: New files, implement an untested
7668         GstClock that takes its time from a network time provider.
7669         Implements the algorithm in network-clock.scm.
7670
7671         * tests/network-clock.scm (*window-size*): Rename from
7672         *queue-length*.
7673         * tests/network-clock.scm (network-time): 
7674         * tests/network-clock-utils.scm (q-push): Update callers.
7675
7676 2005-11-17  Wim Taymans  <wim@fluendo.com>
7677
7678         * gst/gstbin.c: (gst_bin_provide_clock_func),
7679         (gst_bin_sort_iterator_new):
7680         And unref the child too..
7681
7682 2005-11-17  Wim Taymans  <wim@fluendo.com>
7683
7684         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7685         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7686         Refactor the sort iterator so it can be used while holding the
7687         LOCK too.
7688         Make clock selection select a clock closest to the source.
7689
7690 2005-11-17  Michael Smith <msmith@fluendo.com>
7691
7692         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7693         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7694         * gst/gstclock.h:
7695           Anonymous structs are a gcc (and some other compilers) extension, so
7696           don't use them. Since this is only for ABI-compatibility, and our
7697           API/ABI freeze is over in a few days, this whole thing will only
7698           last a few days, so don't bother trying to think up a meaningful
7699           name for the struct.
7700
7701 2005-11-17  Andy Wingo  <wingo@pobox.com>
7702
7703         * gst/gstclock.h (GstClock): Add rate and offset properties,
7704         preserving ABI stability. Add rate/offset accessors. Will file bug
7705         for the freeze break.
7706
7707         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7708         and offset, trying to keep precision and avoiding
7709         underflow/overflow.
7710         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7711         functions. Make gst_clock_set_time_adjust obsolete.
7712         (gst_clock_set_time_adjust): Note that this function is obsolete.
7713         Will file bug soon.
7714
7715         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7716         greppable by using GST_PADDING-1+1.
7717
7718 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7719
7720         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7721
7722         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7723           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7724
7725         * gst/gstpadtemplate.h:
7726         * gst/gstpluginfeature.h:
7727           Don't use c++ style comments in headers (#321638).
7728
7729 2005-11-16  Andy Wingo  <wingo@pobox.com>
7730
7731         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7732         buffer.
7733
7734         * check/net/gstnettimeprovider.c: Check to see that the time
7735         provider actually provides times. Works, yo!
7736
7737 2005-11-16  Wim Taymans  <wim@fluendo.com>
7738
7739         * check/Makefile.am:
7740         Enable more tests.
7741
7742         * check/elements/fakesrc.c: (GST_START_TEST):
7743         Set element to NULL before disposing it.
7744
7745 2005-11-16  Andy Wingo  <wingo@pobox.com>
7746
7747         * gst/net/Makefile.am:
7748         * gst/net/gstnet.h:
7749         * gst/net/gstnettimeprovider.c: 
7750         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7751         provider, include it from gstnet.h, and add it to the build.
7752
7753         * gst/net/gstnettimepacket.h: 
7754         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7755         sending and receiving.
7756
7757 2005-11-16  Wim Taymans  <wim@fluendo.com>
7758
7759         * check/Makefile.am:
7760         Enable valgrind check.
7761
7762         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7763         (gst_fake_src_alloc_buffer):
7764         Fix memleak.
7765
7766 2005-11-16  Wim Taymans  <wim@fluendo.com>
7767
7768         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7769         Call parent finalize too.
7770
7771 2005-11-16  Wim Taymans  <wim@fluendo.com>
7772
7773         * check/Makefile.am:
7774         Enable valgrind check that should work fine now.
7775
7776         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7777         * gst/gstqueue.c: (gst_queue_init):
7778         Fix memleaks in pad allocation.
7779
7780 2005-11-16  Andy Wingo  <wingo@pobox.com>
7781
7782         * gst/net/Makefile.am:
7783         * gst/net/gstnet.h: New part of core to hold network elements and
7784         objects. Put in core because it exposes API that applications want
7785         to use. The library is named libgstnet-tempname right now because
7786         of the existing libgstnet in gst-plugins-base. Solution is
7787         probably to rename the one in plugins-base; will file a bug for
7788         the freeze break.
7789
7790         * gst/net/gstnettimeprovider.c: 
7791         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7792         get_time call over the network.
7793
7794         * configure.ac: 
7795         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7796
7797         * check/Makefile.am:
7798         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7799         get additions shortly.
7800
7801 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7802
7803         * gst/gstpad.c: (gst_pad_new_from_static_template):
7804         * gst/gstpad.h:
7805           add gst_pad_new_from_static_template functions
7806         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7807         (gst_check_setup_sink_pad):
7808         * gst/elements/gsttee.c: (gst_tee_init):
7809           and use them
7810
7811 2005-11-16  Wim Taymans  <wim@fluendo.com>
7812
7813         * gst/gstpad.c: (gst_pad_pause_task):
7814         Removed warning, it's not really an error either.
7815
7816 2005-11-16  Wim Taymans  <wim@fluendo.com>
7817
7818         * gst/base/gstbasetransform.c:
7819         (gst_base_transform_prepare_output_buf),
7820         (gst_base_transform_event):
7821         Check if the caps are NULL, this can happen if the element
7822         is shutting down and the pad caps are set to NULL.
7823
7824 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7825
7826         * gst/elements/gsttee.c: (gst_tee_init):
7827           fix pad template leak in tee
7828
7829 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7830
7831         * gst/glib-compat.c: (g_value_dup_gst_object):
7832         * gst/glib-compat.h:
7833         * gst/gstpad.c: (gst_pad_set_property):
7834           use gst_object_ref when setting the pad template; this will
7835           trigger the pad template leaks on GLib 2.6 and the slaves
7836
7837 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7838
7839         * gst/glib-compat.c: (gst_flags_get_first_value):
7840         * gst/glib-compat.h:
7841         * gst/gstregistryxml.c:
7842           remove functions copied from GLib 2.6
7843
7844 2005-11-16  Michael Smith <msmith@fluendo.com>
7845
7846         * gst/Makefile.am:
7847           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7848           do, but only breaks with newer valgrind versions. We're not a
7849           valgrind tool, we have no link-time dependencies on libcoregrind.
7850
7851 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7852
7853         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7854           some debug changes
7855         * gst/gstmessage.h:
7856           typo fixes
7857
7858 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7859
7860         * gst/base/gstbasesrc.c: (gst_base_src_init):
7861         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7862         * gst/gstqueue.c: (gst_queue_init):
7863         * gst/gstregistryxml.c: (load_feature):
7864           Revert all these unrefs, they don't even pass make check !
7865
7866 2005-11-15  Johan Dahlin  <johan@gnome.org>
7867
7868         * gst/base/gstbasesrc.c: (gst_base_src_init):
7869         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7870         * gst/gstqueue.c: (gst_queue_init): 
7871         Free pad templates, fixes a couple of leaks.
7872
7873 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7874
7875         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7876
7877         * gst/gstpad.c: (gst_pad_get_property):
7878           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7879           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7880           (#321452)
7881
7882 2005-11-15  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/gstevent.c:
7885         Small doc update.
7886
7887 2005-11-15  Andy Wingo  <wingo@pobox.com>
7888
7889         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7890
7891         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7892         using GST_CLOCK_TIME_NONE to disable base time management.
7893         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7894         time if it was NONE before.
7895         (gst_pipeline_change_state): Only munge the base time if
7896         stream_time != GST_CLOCK_TIME_NONE.
7897
7898         * check/gst/gstpipeline.c (test_base_time): Punt around the
7899         problem of the probe not being called, because that's not the
7900         issue I'm looking at. Add a check that setting stream_time to NONE
7901         disables base time management.
7902         
7903 2005-11-15  Wim Taymans  <wim@fluendo.com>
7904
7905         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7906         segment_stop == -1 at startup.
7907
7908         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7909         (gst_base_transform_change_state):
7910         Init segment values at start.
7911
7912 2005-11-15  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7915         0 segment values are 0 in any format.
7916
7917         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7918         * gst/base/gstbasetransform.h:
7919         Parse newsegment correctly in basetransform
7920
7921         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7922         Sync to clock using updated segment values.
7923
7924 2005-11-15  Andy Wingo  <wingo@pobox.com>
7925
7926         * check/gst/gstpipeline.c (test_base_time): Add check that the
7927         base time and stream time are reset correctly.
7928
7929 2005-11-15  Wim Taymans  <wim@fluendo.com>
7930
7931         * docs/design/part-TODO.txt:
7932         Some more TODO items.
7933
7934 2005-11-15  Andy Wingo  <wingo@pobox.com>
7935
7936         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7937         error if the user selected "no clock" as the clocking method.
7938
7939         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7940         timestamps with live capture.
7941
7942         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7943         is 0 but we are a live source, timestamp the buffers using the
7944         element's clock.
7945
7946 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7947
7948         * docs/gst/gstreamer-sections.txt:
7949         * gst/gsterror.c:
7950         * gst/gstghostpad.c:
7951         * gst/gstobject.h:
7952         * gst/gstxml.c:
7953           more section docs
7954
7955 2005-11-14  Wim Taymans  <wim@fluendo.com>
7956
7957         * common/gst.supp:
7958           add suppressions from Wim's Debian machine
7959
7960 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * common/gst.supp:
7963           add suppressions from Andy's AMD64 Ubuntu machine
7964
7965 2005-11-14  Andy Wingo  <wingo@pobox.com>
7966
7967         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7968         STATE_LOCK not necessary. Fixes #311489.
7969
7970         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7971         #305291.
7972
7973         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7974         this function is not implemented.
7975
7976 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7977
7978         * gst/base/gstbasetransform.c:
7979         (gst_base_transform_prepare_output_buf):
7980         Ref the source pad caps while we need them.
7981         Fixes (#321386)
7982
7983 2005-11-11  Wim Taymans  <wim@fluendo.com>
7984
7985         * docs/gst/gstreamer-sections.txt:
7986         Added some docs for GstCollectData.
7987
7988         * gst/base/gstadapter.c:
7989         Some small code example fix.
7990
7991         * gst/base/gstcollectpads.c:
7992         * gst/base/gstcollectpads.h:
7993         Document some more.
7994
7995 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * configure.ac: back to HEAD
7998
7999 === release 0.9.5 ===
8000
8001 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8002
8003         * configure.ac:
8004           releasing 0.9.5, "Bike Lunch Day"
8005
8006 2005-11-11  Wim Taymans  <wim@fluendo.com>
8007
8008         * gst/gstbuffer.c: (_gst_buffer_copy):
8009         Copy more flags.
8010
8011         * gst/gstcaps.c: (gst_caps_is_equal):
8012         Fix some docs.
8013         Make _is_equal fast in the trivial cases.
8014
8015         * gst/gstminiobject.c:
8016         * gst/gstminiobject.h:
8017         More docs. Spifify .h file.
8018
8019         * gst/gstutils.c:
8020         Small doc update.
8021
8022 2005-11-11  Wim Taymans  <wim@fluendo.com>
8023
8024         * gst/base/gstbasetransform.c:
8025         (gst_base_transform_prepare_output_buf),
8026         (gst_base_transform_handle_buffer):
8027         Small cleanups.
8028         If we're processing a buffer and need to allocate an output
8029         buffer, we cannot accept a format change. If we did get a 
8030         format change, we have to alloc a buffer ourselves of the 
8031         right size.
8032
8033 2005-11-11  Wim Taymans  <wim@fluendo.com>
8034
8035         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8036         While checking the flag for reentrancy in the gstcaps function
8037         is nice to detect recursive invocations, it also makes it 
8038         impossible to call getcaps from multiple threads, which must be
8039         possible. So, checking for recursive calls has to go.
8040
8041 2005-11-11  Michael Smith <msmith@fluendo.com>
8042
8043         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8044           Don't sync on buffers that fall partially outside our current
8045           segment. Prevents an assertion failure/abort playing some files.
8046
8047 2005-11-10  Andy Wingo  <wingo@pobox.com>
8048
8049         * check/gst/gstbin.c (test_message_state_changed_children): Style
8050         fix..
8051
8052         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8053         gst_bus_poll with the signal watch. Ensures that poll and a signal
8054         watch see the same messages.
8055
8056         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8057         a poll and a watch at the same time get the same messages.
8058
8059 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8062         * gst/gstcaps.c: (gst_caps_intersect):
8063           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8064           and it's not needed.
8065
8066 2005-11-10  Wim Taymans  <wim@fluendo.com>
8067
8068         * docs/design/part-TODO.txt:
8069         Updated todo.
8070
8071 2005-11-10  Wim Taymans  <wim@fluendo.com>
8072
8073         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8074         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8075         (gst_base_src_do_sync), (gst_base_src_get_range):
8076         Implement clock sync in base class.
8077
8078 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8079
8080         patch by: Tim-Philipp Müller <tim at centricular dot net>
8081
8082         * gst/gststructure.c: (gst_structure_parse_field),
8083         (gst_structure_from_string):
8084           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8085           so that gst_parse_launch() can deal with spaces in filtered link
8086           caps (fixes #164479)
8087         * check/gst/capslist.h:
8088         * check/gst/gststructure.c: (GST_START_TEST):
8089           add unit tests for this change
8090
8091 2005-11-10  Wim Taymans  <wim@fluendo.com>
8092
8093         * docs/gst/gstreamer-sections.txt:
8094         * gst/gstelement.c:
8095         * gst/gstelement.h:
8096         Fix docs, move some STATE macros to private.
8097
8098 2005-11-10  Wim Taymans  <wim@fluendo.com>
8099
8100         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8101         Added check for bug #317341
8102
8103         * gst/gstbuffer.c:
8104         * gst/gstbuffer.h:
8105         Some more spiffifying.
8106
8107         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8108         Call peer linkfunction if we are a source pad. Totally fixes
8109         #317341
8110
8111         * gst/gstpad.c:
8112         Update docs, source pads should call the peer linkfunction
8113         so they can atomically perform the pad link.
8114
8115 2005-11-09  Wim Taymans  <wim@fluendo.com>
8116
8117         * gst/gstbuffer.c:
8118         * gst/gstbuffer.h:
8119         Uber-spiffy-spiffify some more.
8120
8121 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8122
8123         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8124         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8125         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8126         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8127         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8128         * gst/gstpad.c: (gst_pad_init):
8129           Use GST_DEBUG_FUNCPTR() more extensively.
8130
8131 2005-11-09  Wim Taymans  <wim@fluendo.com>
8132
8133         * gst/gstobject.c: (gst_object_class_init):
8134         * gst/gstobject.h:
8135         Documentation fixes.
8136
8137 2005-11-09  Edward Hervey  <edward@fluendo.com>
8138
8139         * gst/gsttypefindfactory.c:
8140         Fix docs.
8141         
8142 2005-11-09  Edward Hervey  <edward@fluendo.com>
8143
8144         * gst/base/gsttypefindhelper.c:
8145         * gst/gsttypefind.c:
8146         * gst/gsttypefind.h:
8147         Fix docs.
8148
8149 2005-11-09  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/gstiterator.c:
8152         Fix revision data.
8153
8154         * gst/gsttask.c:
8155         * gst/gsttask.h:
8156         Fix docs.
8157
8158 2005-11-09  Wim Taymans  <wim@fluendo.com>
8159
8160         * gst/gstevent.h:
8161         * gst/gsturi.h:
8162         Fix docs.
8163
8164 2005-11-09  Wim Taymans  <wim@fluendo.com>
8165
8166         * docs/gst/gstreamer-sections.txt:
8167         Moved the message async delivery private lock and cond
8168         to the private section.
8169
8170         * gst/gstmessage.c:
8171         * gst/gstmessage.h:
8172         Fixed docs.
8173
8174 2005-11-09  Edward Hervey  <edward@fluendo.com>
8175
8176         * docs/gst/gstreamer-sections.txt:
8177         * gst/gsturi.c:
8178         * gst/gsturi.h:
8179         Document GstURIHandler
8180
8181 2005-11-09  Wim Taymans  <wim@fluendo.com>
8182
8183         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8184         (gst_iterator_find_custom):
8185         * gst/gstiterator.h:
8186         Fix iterator docs.
8187
8188 2005-11-09  Wim Taymans  <wim@fluendo.com>
8189
8190         * gst/gstbin.h:
8191         Document another field.
8192
8193         * gst/gststructure.c:
8194         * gst/gststructure.h:
8195         Document.
8196
8197 2005-11-09  Wim Taymans  <wim@fluendo.com>
8198
8199         * gst/gstbin.h:
8200         Documented structs.
8201
8202 2005-11-09  Wim Taymans  <wim@fluendo.com>
8203
8204         * docs/gst/gstreamer-sections.txt:
8205         Added some new macros.
8206
8207         * gst/gstclock.c:
8208         * gst/gstclock.h:
8209         * gst/gstobject.h:
8210         Docs updates.
8211
8212 2005-11-09  Wim Taymans  <wim@fluendo.com>
8213
8214         * docs/design/part-TODO.txt:
8215         Some more items for the TODO
8216
8217         * gst/gstcaps.c:
8218         * gst/gstcaps.h:
8219         Document GstCaps.
8220
8221 2005-11-09  Andy Wingo  <wingo@pobox.com>
8222
8223         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8224         to work on something else now tho...
8225
8226         * gst/base/gstadapter.c: More adapter docs.
8227
8228         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8229         (gst_file_sink_stop): New functions, replace the state change
8230         handler.
8231         (gst_file_sink_class_init): Hook up the start and stop functions.
8232         (gst_file_sink_base_init): Don't set the state change handler any
8233         more. It was a bit ugly too, being set from here...
8234         (gst_file_sink_get_property, gst_file_sink_set_property):
8235         Cleanups...
8236         (gst_file_sink_set_location): More robust check that doesn't call
8237         GST_STATE. Ugggggg.
8238
8239 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8240
8241         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8242           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8243
8244 2005-11-08  Wim Taymans  <wim@fluendo.com>
8245
8246         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8247         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8248         (gst_base_sink_chain), (gst_base_sink_change_state):
8249         * gst/base/gstbasesink.h:
8250         * gst/base/gstbasesrc.h:
8251         * gst/gstelement.h:
8252         * gst/gstevent.h:
8253         Avoid excessive typechecking in macros.
8254
8255         * gst/gstminiobject.c: (gst_mini_object_get_type),
8256         (gst_mini_object_init), (gst_mini_object_new),
8257         (gst_mini_object_free):
8258         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8259         (gst_object_finalize):
8260         Remove cruft code, optimize alloc_trace.
8261
8262 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8263
8264         * docs/faq/gst-uninstalled:
8265           fix up PS1 for systems that try to reset it
8266
8267 2005-11-07  Wim Taymans  <wim@fluendo.com>
8268
8269         * gst/base/gstbasesrc.c: (gst_base_src_init),
8270         (gst_base_src_get_range):
8271         Set the segment_end to -1 initially. Fixed typefind.
8272
8273 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8274
8275         * gst/base/gstadapter.c:
8276           Debug category should be 'adapter', not 'GstAdapter'.
8277           
8278         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8279         (gst_collectpads_class_init), (gst_collectpads_init),
8280         (gst_collectpads_peek), (gst_collectpads_pop),
8281         (gst_collectpads_event), (gst_collectpads_chain):
8282           Add debug category and some debugging output. Use boilerplate
8283           macros. Remove some extraneous words from docs.
8284
8285 2005-11-05  Andy Wingo  <wingo@pobox.com>
8286
8287         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8288         macro.
8289
8290 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8291
8292         * docs/gst/gstreamer-sections.txt:
8293         * gst/gstcaps.h:
8294         * gst/gstinfo.c:
8295         * gst/gstminiobject.h:
8296         * gst/gstobject.h:
8297         * gst/gstutils.h:
8298           more docs added
8299
8300 2005-11-04  Wim Taymans  <wim@fluendo.com>
8301
8302         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8303         Small update to stop at the configured segment_end
8304         position.
8305
8306 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8307
8308         * gst/gstregistry.c:
8309         * gst/gstregistry.h:
8310           added missing docs
8311
8312 2005-11-04  Edward Hervey  <edward@fluendo.com>
8313
8314         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8315         Check if we are doing a segment seek and have arrived at the
8316         end of that segment.
8317
8318 2005-11-04  Wim Taymans  <wim@fluendo.com>
8319
8320         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8321         Don't leak a mutex unlock in case of an error.
8322
8323         * gst/gstbus.h:
8324         Doc fixes.
8325
8326 2005-11-04  Wim Taymans  <wim@fluendo.com>
8327
8328         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8329         (gst_bus_post):
8330         Get the context to wake up only once.
8331
8332 2005-11-03  Wim Taymans  <wim@fluendo.com>
8333
8334         * check/states/sinks.c: (GST_START_TEST):
8335         Uncomment fixed check.
8336
8337         * docs/design/part-TODO.txt:
8338         Updated TODO.
8339
8340         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8341         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8342         (gst_base_sink_get_position):
8343         If we are going to PLAYING, post the right pending state
8344         when we post the intermediate paused message.
8345
8346         * gst/gstelement.c: (gst_element_continue_state),
8347         (gst_element_set_state_func), (gst_element_change_state):
8348         Don't post state changes that were between the same state
8349         and were not ASYNC.
8350
8351 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8352
8353         * docs/gst/gstreamer-sections.txt:
8354         * gst/gstcaps.h:
8355         * gst/gstinfo.c:
8356         * gst/gstminiobject.h:
8357         * gst/gstobject.h:
8358         * gst/gstutils.h:
8359           more docs and doc style fixes
8360
8361 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8362
8363         * docs/gst/gstreamer-sections.txt:
8364         * gst/gstelement.c:
8365         * gst/gstminiobject.c:
8366         doc fixes
8367
8368 2005-11-03  Andy Wingo  <wingo@pobox.com>
8369
8370         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8371         state-changed messages actually have the right order and the right
8372         values.
8373
8374 2005-11-03  Wim Taymans  <wim@fluendo.com>
8375
8376         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8377         Added some more checks. Specifically the case where NO_PREROLL
8378         elements are in the pipeline.
8379
8380         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8381         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8382         (gst_base_sink_get_position):
8383         Post READY->PAUSED state change messages too.
8384         Fix bug where VOID was posted as pending state...
8385
8386         * gst/gstbin.c: (gst_bin_recalc_state):
8387         use _element_continue_state() to continue the state change.
8388
8389         * gst/gstelement.c: (gst_element_continue_state),
8390         (gst_element_commit_state), (gst_element_set_state_func),
8391         (gst_element_change_state), (gst_element_change_state_func):
8392         Lots of state change cleanups, assign the STATE_RETURN in
8393         a new continue_state() function that also propagates the
8394         last return value from a state change to the app.
8395         Update some debug statements with proper category.
8396
8397 2005-11-03  Wim Taymans  <wim@fluendo.com>
8398
8399         * docs/design/part-events.txt:
8400         * docs/design/part-gstpipeline.txt:
8401         * docs/design/part-messages.txt:
8402         * docs/design/part-overview.txt:
8403         * docs/design/part-seeking.txt:
8404         * docs/design/part-states.txt:
8405         * docs/design/part-trickmodes.txt:
8406         * docs/manual/advanced-position.xml:
8407         Small docs updates.
8408
8409         * gst/gstobject.h:
8410         People think !! is ugly, this looks better.
8411
8412         * gst/gstpad.c: (gst_pad_set_blocked_async):
8413         Remove !! since it's fixed elsewhere now.
8414
8415 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8416
8417         * gst/gstminiobject.h:
8418         * gst/gstobject.h:
8419           Add !! to _FLAG_IS_SET macros to make the result boolean.
8420
8421 2005-11-03  Edward Hervey  <edward@fluendo.com>
8422
8423         * gst/gstpad.c: (gst_pad_set_blocked_async):
8424         comparing a flag and a gboolean rarely returns coherent results...
8425         Added two characters (!!) to make that work correctly.
8426         
8427 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8428
8429         * gst/gstbus.c: (gst_bus_class_init):
8430           Fix some typos.
8431           
8432         * gst/gstqueue.c: (gst_queue_loop):
8433           Don't assume a miniobject that isn't a buffer is an
8434           event (it could be that there is a refcounting
8435           problem somewhere and the pointer is stale and
8436           refers to an already destroyed miniobject).
8437
8438 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8439
8440         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8441
8442 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8443
8444         * docs/manual/advanced-position.xml:
8445           Update seek example and explanations to current 0.9 API.
8446
8447         * gst/elements/gsttypefindelement.c:
8448         (gst_type_find_element_activate):
8449           Remove FIXME comment now that the found caps
8450           are unreffed.
8451
8452 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * gst/gstregistryxml.c: (load_feature):
8455           Add another GST_STR_NULL instance
8456
8457 2005-11-02  Edward Hervey  <edward@fluendo.com>
8458
8459         * gst/gstpad.c: (handle_pad_block):
8460         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8461         
8462 2005-11-02  Wim Taymans  <wim@fluendo.com>
8463
8464         * gst/gstbin.c:
8465         Fix typo in docs.
8466
8467         * gst/gstelement.c: (gst_element_commit_state):
8468         Remove unused value.
8469
8470         * gst/gstiterator.c:
8471         Mention that the returned element is reffed in the docs.
8472
8473 2005-11-02  Wim Taymans  <wim@fluendo.com>
8474
8475         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8476         (gst_pad_push), (gst_pad_push_event):
8477         Unlock blocked pads when they are flushed.
8478
8479 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8480
8481         * docs/README:
8482         * docs/gst/gstreamer-sections.txt:
8483         * gst/gstbin.c:
8484           doc updates
8485         * gst/gstregistry.c: (gst_registry_scan_path_level):
8486           fix for a nasty little missed situation where an installed plug-in
8487           which was in the cache did not get overridden by an uninstalled one
8488           which was earlier in the plugin path because the newly created plugin
8489           for the uninstalled one (not in the registry) didn't get its
8490           ->registered set to TRUE
8491
8492 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8493
8494         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8495         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8496         (gst_collectpads_is_active), (gst_collectpads_collect),
8497         (gst_collectpads_collect_range), (gst_collectpads_start),
8498         (gst_collectpads_stop), (gst_collectpads_peek),
8499         (gst_collectpads_pop), (gst_collectpads_available),
8500         (gst_collectpads_read), (gst_collectpads_flush):
8501           Guard public API with assertions.
8502         
8503         * gst/gstpad.c:
8504           Fix docs for gst_pad_set_link_function().
8505
8506 2005-11-02  Johan Dahlin  <johan@gnome.org>
8507
8508         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8509         Unref found_caps after we used it.
8510
8511 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8512
8513         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8514           Don't try to ref NULL.
8515
8516 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * win32/common/config.h.in:
8519           provide a GST_FUNCTION that just gives a string for now
8520
8521 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8522
8523         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8524         (gst_object_flags_get_type), (register_gst_bin_flags),
8525         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8526         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8527         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8528         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8529         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8530         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8531         (gst_clock_flags_get_type), (register_gst_state),
8532         (gst_state_get_type), (register_gst_state_change_return),
8533         (gst_state_change_return_get_type), (register_gst_state_change),
8534         (gst_state_change_get_type), (register_gst_element_flags),
8535         (gst_element_flags_get_type), (register_gst_core_error),
8536         (gst_core_error_get_type), (register_gst_library_error),
8537         (gst_library_error_get_type), (register_gst_resource_error),
8538         (gst_resource_error_get_type), (register_gst_stream_error),
8539         (gst_stream_error_get_type), (register_gst_event_type),
8540         (gst_event_type_get_type), (register_gst_seek_type),
8541         (gst_seek_type_get_type), (register_gst_seek_flags),
8542         (gst_seek_flags_get_type), (register_gst_format),
8543         (gst_format_get_type), (register_gst_index_certainty),
8544         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8545         (gst_index_entry_type_get_type),
8546         (register_gst_index_lookup_method),
8547         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8548         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8549         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8550         (gst_index_flags_get_type), (register_gst_debug_level),
8551         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8552         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8553         (gst_iterator_result_get_type), (register_gst_iterator_item),
8554         (gst_iterator_item_get_type), (register_gst_message_type),
8555         (gst_message_type_get_type), (register_gst_mini_object_flags),
8556         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8557         (gst_pad_link_return_get_type), (register_gst_flow_return),
8558         (gst_flow_return_get_type), (register_gst_activate_mode),
8559         (gst_activate_mode_get_type), (register_gst_pad_direction),
8560         (gst_pad_direction_get_type), (register_gst_pad_flags),
8561         (gst_pad_flags_get_type), (register_gst_pad_presence),
8562         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8563         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8564         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8565         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8566         (gst_plugin_flags_get_type), (register_gst_rank),
8567         (gst_rank_get_type), (register_gst_query_type),
8568         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8569         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8570         (gst_tag_flag_get_type), (register_gst_task_state),
8571         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8572         (gst_alloc_trace_flags_get_type),
8573         (register_gst_type_find_probability),
8574         (gst_type_find_probability_get_type), (register_gst_uri_type),
8575         (gst_uri_type_get_type), (register_gst_parse_error),
8576         (gst_parse_error_get_type):
8577         * win32/common/gstversion.h:
8578           update win32 copies
8579
8580 2005-11-01  Luca Ognibene  <luogni@tin.it>
8581
8582         * gst/gst.c:
8583           fix docs. popt is dead, long live GOption.
8584
8585 2005-10-31  Wim Taymans  <wim@fluendo.com>
8586
8587         * gst/gstbuffer.h:
8588         Small doc fix.
8589
8590 2005-10-31  Andy Wingo  <wingo@pobox.com>
8591
8592         * Boo!
8593
8594         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8595
8596         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8597         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8598         the possibility of deadlocks here if code calling notify() or
8599         set() has a lock that can be taken in another notify handler (ABBA
8600         with class lock and e.g. python GIL state lock).
8601
8602 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8603
8604         * gst/gstbus.c: Doc updates.
8605
8606 2005-10-28  Wim Taymans  <wim@fluendo.com>
8607
8608         * docs/design/part-TODO.txt:
8609         * gst/gstiterator.c:
8610         * gst/gstsystemclock.c:
8611         * gst/gstsystemclock.h:
8612         Doc updates.
8613
8614 2005-10-28  Edward Hervey  <edward@fluendo.com>
8615
8616         * docs/gst/gstreamer-docs.sgml:
8617         * docs/gst/gstreamer-sections.txt:
8618         the GstURIType documentation page is private, it only defines GstURIType
8619         which should be defined in the GstURIHandler page
8620         
8621 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * gst/gstbin.c: (gst_bin_class_init):
8624         * gst/gstbin.h:
8625         * gst/gstutils.c:
8626         Documentation updates.
8627
8628 2005-10-28  Wim Taymans  <wim@fluendo.com>
8629
8630         * docs/gst/gstreamer-sections.txt:
8631         * gst/gstclock.c:
8632         * gst/gstclock.h:
8633         Documented the clocks.
8634
8635 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8636
8637         * docs/gst/gstreamer-sections.txt:
8638           move some macros to private sections
8639         * gst/gstminiobject.c:
8640         * gst/gstminiobject.h:
8641           add descriptions provided by ds and some more
8642         * gst/gstpad.h:
8643           mark macro as to be removed
8644
8645 2005-10-28  Wim Taymans  <wim@fluendo.com>
8646
8647         * docs/design/part-TODO.txt:
8648         Add an item to TODO.
8649
8650         * gst/gstiterator.c: (gst_iterator_fold),
8651         (gst_iterator_find_custom):
8652         * gst/gstiterator.h:
8653         Add iterator docs.
8654
8655 2005-10-28  Wim Taymans  <wim@fluendo.com>
8656
8657         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8658         (gst_base_transform_init):
8659         Don't leak class.
8660
8661         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8662         An EOS event marks the queue as completely filled.
8663
8664 2005-10-27  Wim Taymans  <wim@fluendo.com>
8665
8666         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8667         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8668         Some more debugging.
8669
8670         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8671         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8672         (gst_base_transform_event), (gst_base_transform_getrange),
8673         (gst_base_transform_chain):
8674         * gst/base/gstbasetransform.h:
8675         Fix debugging,
8676         Protect transform and concurrent buffer alloc with a new lock.
8677         Try not to break ABI/API.
8678
8679 2005-10-27  Wim Taymans  <wim@fluendo.com>
8680
8681         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8682         (gst_base_src_init), (gst_base_src_query),
8683         (gst_base_src_default_newsegment),
8684         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8685         (gst_base_src_send_event), (gst_base_src_event_handler),
8686         (gst_base_src_pad_get_range), (gst_base_src_loop),
8687         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8688         (gst_base_src_start), (gst_base_src_deactivate),
8689         (gst_base_src_activate_push), (gst_base_src_change_state):
8690         Move some stuff around and cleanup things.
8691
8692 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8693
8694         * gst/base/gstbasesrc.c: (gst_base_src_query):
8695           Add missing break statements.
8696
8697 2005-10-27  Wim Taymans  <wim@fluendo.com>
8698
8699         * check/gst/gstbin.c: (GST_START_TEST):
8700         An extra refcount is taken in basesrc.
8701
8702         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8703         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8704         (gst_base_src_loop):
8705         Small cleanups, check for flushing after being unlocked from the 
8706         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8707         Don't send out EOS when going to READY.
8708
8709 2005-10-27  Wim Taymans  <wim@fluendo.com>
8710
8711         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8712         (gst_base_sink_get_position):
8713         Some more debug.
8714
8715         * gst/gstbin.c: (message_check), (bin_replace_message),
8716         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8717         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8718         (bin_query_duration_init), (bin_query_duration_fold),
8719         (bin_query_duration_done), (bin_query_generic_fold),
8720         (gst_bin_query):
8721         * tools/gst-launch.c: (main):
8722         Remove old option.
8723
8724 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * examples/controller/audio-example.c: (main):
8727         * examples/queue/queue.c: (event_loop):
8728         * gst/base/gstbasetransform.h:
8729         * gst/gstelement.c: (gst_element_send_event):
8730         * gst/gstevent.h:
8731         * gst/gstpad.c: (gst_pad_send_event):
8732           fixing examples
8733           fixing docs typos
8734           changing log priority in error situations
8735
8736 2005-10-25  Wim Taymans  <wim@fluendo.com>
8737
8738         * gst/gstbin.c: (message_check), (bin_replace_message),
8739         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8740         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8741         (bin_query_duration_init), (bin_query_duration_fold),
8742         (bin_query_duration_done), (bin_query_generic_fold),
8743         (gst_bin_query):
8744         Some doc and debug updates.
8745         Cache previously requested query DURATION for speed. invalidate
8746         cached duration if element posts a DURATION message.
8747
8748 2005-10-25  Wim Taymans  <wim@fluendo.com>
8749
8750         * docs/design/part-TODO.txt:
8751         Update TODO.
8752
8753         * gst/gstbin.c: (message_check), (bin_replace_message),
8754         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8755         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8756         (bin_query_duration_init), (bin_query_duration_fold),
8757         (bin_query_duration_done), (bin_query_generic_fold),
8758         (gst_bin_query):
8759         Handle SEGMENT_START/DONE messages correctly.
8760         More evolved query algorithm that handles duration queries
8761         correctly.
8762
8763         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8764         (gst_element_get_state_func), (gst_element_abort_state),
8765         (gst_element_commit_state), (gst_element_lost_state):
8766         Some more debugging.
8767
8768         * gst/gstmessage.h:
8769         Added doc.
8770
8771 2005-10-25  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8774         Don't use invalid stream_time.
8775
8776         * gst/gstevent.c: (gst_event_new_newsegment):
8777         stream_time in newsegment cannot be undefined.
8778
8779 2005-10-24  Wim Taymans  <wim@fluendo.com>
8780
8781         * gst/gstbus.c:
8782         Doc fix.
8783
8784         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8785         (gst_queue_loop):
8786         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8787
8788 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8789
8790         * docs/libs/tmpl/gstdparam.sgml:
8791         * docs/libs/tmpl/gstdplinint.sgml:
8792         * docs/libs/tmpl/gstdpman.sgml:
8793         * docs/libs/tmpl/gstdpsmooth.sgml:
8794         * docs/libs/tmpl/gstunitconvert.sgml:
8795           these are obsolete
8796
8797 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * configure.ac:
8800           back to HEAD
8801
8802 === release 0.9.4 ===
8803
8804 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8805
8806         * configure.ac:
8807           releasing 0.9.4, "Tyrannosaurus Rex"
8808
8809 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8810
8811         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8812         (gst_file_sink_get_current_offset):
8813           Use fseeko() and ftello() if available. When falling back on
8814           lseek() to get the current offset, fflush() first to make sure
8815           everything is up-to-date and we get the right offset.
8816
8817 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8818
8819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8820         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8821         * gst/gsterror.c: (_gst_stream_errors_init):
8822         * gst/gsterror.h:
8823         * gst/gstqueue.c: (gst_queue_loop):
8824         * po/POTFILES.in:
8825           remove prematurely added error category and clean up the instances
8826
8827 2005-10-21  Wim Taymans  <wim@fluendo.com>
8828
8829         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8830         (gst_base_sink_get_position), (gst_base_sink_query),
8831         (gst_base_sink_change_state):
8832         Simply set the right flag when going to playing, that's all
8833         we need to do instead of calling a function inside the object
8834         lock (that could take the lock as well and deadlock)
8835
8836 2005-10-21  Wim Taymans  <wim@fluendo.com>
8837
8838         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8839         (gst_base_src_loop):
8840         Don't warn, the peer element knows what to do best when
8841         the seek failed, it might try something else.
8842
8843 2005-10-21  Wim Taymans  <wim@fluendo.com>
8844
8845         * gst/base/gstbasesrc.c: (gst_base_src_init),
8846         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8847         Fix seeking.
8848
8849 2005-10-21  Wim Taymans  <wim@fluendo.com>
8850
8851         * docs/design/part-segments.txt:
8852         More docs.
8853
8854         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8855         Correctly set caps, even on the subbufer.
8856
8857 2005-10-21  Wim Taymans  <wim@fluendo.com>
8858
8859         * docs/gst/gstreamer-docs.sgml:
8860         * docs/gst/gstreamer-sections.txt:
8861         * gst/gstelement.h:
8862         * gst/gstevent.c:
8863         * gst/gstevent.h:
8864         * gst/gstmessage.h:
8865         * gst/gstpad.h:
8866         * gst/gstparse.h:
8867         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8868         * gst/gsttask.h:
8869         * gst/gstutils.c:
8870         * gst/gstutils.h:
8871         And 2% more doc coverage.
8872
8873 2005-10-21  Andy Wingo  <wingo@pobox.com>
8874
8875         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8876         position reporting.
8877
8878 2005-10-20  Wim Taymans  <wim@fluendo.com>
8879
8880         * gst/gsterror.c: (gst_error_get_message):
8881         * gst/gstparse.h:
8882         * gst/gstquery.h:
8883         * gst/gststructure.c:
8884         * gst/gsttrace.c:
8885         * gst/gstutils.c:
8886         More docs.
8887
8888 2005-10-20  Wim Taymans  <wim@fluendo.com>
8889
8890         * gst/gstbuffer.h:
8891         * gst/gstpad.c:
8892         * gst/gstparse.c:
8893         Another 1% more coverage.
8894
8895 2005-10-20  Wim Taymans  <wim@fluendo.com>
8896
8897         * docs/gst/gstreamer-sections.txt:
8898         * gst/gstelement.c: (gst_element_get_state_func),
8899         (gst_element_abort_state), (gst_element_commit_state),
8900         (gst_element_lost_state):
8901         * gst/gstevent.h:
8902         * gst/gstquery.c: (gst_query_set_position),
8903         (gst_query_parse_position), (gst_query_set_duration),
8904         (gst_query_parse_duration), (gst_query_new_convert):
8905         * gst/gstutils.c:
8906         Yay! 1% more docs coverage.
8907
8908 2005-10-20  Wim Taymans  <wim@fluendo.com>
8909
8910         * gst/gstpad.h:
8911         * gst/gstquery.c: (gst_query_set_position),
8912         (gst_query_parse_position), (gst_query_set_duration),
8913         (gst_query_parse_duration), (gst_query_new_convert):
8914         * gst/gstquery.h:
8915         * gst/gstutils.c: (gst_element_query_convert):
8916         * gst/gstutils.h:
8917         Docs and consistency fixes.
8918
8919 2005-10-20  Wim Taymans  <wim@fluendo.com>
8920
8921         * gst/gsttask.c:
8922         * gst/gsttask.h:
8923         More docs.
8924
8925 2005-10-20  Wim Taymans  <wim@fluendo.com>
8926
8927         * gst/gstbin.c: (message_check), (bin_replace_message),
8928         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8929         (update_degree), (gst_bin_sort_iterator_next),
8930         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8931         Reworked the message handling a bit, cache the messages instead of
8932         only the senders. alows us to do more in the future.
8933
8934 2005-10-20  Wim Taymans  <wim@fluendo.com>
8935
8936         * docs/design/part-TODO.txt:
8937         Update TODO
8938
8939         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8940         (gst_base_sink_query):
8941         Don't use clock time to report position when in EOS.
8942
8943 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8944
8945         * tools/gst-inspect.c: (print_interfaces),
8946         (print_element_properties_info), (print_element_info):
8947           Fix interface output with gst-inspect -a; don't print
8948           newlines after double/float properties.
8949
8950 2005-10-20  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8953         (gst_base_sink_query):
8954         Speed up current position calculation.
8955
8956         * gst/base/gstbasesrc.c: (gst_base_src_query),
8957         (gst_base_src_default_newsegment):
8958         Correctly set stream position in newsegment.
8959
8960         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8961         (update_degree), (gst_bin_sort_iterator_next),
8962         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8963         * gst/gstmessage.c: (gst_message_new_custom):
8964         Clean up debugging info
8965
8966         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8967         (gst_queue_loop), (gst_queue_handle_src_query):
8968         Pause task faster.
8969
8970 2005-10-19  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8973         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8974         Fix query handling again.
8975
8976 2005-10-19  Wim Taymans  <wim@fluendo.com>
8977
8978         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8979         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8980         * gst/base/gstbasesrc.c: (gst_base_src_query):
8981         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8982         * gst/elements/gsttypefindelement.c:
8983         (gst_type_find_handle_src_query), (find_element_get_length),
8984         (gst_type_find_element_activate):
8985         API change fix.
8986
8987         * gst/gstquery.c: (gst_query_new_position),
8988         (gst_query_set_position), (gst_query_parse_position),
8989         (gst_query_new_duration), (gst_query_set_duration),
8990         (gst_query_parse_duration), (gst_query_set_segment),
8991         (gst_query_parse_segment):
8992         * gst/gstquery.h:
8993         Bundling query position/duration is not a good idea since duration
8994         does not change much and we don't want to recalculate it for every
8995         position query, so they are separated again..
8996         Base value in segment query is not needed.
8997
8998         * gst/gstqueue.c: (gst_queue_handle_src_query):
8999         * gst/gstutils.c: (gst_element_query_position),
9000         (gst_element_query_duration), (gst_pad_query_position),
9001         (gst_pad_query_duration):
9002         * gst/gstutils.h:
9003         Updates for query API change.
9004         Added some docs here and there.
9005
9006 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9007
9008         * check/gst/gstbin.c: (GST_START_TEST):
9009         * check/gst/gstghostpad.c: (GST_START_TEST):
9010         * check/pipelines/cleanup.c: (GST_START_TEST):
9011           wait on thread to die so we can check refcount correctly
9012
9013 2005-10-18  Wim Taymans  <wim@fluendo.com>
9014
9015         * check/pipelines/stress.c: (GST_START_TEST):
9016         Make check a little more time consuming.
9017
9018 2005-10-18  Wim Taymans  <wim@fluendo.com>
9019
9020         * check/Makefile.am:
9021         * check/pipelines/stress.c: (GST_START_TEST),
9022         (simple_launch_lines_suite), (main):
9023         Small state change torture test.
9024
9025         * docs/design/part-states.txt:
9026         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9027         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9028         (gst_base_sink_change_state):
9029         Never take state lock from streaming thread, clean up ugly
9030         hacks. Unfortunatly core does not yet support nice ways to
9031         async commit state.
9032         
9033         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9034         (bin_bus_handler):
9035         Start state recalc if a STATE_DIRTY message is posted, but only
9036         on the toplevel bin.
9037
9038         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9039         (gst_element_get_state_func), (gst_element_abort_state),
9040         (gst_element_commit_state), (gst_element_lost_state),
9041         (gst_element_set_state_func), (gst_element_change_state):
9042         * gst/gstelement.h:
9043         State variables are now protected with the LOCK, the state
9044         lock is only used to serialize _set_state().
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: (gst_bin_class_init), (gst_bin_recalc_func),
9052         (bin_bus_handler):
9053         * gst/gstelement.c: (gst_element_abort_state),
9054         (gst_element_commit_state), (gst_element_lost_state):
9055         * gst/gstmessage.c: (gst_message_new_state_changed),
9056         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9057         (gst_message_new_segment_done), (gst_message_new_duration),
9058         (gst_message_parse_state_changed),
9059         (gst_message_parse_segment_start),
9060         (gst_message_parse_segment_done), (gst_message_parse_duration):
9061         * gst/gstmessage.h:
9062         * tools/gst-launch.c: (event_loop):
9063         Seriously, this is better than a previous commit as we only need
9064         to notify the fact that an element changed state in a streaming
9065         thread, marking the state of the parents dirty, hence the 
9066         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9067         message.
9068
9069 2005-10-18  Wim Taymans  <wim@fluendo.com>
9070
9071         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9072         (gst_bin_recalc_func):
9073         * gst/gstelement.c: (gst_element_set_clock),
9074         (gst_element_abort_state), (gst_element_lost_state):
9075         Cleanups, prepare for state change fixes.
9076
9077 2005-10-18  Wim Taymans  <wim@fluendo.com>
9078
9079         * gst/gstbin.h:
9080         * gst/gstelement.c: (gst_element_class_init),
9081         (gst_element_set_state), (gst_element_set_state_func):
9082         * gst/gstelement.h:
9083         Pending ABI changes.
9084         GThreadPool in GstBinClass to monitor async state changes.
9085         state_cookie in GstElement to detect concurrent gst/set state.
9086         set_state is now virtual too in case a very complicated element
9087         has to be constructed.
9088
9089 2005-10-18  Wim Taymans  <wim@fluendo.com>
9090
9091         * check/gst/gstbin.c: (GST_START_TEST):
9092         * check/gst/gstmessage.c: (GST_START_TEST):
9093         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9094         * gst/gstbin.c: (bin_bus_handler):
9095         * gst/gstelement.c: (gst_element_commit_state),
9096         (gst_element_lost_state):
9097         * gst/gstmessage.c: (gst_message_new_state_changed),
9098         (gst_message_new_segment_start), (gst_message_new_segment_done),
9099         (gst_message_new_duration), (gst_message_parse_state_changed),
9100         (gst_message_parse_segment_start),
9101         (gst_message_parse_segment_done), (gst_message_parse_duration):
9102         * gst/gstmessage.h:
9103         * tools/gst-launch.c: (event_loop):
9104         Make messages future proof.
9105         state-change gets a flag if it was a message comming from the
9106         streaming thread.
9107         segment-start/stop can also be specified in other formats.
9108         A message to notify an app that a pipeline changed playback 
9109         duration.
9110         Also fix a GstMessage leak in -launch
9111
9112 2005-10-18  Andy Wingo  <wingo@pobox.com>
9113
9114         * gst/gstelement.c (gst_element_dispose): More helpful message.
9115
9116 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9117
9118         reviewed by: <delete if not using a buddy>
9119
9120         * common/gtk-doc.mak:
9121
9122 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9123
9124         * gst/gstregistry.c: (gst_registry_scan_path_level):
9125           unref a plug-in we get that was already initialized
9126
9127 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9128
9129         * docs/gst/gstreamer-sections.txt:
9130         * docs/libs/gstreamer-libs-sections.txt:
9131         * gst/gstelement.h:
9132           add new api entries
9133           hide internal macro
9134
9135 2005-10-17  Andy Wingo  <wingo@pobox.com>
9136
9137         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9138         cleanup.
9139
9140         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9141
9142         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9143
9144         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9145         (gst_element_get_state_func): Better debug message.
9146         (gst_element_commit_state): s/INFO/DEBUG/.
9147         (gst_element_lost_state, gst_element_change_state): 
9148
9149         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9150         (gst_message_new_custom): s/INFO/LOG/.
9151
9152 2005-10-17  Michael Smith <msmith@fluendo.com>
9153
9154         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9155           Check if end time is valid using end time, not start time.
9156
9157 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9158
9159         * check/gst-libs/controller.c: (GST_START_TEST),
9160         (gst_controller_suite):
9161         * libs/gst/controller/gstcontroller.c:
9162         (gst_controlled_property_set_interpolation_mode):
9163         * libs/gst/controller/gstcontroller.h:
9164         * libs/gst/controller/gstinterpolation.c:
9165         * testsuite/controller/.cvsignore:
9166         * testsuite/controller/Makefile.am:
9167         * testsuite/controller/interpolator.c:
9168           merge controller testsuites
9169           fix broken tests
9170           remove mem-chunk from docs
9171
9172 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9173
9174         * gst/gstmemchunk.c:
9175         * gst/gstmemchunk.h:
9176         * gst/gsttrashstack.c:
9177         * gst/gsttrashstack.h:
9178           out.  get out.  you're fired.  to the Attic !
9179
9180 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9181
9182         * gst/gstcaps.c: (gst_caps_intersect):
9183           fix signedness issues in a (hopefully) correct way
9184         * gst/gstelement.c: (gst_element_pads_activate):
9185           some debugging
9186         * gst/gstobject.c: (gst_object_set_parent):
9187           some debugging
9188
9189 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9190
9191         * gst/gstvalue.h: Fix prototypes.
9192
9193 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9194
9195         * docs/gst/gstreamer-sections.txt:
9196         * gst/gst.c: (gst_version_string):
9197         * gst/gst.h:
9198         * gst/gstversion.h.in:
9199         * win32/common/libgstreamer.def:
9200           add gst_version_string ()
9201
9202 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9203
9204         * configure.ac:
9205           clean up further
9206         * gst/gst.c: (init_post):
9207         * win32/common/config.h.in:
9208           it's PLUGINDIR now
9209         * gst/gstcaps.c: (gst_caps_intersect):
9210           use gint64, the range could be bigger than a guint
9211
9212 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9213
9214         * gst/gstclock.h:
9215           document potential problem in 2038
9216
9217 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9218
9219         * gst/gstcaps.c: (gst_caps_intersect):
9220           Fix guint j diving under 0
9221
9222 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * configure.ac:
9225         * win32/common/config.h:
9226         * win32/common/config.h.in:
9227           check for process.h, declares getpid() on Windows
9228         * gst/gstinfo.c:
9229           include process.h if we have it
9230         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9231         * gst/gstmemchunk.h:
9232           fix signedness issues
9233         * win32/common/libgstreamer.def:
9234           fix get_type's
9235
9236 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9237
9238         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9239         fix. Because of unsigned ints, caps intersection was going nuts and
9240         trying to access structures with G_MAXUINT index. That fixes
9241         videotestsrc ! ffmpegcolorspace ! fakesink
9242         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9243         consistency.
9244
9245 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9246
9247         * configure.ac:
9248           use the gettext macro
9249         * gst/elements/gstelements.c:
9250         * gst/gst.c:
9251         * gst/indexers/gstindexers.c:
9252           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9253         * win32/common/config.h:
9254           updated config.h
9255         * win32/common/config.h.in:
9256           add the template to generate config.h
9257         * win32/common/gstenumtypes.c:
9258         * win32/common/gstversion.h:
9259           updated copies
9260
9261 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9262
9263         * gst/gst.c: (gst_version):
9264         * gst/gstversion.h.in:
9265           add the nano
9266
9267 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9268
9269         * gst/gstevent.h:
9270           Oops, add missing closing bracket.
9271
9272 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9273
9274         * configure.ac:
9275           use common m4's for argument checking
9276
9277 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9278
9279         * docs/gst/gstreamer-sections.txt:
9280         * gst/gstevent.h:
9281           Add GST_EVENT_TYPE_NAME() macro.
9282
9283 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * gst/gstinfo.c:
9286         * gst/gstpluginfeature.c:
9287         * gst/gsttask.c:
9288           privatize more symbols
9289
9290 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9291
9292         * configure.ac:
9293           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9294           everything that uses GStreamer API should have the includes
9295
9296 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9297
9298         * docs/gst/gstreamer-sections.txt:
9299         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9300         * gst/gstvalue.h:
9301           give each value a _get_type, removes the DATA exports
9302
9303 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9304
9305         * gst/gst.c:
9306         * gst/gst.h:
9307           remove _gst_registry_auto_load, not used anymore
9308         * gst/gstbin.c: (gst_bin_get_type):
9309         * gst/gstbin.h:
9310         * gst/gstelement.c: (gst_element_get_type):
9311         * gst/gstelement.h:
9312         * gst/gstobject.c: (gst_object_get_type):
9313         * gst/gstobject.h:
9314         * gst/gstpad.c: (gst_pad_get_type):
9315         * gst/gstpad.h:
9316           make _get_type functions similar, fixes data export from library
9317
9318 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9319
9320         * configure.ac:
9321           correctly make conditionals
9322         * gst/elements/Makefile.am:
9323         * gst/elements/gstelements.c:
9324           fix typo causing fdsrc not to build
9325
9326 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9327
9328         * testsuite/Makefile.am:
9329         * testsuite/bytestream/.cvsignore:
9330         * testsuite/bytestream/Makefile.am:
9331         * testsuite/bytestream/filepadsink.c:
9332         * testsuite/bytestream/gstbstest.c:
9333         * testsuite/bytestream/test1.c:
9334         * testsuite/bytestream/testfile1:
9335         * testsuite/caps/normalisation.c:
9336         * testsuite/caps/random.c: (main):
9337         * testsuite/cleanup/.cvsignore:
9338         * testsuite/cleanup/Makefile.am:
9339         * testsuite/cleanup/cleanup1.c:
9340         * testsuite/cleanup/cleanup2.c:
9341         * testsuite/cleanup/cleanup3.c:
9342         * testsuite/cleanup/cleanup4.c:
9343         * testsuite/cleanup/cleanup5.c:
9344         * testsuite/controller/interpolator.c:
9345         * testsuite/debug/printf_extension.c: (main):
9346         * testsuite/elements/tee.c:
9347         * testsuite/negotiation/.cvsignore:
9348         * testsuite/negotiation/Makefile.am:
9349         * testsuite/negotiation/pad_link.c:
9350         * testsuite/pad/Makefile.am:
9351         * testsuite/pad/chainnopull.c:
9352         * testsuite/pad/getnopush.c:
9353         * testsuite/pad/link.c:
9354         * testsuite/refcounting/sched.c: (create_pipeline):
9355         * testsuite/registry/Makefile.am:
9356         * testsuite/registry/gst-print-formats.c:
9357         * testsuite/schedulers/.cvsignore:
9358         * testsuite/schedulers/142183-2.c:
9359         * testsuite/schedulers/142183.c:
9360         * testsuite/schedulers/143777-2.c:
9361         * testsuite/schedulers/143777.c:
9362         * testsuite/schedulers/147713.c:
9363         * testsuite/schedulers/147819.c:
9364         * testsuite/schedulers/147894-2.c:
9365         * testsuite/schedulers/147894.c:
9366         * testsuite/schedulers/Makefile.am:
9367         * testsuite/schedulers/group_link.c:
9368         * testsuite/schedulers/queue_link.c:
9369         * testsuite/schedulers/relink.c:
9370         * testsuite/schedulers/unlink.c:
9371         * testsuite/schedulers/unref.c:
9372         * testsuite/schedulers/useless_iteration.c:
9373         * testsuite/states/bin.c:
9374           clean out/remove some stuff from the testsuite directories
9375
9376 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9377
9378         * configure.ac:
9379           check for some headers
9380         * gst/elements/Makefile.am:
9381         * gst/elements/gstelements.c:
9382           don't compile fdsrc without sys/socket.h
9383         * gst/indexers/Makefile.am:
9384         * gst/indexers/gstindexers.c: (plugin_init):
9385           don't compile fileindex without mmap
9386
9387 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9388
9389         * configure.ac:
9390           reorganize
9391           clean up
9392           document more
9393           remove cruft
9394         * check/Makefile.am:
9395         * docs/gst/Makefile.am:
9396         * examples/helloworld/Makefile.am:
9397         * gst/Makefile.am:
9398         * gst/base/Makefile.am:
9399         * gst/check/Makefile.am:
9400         * gst/elements/Makefile.am:
9401         * gst/indexers/Makefile.am:
9402         * gst/parse/Makefile.am:
9403         * libs/gst/controller/Makefile.am:
9404         * libs/gst/dataprotocol/Makefile.am:
9405         * examples/helloworld/helloworld.c: (event_loop):
9406           compile fixes, though it's not being compiled currently
9407
9408 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9409
9410         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9411           Add some simple tests for the new taglist date API.
9412
9413 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9414
9415         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9416         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9417           Beautify 'last-message' output: print 'none' for buffer timestamps
9418           and durations if none is set; improve alignment with next messages.
9419
9420 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9421
9422         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9423         * gst/gstpluginfeature.h:
9424         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9425         * gst/gstregistry.h:
9426         * docs/gst/gstreamer-sections.txt:
9427           Add new API to check plugin feature version requirements.
9428
9429         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9430           Some basic tests for the above.         
9431
9432 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * gst/gststructure.c: (gst_structure_to_string):
9435           guard against NULL printf - happens when for example
9436           a message structure with GstClock gets serialized
9437
9438 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9439
9440         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9441           Fix presumable copy'n'pasto.
9442
9443 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         * gst/elements/gstfakesrc.h:
9446         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9447         * gst/elements/gsttypefindelement.c:
9448           fix some signedness
9449         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9450           I wonder if this could actually write +2GB files before
9451
9452 2005-10-13  Andy Wingo  <wingo@pobox.com>
9453
9454         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9455         Fix Timmeke Waymans bug.
9456         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9457         string of the proper length to gst_caps_from_string. There's a
9458         potential for, before this fix, that this could cause someone
9459         connecting over the network to cause a segfault if the payload is
9460         not NUL-terminated.
9461
9462 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9463
9464         * docs/design/draft-push-pull.txt:
9465         * docs/design/part-overview.txt:
9466         * docs/random/TODO-pre-0.9:
9467         * docs/random/old/ChangeLog.gstreamer:
9468         * gst/base/gstpushsrc.c:
9469         * gst/gstclock.c:
9470           fixed typos
9471
9472 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9473
9474         * gst/glib-compat.c: (gst_flags_get_first_value):
9475         * gst/glib-compat.h:
9476         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9477         (gst_value_compare_double), (gst_value_serialize_flags):
9478           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9479           infinite loop
9480
9481 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9484         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9485           fix up debugging
9486         * tools/gst-launch.c: (event_loop):
9487           print out clock nicely
9488
9489 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9490
9491         * docs/gst/gstreamer-sections.txt:
9492         * gst/gsttaglist.h:
9493         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9494         (gst_tag_list_get_date_index):
9495           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9496           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9497
9498 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9499
9500         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9501         (gst_collectpads_chain):
9502         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9503         in CollectData.
9504
9505 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9506
9507         * docs/gst/gstreamer-sections.txt:
9508         * gst/gst.c:
9509         * gst/gsterror.h:
9510         * tools/gst-inspect.c: (main):
9511         * tools/gst-launch.c: (main):
9512         * tools/gst-run.c: (main):
9513         * tools/gst-xmlinspect.c: (main):
9514           fix GOption context leaks
9515           doc fixes
9516
9517 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9518
9519         * gst/gstbus.c:
9520           use HAVE_UNISTD_H
9521         * win32/common/config.h:
9522           update config
9523         * win32/vs6/grammar.dsp:
9524         * win32/vs6/libgstelements.dsp:
9525         * win32/vs6/libgstreamer.dsp:
9526           update vs6 files
9527
9528 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9529
9530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9531         * gst/base/gstbasesrc.c: (gst_base_src_query):
9532           fix more guint64<->gdouble conversions
9533
9534 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9535
9536         * Makefile.am:
9537           add win32-update target
9538         * win32/common/gstconfig.h:
9539         * win32/common/gstenumtypes.c:
9540         * win32/common/gstenumtypes.h:
9541         * win32/common/gstversion.h:
9542           add files that visual studio can't generate
9543
9544 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9545
9546         * Makefile.am:
9547           add a win32-update target
9548         * configure.ac:
9549
9550 2005-10-12  Wim Taymans  <wim@fluendo.com>
9551
9552         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9553         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9554         * gst/gstelement.c: (gst_element_commit_state),
9555         (gst_element_set_state):
9556         Protect flags with proper lock.
9557         unref provided cached clock in dispose.
9558
9559 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9560
9561         * gst/gst.c:
9562         * gst/gstminiobject.h:
9563         * gst/gstpad.h:
9564         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9565           removed unused flags from miniobject
9566           doc fixes
9567
9568 2005-10-12  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9571         (gst_file_sink_event), (gst_file_sink_render):
9572         Flush before seeking.
9573
9574 2005-10-12  Andy Wingo  <wingo@pobox.com>
9575
9576         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9577         always been the case.
9578
9579 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9580
9581         * check/gst/gstbin.c: (GST_START_TEST):
9582         * docs/gst/gstreamer-sections.txt:
9583         * gst/base/gstbasesink.c: (gst_base_sink_init):
9584         * gst/base/gstbasesrc.c: (gst_base_src_init),
9585         (gst_base_src_get_range), (gst_base_src_check_get_range),
9586         (gst_base_src_start), (gst_base_src_stop):
9587         * gst/base/gstbasesrc.h:
9588         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9589         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9590         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9591         (bin_bus_handler):
9592         * gst/gstbin.h:
9593         * gst/gstbuffer.h:
9594         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9595         * gst/gstbus.h:
9596         * gst/gstelement.c: (gst_element_is_locked_state),
9597         (gst_element_set_locked_state), (gst_element_commit_state),
9598         (gst_element_set_state):
9599         * gst/gstelement.h:
9600         * gst/gstindex.c: (gst_index_init):
9601         * gst/gstindex.h:
9602         * gst/gstminiobject.h:
9603         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9604         (gst_object_set_parent):
9605         * gst/gstobject.h:
9606         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9607         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9608         * gst/gstpad.h:
9609         * gst/gstpadtemplate.h:
9610         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9611         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9612         * gst/gstpipeline.h:
9613         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9614         (gst_file_index_commit):
9615         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9616         * testsuite/pad/link.c: (gst_test_src_init),
9617         (gst_test_filter_init), (gst_test_sink_init):
9618         * testsuite/states/locked.c: (main):
9619           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9620           moved bitshift from macro to enum definition
9621
9622 2005-10-12  Wim Taymans  <wim@fluendo.com>
9623
9624         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9625         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9626         (gst_file_sink_render):
9627         Some more debugging info.
9628
9629 2005-10-12  Wim Taymans  <wim@fluendo.com>
9630
9631         * docs/design/part-states.txt:
9632         * tools/gst-launch.c: (main):
9633         Some doc updates.
9634         Revert non-intentional change.
9635
9636 2005-10-12  Wim Taymans  <wim@fluendo.com>
9637
9638         * check/gst/gstbin.c: (GST_START_TEST):
9639         * check/gst/gstelement.c: (GST_START_TEST):
9640         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9641         * check/gst/gstghostpad.c: (GST_START_TEST):
9642         * check/gst/gstpipeline.c: (GST_START_TEST):
9643         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9644         * check/states/sinks.c: (GST_START_TEST):
9645         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9646         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9647         (gst_bin_remove_func), (gst_bin_get_state_func),
9648         (gst_bin_recalc_state), (gst_bin_change_state_func),
9649         (bin_bus_handler):
9650         * gst/gstelement.c: (gst_element_get_state_func),
9651         (gst_element_get_state), (gst_element_abort_state),
9652         (gst_element_commit_state), (gst_element_set_state),
9653         (gst_element_change_state), (gst_element_change_state_func):
9654         * gst/gstelement.h:
9655         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9656         (gst_pipeline_provide_clock_func):
9657         * gst/gstutils.c: (gst_element_link_pads_filtered):
9658         * tools/gst-launch.c: (main):
9659         * tools/gst-typefind.c: (main):
9660         Use GstClockTime in _get_state() instead of GTimeVal.
9661         Remove old code in gstutils.c
9662
9663 2005-10-12  Andy Wingo  <wingo@pobox.com>
9664
9665         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9666         removed.
9667
9668         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9669         there is no task. Shouldn't affect any code, as nothing in our
9670         plugins checks this return value.
9671         (gst_pad_stop_task): Also take the stream lock if the pad has no
9672         task. Docs updated.
9673
9674 2005-10-12  Wim Taymans  <wim@fluendo.com>
9675
9676         * gst/gstpad.c: (pre_activate), (post_activate),
9677         (gst_pad_activate_pull), (gst_pad_activate_push):
9678         Cleanup activation code. Reset old state if
9679         activation failed.
9680
9681 2005-10-12  Wim Taymans  <wim@fluendo.com>
9682
9683         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9684         (gst_base_sink_change_state):
9685         No need to prerol after receiving EOS.
9686
9687         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9688         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9689         * gst/elements/gstidentity.c: (gst_identity_event):
9690         Print events more verbosely.
9691
9692 2005-10-12  Wim Taymans  <wim@fluendo.com>
9693
9694         * check/Makefile.am:
9695         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9696         * check/states/sinks2.c:
9697         Moved sinks2 testcode in sinks check.
9698
9699         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9700         (gst_bin_remove_func), (gst_bin_recalc_state),
9701         (gst_bin_change_state_func), (bin_bus_handler):
9702         Fix potential race condition when _get_state() iterated over an
9703         ASYNC element right before it posted a state completion.
9704
9705         * gst/gstclock.h:
9706         Do proper cast here.
9707
9708         * gst/gstevent.c: (gst_event_new_newsegment),
9709         (gst_event_parse_newsegment):
9710         A playback rate of 0.0 is not allowed.
9711
9712 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * win32/common/config.h:
9715         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9716         (_trewinddir), (_ttelldir), (_tseekdir):
9717         * win32/common/dirent.h:
9718         * win32/common/gtchar.h:
9719         * win32/common/libgstbase.def:
9720         * win32/common/libgstreamer.def:
9721         * win32/vs6/grammar.dsp:
9722         * win32/vs6/gst_inspect.dsp:
9723         * win32/vs6/gst_launch.dsp:
9724         * win32/vs6/gstreamer.dsw:
9725         * win32/vs6/libgstbase.dsp:
9726         * win32/vs6/libgstelements.dsp:
9727         * win32/vs6/libgstreamer.dsp:
9728           Visual Studio 6 project files, and a new common directory.
9729           Phear.
9730
9731 2005-10-11  Wim Taymans  <wim@fluendo.com>
9732
9733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9734         (gst_base_sink_do_sync), (gst_base_sink_query),
9735         (gst_base_sink_change_state):
9736         * gst/base/gstbasesink.h:
9737         Correctly parse newsegment info.
9738
9739 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9740
9741         * gst/gst.c: (init_post):
9742           split plugin paths correctly
9743
9744 2005-10-11  Wim Taymans  <wim@fluendo.com>
9745
9746         * check/gst/gstevent.c: (GST_START_TEST):
9747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9748         (gst_base_sink_change_state):
9749         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9750         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9751         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9752         * gst/gstevent.c: (gst_event_new_newsegment),
9753         (gst_event_parse_newsegment):
9754         * gst/gstevent.h:
9755         Added extra flag to newsegment for future API freeze.
9756         Updated check and base elements.
9757
9758 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9759
9760         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9761         (gst_collectpads_add_pad), (gst_collectpads_pop),
9762         (gst_collectpads_event), (gst_collectpads_chain):
9763         * gst/base/gstcollectpads.h: Handle EOS correctly.
9764
9765 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * tools/gst-launch.c: (main):
9768           more null protecting
9769
9770 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * gst/gst-i18n-lib.h:
9773           check for ENABLE_NLS, not GETTEXT_PACKAGE
9774         * gst/gstregistry.c: (gst_registry_add_plugin),
9775         (gst_registry_scan_path_level),
9776         (_gst_registry_remove_cache_plugins):
9777           protect possibly NULL strings
9778         * gst/parse/types.h:
9779           config.h already included before
9780         * tools/gst-inspect.c: (main):
9781           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9782           check for ENABLE_NLS, not GETTEXT_PACKAGE
9783         * tools/gst-launch.c: (main):
9784           check for ENABLE_NLS, not GETTEXT_PACKAGE
9785
9786 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9787
9788         * configure.ac:
9789           if we don't have glib, fail before testing 2.8
9790         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9791           fix a leak, should fix plugins-base testsuite
9792
9793 2005-10-11  Andy Wingo  <wingo@pobox.com>
9794
9795         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9796         take the mode we're going to as an arg. Go head and set the mode
9797         and flushing flags now, so that if the activate function starts a
9798         thread all the flags will be in the right state.
9799         (post_activate): Renamed also. Just handle making sure streaming
9800         finishes for the deactivation case, and setting the deactivated
9801         mode.
9802         (gst_pad_set_active): Complain loudly if deactivation fails.
9803         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9804         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9805         remove the terrible hack.
9806
9807 2005-10-11  Wim Taymans  <wim@fluendo.com>
9808
9809         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9810         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9811         (gst_bin_recalc_state), (gst_bin_change_state_func),
9812         (gst_bin_dispose), (bin_bus_handler):
9813         * gst/gstbin.h:
9814         Prepare to make current EOS message queue more generic.
9815         Fix some typos.
9816
9817         * gst/gstevent.c: (gst_event_new_newsegment),
9818         (gst_event_parse_newsegment):
9819         * gst/gstevent.h:
9820         Rename base to stream_time.
9821
9822         * gst/gstmessage.h:
9823         Fix typo in docs.
9824
9825 2005-10-11  Wim Taymans  <wim@fluendo.com>
9826
9827         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9828         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9829         (gst_bin_change_state_func), (bin_bus_handler):
9830         * gst/gstbin.h:
9831         Work on proper clock selection.
9832
9833 2005-10-11  Edward Hervey  <edward@fluendo.com>
9834
9835         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9836         * libs/gst/controller/gstcontroller.h:
9837         Added GList* version of _remove_properties() in order to be able to wrap
9838         it in bindings.
9839
9840 2005-10-11  Wim Taymans  <wim@fluendo.com>
9841
9842         * docs/design/part-states.txt:
9843         Some more docs.
9844
9845         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9846         (gst_bin_change_state_func), (bin_bus_handler):
9847         Doc updates. Don't distribute the same clock over and over again.
9848
9849         * gst/gstclock.c:
9850         * gst/gstclock.h:
9851         Doc updates.
9852
9853         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9854         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9855         (gst_pad_send_event):
9856         * gst/gstpad.h:
9857         Make probe emission threadsafe again.
9858         Register quarks and move _get_name() from utils.
9859         Doc updates.
9860
9861         * gst/gstpipeline.c: (gst_pipeline_class_init),
9862         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9863         Only redistribute the clock of it changed.
9864
9865         * gst/gstsystemclock.h:
9866         Doc updates. 
9867
9868         * gst/gstutils.c:
9869         * gst/gstutils.h:
9870         Moved the _flow_get_name() to GstPad.
9871
9872 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9873
9874         * check/gst-libs/gdp.c: (GST_START_TEST):
9875         * check/gst/gstcaps.c: (GST_START_TEST):
9876         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9877         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9878         (gst_dp_packet_from_caps):
9879           fix more valgrind warnings before turning up the heat
9880
9881 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9882
9883         * gst/parse/grammar.y:
9884           some cleanup before the hacking
9885
9886 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9887
9888         * gst/base/gstbasesrc.c: (gst_base_src_query):
9889           use conversions
9890         * gst/gstutils.c: (gst_guint64_to_gdouble),
9891         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9892         * gst/gstutils.h:
9893           externalize, basesrc uses it
9894           obviously the implementation needs testing
9895
9896 2005-10-10  Wim Taymans  <wim@fluendo.com>
9897
9898         * tests/sched/Makefile.am:
9899         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9900         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9901
9902 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9903
9904         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9905           apparently converting from guint64 to double is not implemented
9906           on MSVC
9907
9908 2005-10-10  Wim Taymans  <wim@fluendo.com>
9909
9910         * check/Makefile.am:
9911         * check/generic/states.c: (GST_START_TEST):
9912         * check/gst/gstbin.c: (GST_START_TEST):
9913         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9914         * check/states/sinks.c: (GST_START_TEST):
9915         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9916         (main):
9917         Check fixes, use API as stated in design docs, remove hacks.
9918
9919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9920         (gst_base_sink_change_state):
9921         Catch stopping our task while we're shutting down.
9922
9923         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9924         (gst_bin_remove_func), (gst_bin_get_state_func),
9925         (gst_bin_recalc_state), (gst_bin_change_state_func),
9926         (bin_bus_handler):
9927         * gst/gstbin.h:
9928         * gst/gstelement.c: (gst_element_init),
9929         (gst_element_get_state_func), (gst_element_abort_state),
9930         (gst_element_commit_state), (gst_element_lost_state),
9931         (gst_element_set_state), (gst_element_change_state),
9932         (gst_element_change_state_func):
9933         * gst/gstelement.h:
9934         New state change algorithm (see #318116)
9935
9936         * gst/gstpipeline.c: (gst_pipeline_class_init),
9937         (gst_pipeline_init), (gst_pipeline_set_property),
9938         (gst_pipeline_get_property), (do_pipeline_seek),
9939         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9940         * gst/gstpipeline.h:
9941         Remove crude state change hacks.
9942
9943         * gst/gstutils.h:
9944         Remove crude hacks.
9945
9946         * tools/gst-launch.c: (main):
9947         Fixes for state change. Needs some more work to fully use the
9948         new stuff.
9949
9950 2005-10-10  Andy Wingo  <wingo@pobox.com>
9951
9952         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9953
9954         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9955         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9956         issue.
9957
9958 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9959
9960         * gst/gstiterator.c: (gst_iterator_new):
9961           Fix my previous commit: GTypes passed to gst_iterator_new()
9962           can be fundamental types.
9963
9964 2005-10-10  Wim Taymans  <wim@fluendo.com>
9965
9966         * gst/gstelement.c: (gst_element_iterate_pad_list),
9967         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9968         (gst_element_iterate_sink_pads):
9969         Use src/sink pads lists for the respective iterators instead
9970         of filtering.
9971
9972 2005-10-10  Andy Wingo  <wingo@pobox.com>
9973
9974         Merged in popt removal + GOption addition patch from Ronald, bug
9975         #169772.
9976
9977         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9978         GstElement macros around, remove popt-related symbols, add goption
9979         stuff.
9980
9981         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9982         
9983         * docs/gst/Makefile.am:
9984         * docs/libs/Makefile.am: No POPT_CFLAGS.
9985         
9986         * examples/manual/Makefile.am:
9987         * docs/manual/basics-init.xml: Doc updates with an example.
9988         
9989         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9990         (gst_init), (parse_one_option), (parse_goption_arg):
9991         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9992         bit of hand merging and debugging to get the GOption stuff working
9993         tho.
9994         
9995         * tests/Makefile.am:
9996         * tools/Makefile.am:
9997         * tools/gst-inspect.c: (main):
9998         * tools/gst-launch.c: (main):
9999         * tools/gst-run.c: (main):
10000         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10001
10002 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10003
10004         * gst/gstiterator.c: (gst_iterator_new):
10005           Add assertions to make sure passed GType is likely to really
10006           be a GType (as the compiler won't catch it if the size and
10007           GType arguments get mixed up, see #318447).
10008
10009 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10010
10011         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10012
10013         * gst/gstbin.c: (gst_bin_iterate_sorted):
10014           Pass GType and size arguments to gst_iterator_new() in the right
10015           order (maybe we should make _new() take the GType as first argument
10016           just like _new_list()?) (#318447).
10017           
10018
10019 2005-10-10  Wim Taymans  <wim@fluendo.com>
10020
10021         * gst/gstelement.c: (gst_element_finalize):
10022         And free the GStaticRecMutex too
10023
10024 2005-10-10  Andy Wingo  <wingo@pobox.com>
10025
10026         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10027         Allocate and free the mutex properly.
10028
10029         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10030         New macros.
10031         (GstElement): The state_lock is now recursive. Rebuild your
10032         plugins, suckers. Old macros adapted.
10033
10034         * docs/gst/gstreamer-sections.txt: Doc updates.
10035
10036         * gst/gstutils.h:
10037         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10038         (g_static_rec_cond_wait): Ported from state changes patch, while
10039         we wait on bug #317802 to be solved in a well-distributed GLib.
10040
10041         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10042         gst_element_change_state, variable name changes.
10043         (gst_element_change_state): Split out of gst_element_set_state in
10044         preparation for the state change merge. Doesn't pay attention to
10045         the 'transition' argument.
10046         (gst_element_set_state): Updates, hopefully purely cosmetic.
10047         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10048         state change patch.
10049         (gst_element_get_state_func): Renamed from get_state, cosmetic
10050         changes.
10051
10052 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10053
10054         * gst/elements/gstelements.c:
10055         * win32/GStreamer.vcproj:
10056         * win32/config.h:
10057         * win32/dirent.c: (_tseekdir):
10058         * win32/gst-inspect.vcproj:
10059         * win32/gst-launch.vcproj:
10060         * win32/gstconfig.h:
10061         * win32/gstelements.vcproj:
10062         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10063         * win32/gstreamer.def:
10064         * win32/msvc71.sln:
10065           updates for the win32 build (patch from Sebastien Moutte)
10066
10067 2005-10-10  Andy Wingo  <wingo@pobox.com>
10068
10069         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10070         gst_bin_get_state, cleaned up (but no logic changes).
10071         (bin_element_is_sink): Comment updates.
10072         (sink_iterator_filter): Remove needless cast.
10073         (gst_bin_iterate_sinks): Doc update.
10074         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10075         cleaned up (but no logic changes).
10076
10077         * check/states/sinks.c (test_src_sink): Cleanups from the state
10078         change patch.
10079         (test_livesrc_sink): Sync on the state.
10080
10081         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10082         the state change patch.
10083
10084         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10085         change patch.
10086
10087         * check/gst/gstbin.c: Merge in some style fixes and additional
10088         checks from Wim's state change patch.
10089
10090 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10091
10092         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10093         (gst_type_find_helper):
10094           Check whether we have the requested data already in our list of
10095           cached buffers before pulling a new buffer; also make the buffer
10096           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10097
10098 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10099
10100         * gst/gstcaps.c:
10101         * gst/gstevent.c:
10102           doc updates
10103         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10104           don't use long long, it's not portable.  Replacing with
10105           gint64 seems to work; let's hope no skeletons fall out of the closet.
10106
10107 2005-10-10  Andy Wingo  <wingo@pobox.com>
10108
10109         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10110
10111 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10112
10113         * docs/gst/gstreamer-sections.txt:
10114         * gst/gstevent.c:
10115         * gst/gstevent.h:
10116         * gst/gstinfo.c:
10117         * gst/gstinfo.h:
10118         * gst/gstmessage.c: (gst_message_parse_state_changed):
10119         * gst/gstpad.c:
10120         * gst/gstpad.h:
10121           more docs, fix compilation
10122
10123 2005-10-09  Philippe Khalaf <burger@speedy.org>
10124         * gst/gstmessage.c:
10125           Fixed a few forgotten variables on previous commit
10126
10127 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10128
10129         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10130           Fix evil typefind crasher: getrange() might return a short
10131           buffer at the end of a file, but gst_type_find_peek() must
10132           either return the full data as requested or NULL, but
10133           never a short buffer.
10134
10135 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10136
10137         * gst/gstmessage.c: (gst_message_new_state_changed),
10138         (gst_message_parse_state_changed):
10139         * gst/gstmessage.h:
10140           don't use "new", it's a C++ keyword
10141
10142 2005-10-08  Wim Taymans  <wim@fluendo.com>
10143
10144         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10145         * gst/gstelement.c: (gst_element_post_message):
10146         * gst/gstpipeline.c: (gst_pipeline_change_state):
10147         Small docs and debug updates.
10148
10149 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10150
10151         * docs/gst/gstreamer-sections.txt:
10152         * gst/gstelementfactory.c:
10153         * gst/gstevent.c:
10154         * gst/gsttaglist.c:
10155           more docs
10156
10157 2005-10-08  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10160         (gst_bin_dispose), (bin_bus_handler):
10161         Fix typos, add comments.
10162         Clear EOS list when going to PAUSED from any direction and do it
10163         in a threadsafe way.
10164         Get base time in a threadsafe way too.
10165         Fix confusing debug in the change_state function.
10166         Various other small cleanups.
10167         
10168         * gst/gstelement.c: (gst_element_post_message):
10169         Fix very verbose bus posting code.
10170
10171         * gst/gstpipeline.c: (gst_pipeline_class_init),
10172         (gst_pipeline_set_property), (gst_pipeline_get_property),
10173         (gst_pipeline_change_state):
10174         Small ARG_ -> PROP_ cleanup
10175
10176 2005-10-08  Wim Taymans  <wim@fluendo.com>
10177
10178         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10179         Do a less CPU demanding EOS check because we can.
10180
10181 2005-10-08  Wim Taymans  <wim@fluendo.com>
10182
10183         * libs/gst/dataprotocol/dataprotocol.c:
10184         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10185         (gst_dp_packet_from_event):
10186         * libs/gst/dataprotocol/dataprotocol.h:
10187         * libs/gst/dataprotocol/dp-private.h:
10188         It's about time we bump the version number.
10189         Since event types don't fit in the guint8 anymore describing
10190         the payload type, make payload type 16 bits wide.
10191
10192 2005-10-08  Wim Taymans  <wim@fluendo.com>
10193
10194         * docs/design/part-TODO.txt:
10195         * docs/design/part-clocks.txt:
10196         * docs/design/part-events.txt:
10197         * docs/design/part-gstbin.txt:
10198         * docs/design/part-gstelement.txt:
10199         * docs/design/part-gstpipeline.txt:
10200         * docs/design/part-live-source.txt:
10201         * docs/design/part-messages.txt:
10202         * docs/design/part-overview.txt:
10203         * docs/design/part-states.txt:
10204         Many doc updates.
10205
10206 2005-10-08  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstevent.c:
10209         * gst/gstevent.h:
10210         Fix event quark registration.
10211         Add some space between events so we can insert them in the
10212         right groups.
10213
10214 2005-10-08  Wim Taymans  <wim@fluendo.com>
10215
10216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10217         (gst_base_sink_handle_buffer):
10218         Better log message.
10219
10220         * gst/gstbus.h:
10221         * gst/gstelement.h:
10222         More docs.
10223
10224         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10225         (gst_queue_set_property), (gst_queue_get_property):
10226         * gst/gstqueue.h:
10227         Remove old unused properties.
10228
10229 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10230         * docs/gst/gstreamer-sections.txt:
10231         * gst/gstmessage.c:
10232         * gst/gstmessage.h:
10233         * gst/gstminiobject.c:
10234         * gst/gstminiobject.h:
10235         * gst/gstobject.h:
10236         * gst/gstpad.h:
10237         * gst/gstutils.h:
10238           lots of new docs and doc fixes
10239
10240 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10241
10242         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10243         * gst/gstplugin.h:
10244         * gst/gstregistry.c: (gst_registry_lookup_locked),
10245         (gst_registry_scan_path_level):
10246         * gst/gstregistryxml.c: (load_plugin):
10247           Only ever load one plugin for a given plugin basename.
10248           This ensures correct overriding of GST_PLUGIN_PATH over
10249           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10250           system installed plugins.
10251
10252 2005-10-08  Wim Taymans  <wim@fluendo.com>
10253
10254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10255         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10256         Prepare for doing QOS.
10257
10258 2005-10-08  Wim Taymans  <wim@fluendo.com>
10259
10260         * check/gst/gstbin.c: (GST_START_TEST):
10261         * check/pipelines/cleanup.c: (GST_START_TEST):
10262         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10263         Allow new clock message too.
10264
10265 2005-10-08  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstmessage.c: (gst_message_new_error),
10268         (gst_message_new_warning), (gst_message_new_tag),
10269         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10270         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10271         (gst_message_new_segment_start), (gst_message_new_segment_done),
10272         (gst_message_parse_state_changed),
10273         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10274         (gst_message_parse_new_clock):
10275         * gst/gstmessage.h:
10276         Also carry the clock in question.
10277
10278 2005-10-08  Wim Taymans  <wim@fluendo.com>
10279
10280         * gst/gstmessage.c: (gst_message_new_custom),
10281         (gst_message_new_eos), (gst_message_new_error),
10282         (gst_message_new_warning), (gst_message_new_tag),
10283         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10284         (gst_message_new_new_clock), (gst_message_new_segment_start),
10285         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10286         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10287         * gst/gstmessage.h:
10288         Clean up.
10289         Added clock related messages.
10290
10291         * gst/gstpipeline.c: (gst_pipeline_change_state):
10292         Post message when the clock changed.
10293
10294         * tools/gst-launch.c: (event_loop):
10295         Print new clock.
10296
10297 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10298
10299         * tools/gst-inspect.c: (print_element_properties_info):
10300           Can't pass NULL strings to g_print() on windows.
10301
10302 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10303
10304         * docs/Makefile.am:
10305         * docs/gst/Makefile.am:
10306         * docs/gst/gstreamer-docs.sgml:
10307         * docs/gst/running.xml:
10308         * docs/version.entities.in:
10309           add a chapter on running GStreamer.
10310           document GST_DEBUG and GST_PLUGIN* env vars
10311
10312 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10313
10314         * Makefile.am:
10315           remove include dir
10316         * configure.ac:
10317           remove PLUGINS_BUILDDIR stuff
10318         * gst/gst.c: (init_post):
10319           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10320         * idiottest.mak:
10321           remove, it was condescending and not needed
10322
10323 2005-10-08  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10326         (gst_base_sink_handle_object), (gst_base_sink_event),
10327         (gst_base_sink_wait), (gst_base_sink_handle_event),
10328         (gst_base_sink_change_state):
10329         * gst/base/gstbasesink.h:
10330         Repost EOS message while going to PLAYING if still EOS.
10331         Make sure that when receiving a FLUSH_START we don't attempt
10332         to sync on the clock anymore.
10333
10334 2005-10-08  Wim Taymans  <wim@fluendo.com>
10335
10336         * tools/gst-launch.c: (event_loop):
10337         Better message printout.
10338
10339 2005-10-08  Wim Taymans  <wim@fluendo.com>
10340
10341         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10342         (gst_bin_child_proxy_get_children_count):
10343         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10344         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10345         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10346         (gst_child_proxy_set_valist):
10347         * gst/parse/grammar.y:
10348         Make ChildProxy threadsafe and fix mem leaks.
10349
10350 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * gst/gst.c: (init_post):
10353           debug the GST_PLUGIN_ env vars
10354
10355 2005-10-08  Wim Taymans  <wim@fluendo.com>
10356
10357         * check/gst/gstbin.c: (GST_START_TEST):
10358         * check/gst/gstmessage.c: (GST_START_TEST):
10359         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10360         * gst/gstelement.c: (gst_element_commit_state),
10361         (gst_element_lost_state):
10362         * gst/gstmessage.c: (gst_message_new_state_changed),
10363         (gst_message_parse_state_changed):
10364         * gst/gstmessage.h:
10365         * tools/gst-launch.c: (event_loop):
10366         Added extra field to STATE_CHANGE message with the pending
10367         state, which will be different from the new state soon.
10368
10369 2005-10-08  Wim Taymans  <wim@fluendo.com>
10370
10371         * gst/gstbus.c: (gst_bus_pop):
10372         * gst/gstclock.c:
10373         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10374         Small cleanups and doc updates.
10375
10376 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10377
10378         * gst/gst.c: (init_pre):
10379         * gst/gstbin.c: (gst_bin_add_func):
10380           log distributing clocks and base time
10381         * gst/gstregistry.c: (gst_registry_add_plugin),
10382         (gst_registry_scan_path_level), (gst_registry_scan_path):
10383           clean up the debugging output a little
10384         * gst/gstutils.c: (gst_element_state_get_name):
10385           warn about a memleak (I've actually seen this be used, though
10386           it was probably a bug)
10387
10388 2005-10-07  Wim Taymans  <wim@fluendo.com>
10389
10390         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10391         (gst_base_src_init), (gst_base_src_default_newsegment),
10392         (gst_base_src_newsegment), (gst_base_src_do_seek),
10393         (gst_base_src_loop), (gst_base_src_start):
10394         * gst/base/gstbasesrc.h:
10395         Make the newsegment event customizable by subclasses.
10396
10397 2005-10-07  Wim Taymans  <wim@fluendo.com>
10398
10399         * gst/gstevent.c: (gst_event_new_buffersize),
10400         (gst_event_parse_buffersize):
10401         * gst/gstevent.h:
10402         New event for future idea.
10403
10404 2005-10-07  Andy Wingo  <wingo@pobox.com>
10405
10406         * gst/gstelement.c (gst_element_post_message): Doc update.
10407
10408         * docs/gst/gstreamer-sections.txt: Update.
10409
10410         * gst/gstmessage.c (gst_message_new_application): Made into a
10411         function like honest API calls.
10412         (gst_message_new_element): New message type.
10413
10414         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10415
10416         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10417         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10418         times.
10419
10420         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10421         NO_PREROLL from gst_element_change_state to fall through.
10422
10423 2005-10-07  Wim Taymans  <wim@fluendo.com>
10424
10425         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10426         (gst_ghost_pad_do_activate_push):
10427         Activating a ghostpad with no internal pad in push mode
10428         is ok.
10429
10430 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10431
10432         * gst/gstobject.h:
10433           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10434           Fixes compilation on Windows.
10435
10436 2005-10-07  Michael Smith <msmith@fluendo.com>
10437
10438         * tools/gst-inspect.c:
10439           Print out feature and plugin count at the end when printing out
10440           all features.
10441
10442 2005-10-04  Michael Smith <msmith@fluendo.com>
10443
10444         * gst/gsterror.c: (_gst_stream_errors_init):
10445           Add another error string used in a few existing plugins.
10446
10447         * gst/gstplugin.c:
10448         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10449         * tools/gst-inspect.c: (print_element_info):
10450           When a feature disappears from a plugin (and the feature exists in
10451           the cached registry file), things went horribly wrong. This isn't a
10452           complete fix, we should actually be removing the 'missing' features
10453           from the features list when we load the actual plugin. That's not
10454           yet implemented. 
10455
10456 2005-10-04  Johan Dahlin  <johan@gnome.org>
10457
10458         * check/gst/gstiterator.c: (GST_START_TEST):
10459         * gst/gstbin.c: (gst_bin_iterate_elements),
10460         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10461         * gst/gstelement.c: (gst_element_iterate_pads):
10462         * gst/gstformat.c: (gst_format_iterate_definitions):
10463         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10464         (gst_iterator_new_list), (gst_iterator_filter):
10465         * gst/gstiterator.h:
10466         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10467         Add a GType to GstIterator, update callsites and tests.
10468
10469 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10470
10471         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10472           give events a chance to be handled by event probes when the pad
10473           is not linked
10474
10475 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10476
10477         * gst/gstevent.c: (gst_event_type_get_name),
10478         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10479         * gst/gstevent.h:
10480           add string representations for event types
10481
10482 2005-10-06  Wim Taymans  <wim@fluendo.com>
10483
10484         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10485         Don't use NULL pointers.
10486
10487 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10488
10489         * gst/gst_private.h:
10490         * gst/gstbus.c:
10491         * gst/gstelement.c:
10492         * gst/gstinfo.c:
10493         * gst/gstpluginfeature.c:
10494           widen the debug category in output to fit the biggest one we have
10495           add a bus category and use it
10496           play with the colors
10497           fix up some categories
10498
10499 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10500
10501         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10502           add push activation of sink ghost pads.
10503           Andye, please verify
10504
10505 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * gst/gstutils.c: (gst_element_link_pads):
10508           fix a bug in the case where neither element has a pad
10509         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10510           add a test for that case
10511
10512 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10513
10514         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10515           emit have-data before checking for peers.  This allows
10516           for probe handlers to connect elements.  This helps autopluggers.
10517         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10518         (gst_pad_suite):
10519           add six checks, linked/unlinked with no/true/false probe
10520
10521 2005-10-04  Wim Taymans  <wim@fluendo.com>
10522
10523         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10524         (gst_fake_sink_event), (gst_fake_sink_preroll),
10525         (gst_fake_sink_render), (gst_fake_sink_change_state):
10526         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10527         (gst_fake_src_get_property), (gst_fake_src_create),
10528         (gst_fake_src_stop):
10529         * gst/elements/gstidentity.c: (gst_identity_stop):
10530         Protect last_message with lock.
10531
10532 2005-10-04  Edward Hervey  <edward@fluendo.com>
10533
10534         * gst/gstformat.h: 
10535         Added precision in the comments for GST_FORMAT_DEFAULT
10536
10537 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10538
10539         * tools/gst-launch.c: (main):
10540           Don't try to run erroneous pipelines.
10541
10542 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10543
10544         * gst/gstbus.c: We don't need this header.
10545
10546 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10547
10548         * configure.ac:
10549           back to development
10550
10551 === release 0.9.3 ===
10552
10553 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * README:
10556         * configure.ac:
10557           Releasing 0.9.3, "Unregistered"
10558
10559 2005-10-03  Andy Wingo  <wingo@pobox.com>
10560
10561         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10562         whereby calling a pad's activatepush() function can start a thread
10563         that starts to push or pull before the pad gets the FLUSHING flag
10564         unset. Hack around it by holding the stream lock until the flag is
10565         set. Need to replace this with a proper solution. Together with
10566         the ghost pad fixes, this fixes mp3 playing/tagreading.
10567
10568         * docs/design/part-gstghostpad.txt: Add a note about activation of
10569         proxy pads outside of ghost pads.
10570
10571         * gst/gstghostpad.c: Implement the ghost pad activation design.
10572
10573 2005-10-02  Andy Wingo  <wingo@pobox.com>
10574
10575         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10576         It is volatile, after all.
10577
10578         * docs/design/part-gstghostpad.txt: Flesh out activation with
10579         ghost pads.
10580
10581         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10582         GST_DEBUG_FUNCPTR.
10583
10584 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10585
10586         * configure.ac:
10587           Fix (unused) AM_CONDITIONAL tests.
10588
10589 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10590
10591         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10592
10593         * gst/gstutils.c: (gst_pad_query_convert):
10594           Add assertion that makes sure src_val is >=0, just like
10595           gst_query_new_convert() has. (#315895)
10596
10597 2005-09-30  Edward Hervey  <edward@fluendo.com>
10598
10599         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10600         Let's not iterate pads we're not interested in, it avoids getting 
10601         sky-high refcounts on sinkpad.
10602
10603 2005-09-30  Wim Taymans  <wim@fluendo.com>
10604
10605         * gst/gstelement.c: (gst_element_set_state),
10606         (gst_element_change_state):
10607         Small tweak, element in ASYNC remains ASYNC.
10608
10609 2005-09-30  Wim Taymans  <wim@fluendo.com>
10610
10611         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10612         Only error is an error.
10613
10614         * gst/gstbin.c: (gst_bin_change_state):
10615         Better debugging.
10616
10617         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10618         Also call pad_block in pad alloc.
10619
10620         * gst/gstutils.c: (gst_flow_get_name):
10621         Better debugging.
10622
10623 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10626         (gst_base_src_get_range):
10627           Fix documentation typos. Add some more debug info.
10628
10629 2005-09-29  David Schleef  <ds@schleef.org>
10630
10631         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10632           more end-user friendly.
10633         * tools/gst-inspect.c: (main): Check if command-line argument is
10634           a file and attempt to load that file as a plugin.
10635
10636 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10637
10638         * check/gst/gstbin.c:
10639         * check/states/sinks.c:
10640           fix tests for the new warning
10641         * check/gst/gstpipeline.c:
10642           add a test for pipeline and bus interaction
10643         * gst/gstelement.c:
10644           elements should be NULL if they get disposed; add a warning if not
10645
10646 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * gst/gstobject.c:
10649           for 2.6 refcounting, make debug log more correct by printing
10650           the actual refcounts at the time of swap (Wim)
10651
10652 2005-09-29  Andy Wingo  <wingo@pobox.com>
10653
10654         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10655         removes signal watches previously added via
10656         gst_bus_add_signal_watch.
10657         (gst_bus_add_signal_watch): Don't return the source id, just store
10658         it on the bus if there wasn't an id already.
10659
10660         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10661         add_signal_watch and remove_signal_watch.
10662
10663 2005-09-29  Edward Hervey  <edward@fluendo.com>
10664
10665         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10666         Better if we actually iterate the list :)
10667
10668 2005-09-29  Wim Taymans  <wim@fluendo.com>
10669
10670         * check/gst/gstbin.c: (GST_START_TEST):
10671         Change for new bus API.
10672
10673         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10674         (send_messages), (GST_START_TEST), (gstbus_suite):
10675         Change for new bus signal API.
10676
10677         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10678         (gst_bus_source_prepare), (gst_bus_source_check),
10679         (gst_bus_create_watch), (gst_bus_add_watch_full),
10680         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10681         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10682         * gst/gstbus.h:
10683         Remove support for multiple GSources operating on different
10684         message types as it is too complex and unneeded when using
10685         signals.
10686         Added support for receiving signals from the bus.
10687
10688 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * docs/libs/tmpl/gstdataprotocol.sgml:
10691         * docs/manual/advanced-dataaccess.xml:
10692         * gst/elements/gstcapsfilter.c:
10693         * gst/gstutils.c:
10694           rename filter-caps to caps property
10695
10696 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10697
10698         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10699           More robust fraction string parsing.
10700
10701         * docs/pwg/appendix-porting.xml:
10702           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10703
10704 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10705
10706         * gst/gstcaps.c: (gst_caps_do_simplify):
10707           Thou shalt not free a structure and then continue using it
10708           in the next loop iteration.
10709
10710         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10711         (gst_caps_suite):
10712           Add test case for caps simplification.
10713
10714 2005-09-29  Wim Taymans  <wim@fluendo.com>
10715
10716         * check/gst/gstbin.c: (GST_START_TEST):
10717         Oops.
10718
10719 2005-09-29  Wim Taymans  <wim@fluendo.com>
10720
10721         * check/gst/gstbin.c: (GST_START_TEST):
10722         Add bus to bin.
10723
10724         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10725         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10726         (find_element), (gst_bin_sort_iterator_next),
10727         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10728         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10729         (gst_bin_change_state), (gst_bin_dispose):
10730         A bin does not have a bus, it gets the bus from the parent.
10731
10732         * gst/gstelement.c: (gst_element_requires_clock),
10733         (gst_element_provides_clock), (gst_element_is_indexable),
10734         (gst_element_is_locked_state), (gst_element_change_state),
10735         (gst_element_set_bus_func):
10736         Small cleanups.
10737
10738         * gst/gstpipeline.c: (gst_pipeline_class_init),
10739         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10740         The pipeline provides a bus.
10741
10742 2005-09-28  Johan Dahlin  <johan@gnome.org>
10743
10744         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10745         gst_structure_get_enum instead of gst_structure_get_int
10746
10747         * gst/gststructure.c (gst_structure_get_enum): Impl.
10748
10749         * gst/gststructure.h (gst_structure_get_enum): Add
10750
10751         * docs/gst/gstreamer-sections.txt: Ditto
10752
10753         * gst/gstmessage.c (gst_message_new_state_changed): Use
10754         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10755         which does introspection.
10756         Reviewed by Christian Schaller
10757
10758 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10759
10760         * gst/gstinfo.c: (gst_debug_log_default):
10761           don't do dummy g_strdup()s
10762         * libs/gst/controller/gstcontroller.c:
10763         (on_object_controlled_property_changed),
10764         (gst_controlled_property_new), (gst_controller_new_valist),
10765         (gst_controller_new_list),
10766         (gst_controller_remove_properties_valist), (gst_controller_set),
10767         (gst_controller_get), (gst_controller_sync_values),
10768         (gst_controller_get_value_array), (_gst_controller_class_init),
10769         (gst_controller_get_type):
10770         * libs/gst/controller/gstcontroller.h:
10771         * libs/gst/controller/gstinterpolation.c:
10772         (gst_controlled_property_find_timed_value_node):
10773           convert // to /**/ comments
10774
10775 2005-09-28  Wim Taymans  <wim@fluendo.com>
10776
10777         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10778         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10779         (gst_bus_sync_signal_handler):
10780         * gst/gstbus.h:
10781         Added async-message and sync-message signals to the bus.
10782         Added helper BusFunc to emit signals for all posted messages.
10783
10784         * gst/gstmessage.c: (gst_message_type_get_name),
10785         (gst_message_type_to_quark), (gst_message_get_type):
10786         * gst/gstmessage.h:
10787         Register quarks for message names.
10788
10789 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10790
10791         * docs/libs/gstreamer-libs-sections.txt:
10792         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10793         (gst_controller_new_list):
10794         * libs/gst/controller/gstcontroller.h:
10795           added another constructor for language bindings
10796
10797 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10800           add another check
10801         * gst/gstbus.c:
10802           add some doc
10803         * gst/gstinfo.c: (_gst_debug_init):
10804           slightly more readable color for refcount debugging
10805
10806 2005-09-28  Wim Taymans  <wim@fluendo.com>
10807
10808         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10809         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10810         (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         Small doc fixes. get_clock -> provide_clock.
10815
10816         * gst/gstelement.c: (gst_element_class_init),
10817         (gst_element_provides_clock), (gst_element_provide_clock),
10818         (gst_element_get_clock), (gst_element_commit_state),
10819         (gst_element_lost_state):
10820         * gst/gstelement.h:
10821         Make get/set_clock() symetric. Add provide_clock vmethod since
10822         that is actually what this function does.
10823
10824         * gst/gstpipeline.c: (gst_pipeline_class_init),
10825         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10826         (gst_pipeline_get_clock):
10827         get_clock -> provide_clock.
10828
10829 2005-09-28  Andy Wingo  <wingo@pobox.com>
10830
10831         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10832         lieu of real docs...
10833
10834         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10835
10836 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10837
10838         * gst/elements/gstcapsfilter.c:
10839         * gst/elements/gstfakesink.c:
10840         * gst/elements/gstfakesrc.c:
10841         * gst/elements/gstfdsink.c:
10842         * gst/elements/gstfdsrc.c:
10843         * gst/elements/gstfilesink.c:
10844         * gst/elements/gstfilesrc.c:
10845         * gst/elements/gstidentity.c:
10846         * gst/elements/gsttee.c:
10847         * gst/elements/gsttypefindelement.c:
10848           Make element details static.
10849
10850 2005-09-28  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10853         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10854         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10855         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10856         (gst_bin_change_state), (gst_bin_dispose):
10857         Some documentation updates.
10858         Clean up dispose handlers.
10859
10860         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10861         * gst/gstpad.c: (gst_pad_dispose):
10862         Clean up dispose handler.
10863
10864         * gst/gstpipeline.c: (gst_pipeline_change_state):
10865         Removed spurious UNLOCK.
10866
10867 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10868
10869         * docs/gst/gstreamer-sections.txt:
10870         * gst/base/gstbasesrc.h:
10871         * gst/gstelement.h:
10872         * gst/gstevent.h:
10873         * gst/gstobject.h:
10874         * gst/gstpad.h:
10875         * gst/gstpipeline.c:
10876         * gst/gstpipeline.h:
10877         * gst/gstutils.h:
10878         * gst/gstxml.h:
10879           added two new functions to the docs
10880                 documents all undocumented GstXXXFlags
10881                 completed some incomplete docs 
10882
10883 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10884
10885         * gst/gstbin.c: (gst_bin_dispose):
10886         * gst/gstelement.c: (gst_element_dispose):
10887           remove now useless and leaky resurrection code in dispose
10888         * gst/base/gstbasesrc.c: (gst_base_src_init):
10889         * gst/gstelementfactory.c: (gst_element_factory_create):
10890         * gst/gstobject.c: (gst_object_set_parent):
10891           add some debugging
10892
10893 2005-09-27  Wim Taymans  <wim@fluendo.com>
10894
10895         * docs/design/part-TODO.txt:
10896         Update TODO.
10897
10898         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10899         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10900         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10901         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10902         (gst_bin_change_state):
10903         * gst/gstelement.h:
10904         Remove element variable, we keep element info in the iterator now.
10905
10906 2005-09-27  Andy Wingo  <wingo@pobox.com>
10907
10908         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10909         values.
10910
10911 2005-09-27  Wim Taymans  <wim@fluendo.com>
10912
10913         * check/gst/gstbin.c: (GST_START_TEST):
10914         Enable check that works now.
10915
10916         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10917         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10918         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10919         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10920         (gst_bin_change_state):
10921         * gst/gstbin.h:
10922         Redid the state change algorithm using a topological sort algo.
10923         Handles all cases correctly.
10924         Exposed iterator for state change order.
10925
10926         * gst/gstelement.h:
10927         Temp storage for state changes. Need to get rid of this soon.
10928
10929 2005-09-27  Wim Taymans  <wim@fluendo.com>
10930
10931         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10932         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10933         (link_fold_func), (gst_pad_proxy_setcaps):
10934         Leak fixes, the fold functions need to unref the passed object and
10935         _get_parent_*() returns ref to parent.
10936
10937 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10938
10939         * check/gst/gstbuffer.c: (test_make_writable):
10940           Plug leak in test case and fix 'make check-valgrind'
10941
10942 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10943
10944         * gst/gstbuffer.c: (gst_subbuffer_init):
10945           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10946           works correctly in all circumstances (we could have just copied
10947           the parent buffer's readonly flag, but conceptually it seems
10948           cleaner to mark all subbuffers as read-only). (based on patch
10949           by Alessandro Decina, #314710).
10950         
10951         * check/gst/gstbuffer.c: (create_read_only_buffer),
10952         (test_make_writable), (test_subbuffer_make_writable),
10953         (gst_test_suite):
10954           Add some tests for gst_buffer_make_writable().
10955
10956 2005-09-27  Wim Taymans  <wim@fluendo.com>
10957
10958         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10959         use gst_object_has_ancestor().
10960
10961         * gst/gstobject.c: (gst_object_has_ancestor):
10962         * gst/gstobject.h:
10963         gst_object_has_ancestor() copied from gstbin.c as it is a
10964         usefull function.
10965
10966         * tests/instantiate/create.c: (create_all_elements):
10967         * tests/lat.c: (handoff_src), (handoff_sink):
10968         * tests/sched/runxml.c: (main):
10969         * tests/seeking/seeking1.c: (main):
10970         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10971         (main):
10972         Fix compilation of some tests.
10973
10974 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10975
10976         * gst/gsterror.h:
10977           Remove comment. GST_TYPE_G_ERROR is here to stay,
10978           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10979           (#316961, #300610).
10980
10981 2005-09-26  Wim Taymans  <wim@fluendo.com>
10982
10983         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10984         Added check that shows error in state change order.
10985
10986 2005-09-26  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstbin.c: (gst_bin_change_state):
10989         Make state change function use 3 queues again, we were
10990         adding elements in the wrong order.
10991
10992         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10993         Some debug info,
10994
10995         * gst/gstpad.c: (gst_pad_dispose):
10996         Added some debug info first.
10997
10998 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10999
11000         * docs/design/draft-push-pull.txt:
11001         * docs/design/part-events.txt:
11002         * docs/design/part-overview.txt:
11003         * docs/design/part-scheduling.txt:
11004           Replace all _pull_region() with _pull_range()
11005           
11006 2005-09-26  Andy Wingo  <wingo@pobox.com>
11007
11008         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11009
11010         * check/gst-libs/controller.c: Update for controller api change.
11011
11012         * configure.ac: 
11013         * tests/Makefile.am:
11014         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11015         over by GLib bug 118439.
11016         
11017         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11018         routines to a function.
11019
11020         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11021
11022         * libs/gst/controller/gsthelper.c:
11023         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11024         (gst_object_sync_values): Renamed from sink_values. Ugh.
11025
11026         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11027
11028         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11029         Renamed from controller_key, as it is exported.
11030
11031         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11032
11033 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * gst/Makefile.am:
11036         * gst/gst.h:
11037         * gst/gstpad.h:
11038         * gst/gstpadtemplate.h:
11039         * gst/gstquery.c:
11040         * gst/gstquery.h:
11041         * gst/gstqueryutils.c:
11042         * gst/gstqueryutils.h:
11043           remove queryutils headers after moving the two used functions
11044           to gstquery.  also fixes build problem for gstsiddec
11045
11046 2005-09-26  Michael Smith <msmith@fluendo.com>
11047
11048         * tools/gst-launch.1.in:
11049         Correct documentation in manpage of debug syntax
11050
11051 2005-09-26  Wim Taymans  <wim@fluendo.com>
11052
11053         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11054         (gst_base_src_is_seekable), (gst_base_src_change_state):
11055         Some more debugging info.
11056
11057 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11058
11059         * docs/gst/gstreamer-sections.txt:
11060         * gst/base/gstbasetransform.h:
11061         * gst/gstindex.h:
11062           added more docs
11063
11064 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11065
11066         * docs/gst/.cvsignore:
11067         * docs/gst/tmpl/.cvsignore:
11068         * docs/gst/tmpl/gstpipeline.sgml:
11069         * docs/gst/tmpl/gstplugin.sgml:
11070         * gst/gstpipeline.c:
11071         * gst/gstplugin.c:
11072         * gst/gstplugin.h:
11073           inlined the last two docs files
11074           removed the tmpl directory from cvs (no more conflicts here!)
11075
11076 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11077
11078         * docs/gst/gstreamer-sections.txt:
11079         * docs/gst/tmpl/.cvsignore:
11080         * docs/gst/tmpl/gstpad.sgml:
11081         * docs/gst/tmpl/gstpadtemplate.sgml:
11082         * gst/Makefile.am:
11083         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11084         (gst_pad_finalize), (gst_pad_set_pad_template):
11085         * gst/gstpad.h:
11086         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11087         (gst_pad_template_class_init), (gst_pad_template_init),
11088         (gst_pad_template_dispose), (name_is_valid),
11089         (gst_static_pad_template_get), (gst_pad_template_new),
11090         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11091         (gst_pad_template_pad_created):
11092         * gst/gstpadtemplate.h:
11093           inlined two more docs
11094           factored gstpadtemplate out of gstpad
11095
11096 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11097
11098         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11099         (test_children_state_change_order_semi_sink):
11100           Fix test case: we can't rely on a fixed state change order when
11101           going from READY => PAUSED because the sink might commit its 
11102           new state first when the first buffer created by the source 
11103           reaches the sink before the source has finished its change state.
11104           (Test case still fails at times, see #316856, comment 5 onwards)
11105
11106 2005-09-24  Wim Taymans  <wim@fluendo.com>
11107
11108         * docs/design/part-events.txt:
11109         * docs/design/part-gstbus.txt:
11110         * docs/design/part-gstpipeline.txt:
11111         * docs/design/part-messages.txt:
11112         * docs/design/part-overview.txt:
11113         * docs/design/part-segments.txt:
11114         * gst/gstbin.c:
11115         * gst/gstbuffer.c:
11116         * gst/gstclock.c:
11117         * gst/gstelement.c:
11118         * gst/gstevent.c:
11119         * gst/gstfilter.c:
11120         * gst/gstiterator.c:
11121         Various documentation updates.
11122
11123 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11124
11125         * gst/gstclock.h:
11126           Well, that's embarassing.  Luckily we weren't using
11127           GST_CLOCK_DIFF anywhere.
11128
11129 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * common/gtk-doc.mak:
11132           don't fail on building XML, FC4 slave shows a bunch of doc
11133           missing bits that I don't get
11134         * gst/gstpad.c:
11135         * gst/gstpipeline.c:
11136         * gst/gststructure.c:
11137           some doc updates
11138
11139 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11140
11141         * docs/design/part-gstbin.txt:
11142         * docs/design/part-gstbus.txt:
11143         * gst/gstbus.c:
11144           Add blurb about how the bus goes into flushing mode and
11145           drops all messages when its bin goes from READY into NULL 
11146           state.
11147
11148 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * docs/gst/gstreamer-sections.txt:
11151         * gst/gststructure.c: (gst_structure_get_clock_time):
11152         * gst/gststructure.h:
11153           add a method to get a GstClockTime out of a structure
11154
11155 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11156
11157         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11158         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11159           Added test to check state change order in bins (can still be made
11160           to fail here under heavy disk load; bails out with 'Push on pad
11161           fakesink:sink0, but it was not activated in push mode').
11162
11163         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11164           Fix state change order when there is only a semi sink (#316856)
11165
11166         * gst/gstbus.c: (gst_bus_class_init):
11167           Use _class_peek_parent(), not _class_ref(); fix docs to say
11168           'default main context' instead of 'mainloop' where that is
11169           what's meant.
11170
11171         * gst/gstelement.c: (gst_element_commit_state),
11172         (gst_element_set_state):
11173           Fix typos in debug messages
11174
11175 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * docs/README:
11178         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11179         * gst/gstpluginfeature.c:
11180         * gst/gstutils.c:
11181           various doc updates
11182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11183           change an assert into an error until it gets fixed properly
11184
11185 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11186
11187         * docs/gst/gstreamer-sections.txt:
11188         * docs/gst/tmpl/.cvsignore:
11189         * docs/gst/tmpl/gstelement.sgml:
11190         * docs/gst/tmpl/gstinfo.sgml:
11191         * docs/gst/tmpl/gstobject.sgml:
11192         * gst/gstelement.c:
11193         * gst/gstelement.h:
11194         * gst/gstinfo.c:
11195         * gst/gstinfo.h:
11196         * gst/gstobject.c: (gst_object_class_init):
11197         * gst/gstobject.h:
11198           inlined 3 more biiiig doc files and added some missing docs on the fly
11199
11200 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * check/gst/.cvsignore:
11203         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11204         * gst/gstregistryxml.c: (load_plugin),
11205         (gst_registry_xml_save_plugin):
11206           put back source in registry.  add checks for find_plugin.
11207         * testsuite/states/bin.c: (assert_state), (empty_bin),
11208         (test_adding_one_element), (main):
11209         * testsuite/states/locked.c: (main):
11210           some compile/run fixes
11211
11212 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11213
11214         * check/gst/gstvalue.c: (GST_START_TEST):
11215           fix leaks in the test itself
11216
11217 2005-09-22  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11220         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11221         (gst_base_sink_query):
11222         Prepare for more accurate position reporting and query
11223         handling.
11224
11225         * gst/gstelement.c: (gst_element_send_event),
11226         (gst_element_set_state):
11227         Add some comment.
11228
11229 2005-09-22  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11232         (gst_query_parse_segment):
11233         * gst/gstquery.h:
11234         More documentation.
11235         Add segment query for future use.
11236
11237 2005-09-22  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/gstbin.c: (gst_bin_add_func):
11240         Some more debug info.
11241
11242         * gst/gstelement.c: (gst_element_send_event):
11243         Simplify send_event
11244
11245         * gst/gstelement.h:
11246         Don't know how flags got broken.
11247
11248         * gst/gstquery.h:
11249         Added new query.
11250
11251 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11252
11253         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11254           Add simplistic test suite for GST_TYPE_DATE serialisation and
11255           deserialisation.
11256
11257 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11258
11259         * docs/gst/gstreamer-sections.txt:
11260         * gst/gststructure.c: (gst_structure_set_valist),
11261         (gst_structure_get_date):
11262         * gst/gststructure.h:
11263         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11264         (gst_date_copy), (gst_value_compare_date),
11265         (gst_value_serialize_date), (gst_value_deserialize_date),
11266         (gst_value_transform_date_string),
11267         (gst_value_transform_string_date), (_gst_value_initialize):
11268         * gst/gstvalue.h:
11269           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11270           bunch of utility functions along with a hack that checks that
11271           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11272           is required. Part of the grand scheme in #170777.
11273
11274 2005-09-22  Andy Wingo  <wingo@pobox.com>
11275
11276         * gst/gstconfig.h.in: Psych out gtk-doc.
11277
11278         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11279
11280         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11281
11282         * tools/gst-inspect.c (print_element_list): Plug some
11283         inconsequential leaks.
11284
11285         * gst/gstregistry.c (gst_registry_get_default): Doc.
11286
11287         * check/gst/gstplugin.c: 
11288         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11289         * gst/gstelementfactory.c (gst_element_factory_create): 
11290         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11291         refcount changes.
11292
11293         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11294         (gst_plugin_feature_load): Doc, don't eat refs.
11295
11296         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11297         (gst_plugin_list_free): Doc.
11298         (gst_plugin_load_file): Doc updates.
11299
11300         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11301         accessors returning refcounted objects, return a ref.
11302
11303         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11304         accessor for caps. IDEMPOTENCE. Oh yes.
11305
11306 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11307
11308         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11309
11310         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11311         (_gst_debug_register_funcptr):
11312           Add mutex to serialise access to the hash table with
11313           the function pointer => function name string mapping;
11314           make that hash table static scope (#316809).
11315
11316         * gst/registries/.cvsignore:
11317           Remove left-over file.
11318
11319 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11320
11321         * docs/pwg/appendix-porting.xml:
11322           And something about newsegment events and caps-on-buffers to
11323           the porting guide (feel free to improve).
11324
11325 2005-09-21  Andy Wingo  <wingo@pobox.com>
11326
11327         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11328         data and event probes on the same pad.
11329         (test_buffer_probe_once): Test that removing probes from within
11330         the probe functions works.
11331
11332 2005-09-21  Andy Wingo  <wingo@pobox.com>
11333
11334         * check/gst/gstutils.c: New file.
11335         (test_buffer_probe_n_times): A simple buffer probe test. More to
11336         come, foolios.
11337
11338         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11339         have-data::buffer, not have-data.
11340         (gst_pad_add_event_probe): Likewise for have-data::event.
11341         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11342         peer' isn't quite right yet though.
11343         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11344         (gst_pad_remove_data_probe): Change to take the guint handler_id
11345         as their arg, not the function+data, which is more glib-like.
11346
11347         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11348         the signal emission to indicate if the data is a buffer or an
11349         event.
11350         (gst_pad_get_type): Initialize buffer and event quarks.
11351         (gst_pad_class_init): have-data is now a detailed signal, yes it
11352         is.
11353
11354 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11355
11356         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11357         * gst/gstutils.c: (gst_util_set_value_from_string),
11358         (gst_util_set_object_arg):
11359           Don't put functional code in g_return_if_fail() or
11360           g_return_val_if_fail() statements, otherwise things will 
11361           break when G_DISABLE_CHECKS is defined during compilation.
11362
11363 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11364
11365         * docs/gst/tmpl/.cvsignore:
11366         * docs/gst/tmpl/gstvalue.sgml:
11367         * gst/gstvalue.c:
11368         * gst/gstvalue.h:
11369           inlied another one and added  some obvious docs
11370
11371 2005-09-21  Wim Taymans  <wim@fluendo.com>
11372
11373         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11374         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11375         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11376         (gst_fdsrc_get_property), (gst_fdsrc_create):
11377         * gst/elements/gstfdsrc.h:
11378         Properly implement fdsrc. Removed signal and timeout,
11379         better implemented somewhere else.
11380
11381 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11382
11383         * docs/gst/tmpl/.cvsignore:
11384         * docs/gst/tmpl/gstimplementsinterface.sgml:
11385         * gst/gstinterface.c:
11386           inlined more docs
11387
11388 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11389
11390         * docs/gst/gstreamer-sections.txt:
11391         * docs/gst/tmpl/.cvsignore:
11392         * docs/gst/tmpl/gstenumtypes.sgml:
11393           remove obsolete doc file
11394
11395 2005-09-21  David Schleef  <ds@schleef.org>
11396
11397         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11398         little beer, fix a little leak.
11399
11400 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11401
11402         * docs/gst/gstreamer-docs.sgml:
11403         * docs/gst/gstreamer-sections.txt:
11404         * docs/gst/tmpl/.cvsignore:
11405         * gst/Makefile.am:
11406         * gst/gst.h:
11407         * gst/gstbin.c:
11408         * gst/gstelement.h:
11409         * gst/gstindex.c: (gst_index_class_init):
11410         * gst/gstindex.h:
11411         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11412         (gst_index_factory_class_init), (gst_index_factory_init),
11413         (gst_index_factory_finalize), (gst_index_factory_new),
11414         (gst_index_factory_destroy), (gst_index_factory_find),
11415         (gst_index_factory_create), (gst_index_factory_make):
11416         * gst/gstindexfactory.h:
11417         * gst/gstpluginfeature.c:
11418         * gst/gstpluginfeature.h:
11419         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11420           more docs inlined, splitted gstindex.{c,h}
11421
11422 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11423
11424         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11425           fix a leak
11426
11427 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11428
11429         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11430           Set sync to FALSE by default.
11431
11432 2005-09-20  Wim Taymans  <wim@fluendo.com>
11433
11434         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11435         (gst_base_sink_init):
11436         Make sync property settable from subclass.
11437
11438         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11439         (gst_fake_sink_change_state):
11440         Set sync to FALSE by default.
11441
11442 2005-09-20  Wim Taymans  <wim@fluendo.com>
11443
11444         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11445         * tools/gst-launch.c: (main):
11446         The timeout handler should have lower priority than the source
11447         so we don't timeout before popping a message with 0 timeout.
11448         Dump error messages after failed state change.
11449
11450 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11451
11452         * tools/gst-inspect.c: (print_element_properties_info):
11453           Fix two typos.
11454
11455 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11456
11457         * check/gst/gstevent.c:
11458         * gst/elements/gstfakesink.c:
11459         * gst/elements/gstfakesink.h:
11460           remove the sync property from fakesink.
11461           has the side effect of setting sync TRUE
11462           for fakesink, which is a change.  Anyone who knows how
11463           to fix this nicely in a GObject-y way, feel free.
11464
11465 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11466
11467         * docs/gst/gstreamer-docs.sgml:
11468           remove probe refsection
11469
11470 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11471
11472         * check/Makefile.am:
11473           disable valgrinding the controller test again
11474         * docs/gst/gstreamer-sections.txt:
11475           update for api-changes
11476
11477 2005-09-20  Wim Taymans  <wim@fluendo.com>
11478
11479         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11480         (gst_base_sink_set_property), (gst_base_sink_get_property),
11481         (gst_base_sink_do_sync):
11482         * gst/base/gstbasesink.h:
11483         Added sync property to basesink to disable clock sync.
11484
11485 2005-09-20  Andy Wingo  <wingo@pobox.com>
11486
11487         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11488         eating the caller's refcount.
11489
11490         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11491         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11492         refcount.
11493
11494         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11495         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11496         of GLib 2.8 public, so we can know which refcount to check in
11497         tests.
11498
11499         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11500         (gst_object_init): Only set the gst refcount if we're going ahead
11501         with the refcount hack.
11502
11503 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11504
11505         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11506         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11507           more leaks plumbed, added more debug-logging
11508         * gst/gstmacros.h:
11509           whitespace fix
11510
11511 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11512
11513         * gst/gstmessage.c:
11514           remove include of gstmemchunk.h
11515
11516 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * gst/gstclock.c: (_gst_clock_id_free):
11519           Commit from the Political Party For More Atomic CVS Commits,
11520           so that people don't waste too much of their day fishing
11521           out obvious leaks out of massive commits.
11522           Oh, and fix a pretty damn obvious leak in the memchunk
11523           removal code.
11524
11525 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11526
11527         * check/Makefile.am:
11528         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11529           plug mem-leak, re-add to valgrindable tests
11530
11531 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11532
11533         * gst/gstplugin.h:
11534           unbreak the build for those who have chronic arthritis
11535           and typing "make check" is just too taxing on the hands
11536
11537 2005-09-20  Andy Wingo  <wingo@pobox.com>
11538
11539         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11540         really want it out, you should fix plugins at the same time.
11541
11542 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11543
11544         * configure.ac:
11545         * docs/gst/gstreamer-sections.txt:
11546         * gst/gstobject.c:
11547           added missing symbols to api docs
11548           disable ref-count hack if we have glib >= 2.8
11549
11550 2005-09-19  David Schleef  <ds@schleef.org>
11551
11552         * docs/gst/Makefile.am: Ignore a few more internal headers
11553         * docs/gst/gstreamer-docs.sgml: Remove old sections
11554         * docs/gst/gstreamer-sections.txt: Remove old sections
11555         * docs/gst/tmpl/gstobject.sgml: update
11556         * docs/gst/tmpl/gstplugin.sgml: update
11557         * docs/gst/tmpl/gstpluginfeature.sgml: update
11558         * docs/random/ds/0.9-suggested-changes: update.
11559         * gst/Makefile.am: remove memchunk and trashstack, since they're
11560           not used.
11561         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11562         * gst/gst.h: don't include some headers
11563         * gst/gstchildproxy.c: add gstmarshal.h
11564         * gst/gstclock.c: Don't use memchunks
11565         * gst/gstminiobject.c: Add some docs
11566         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11567         * gst/gstobject.h: same
11568         * gst/gstplugin.c: include gstmacros.h
11569         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11570         * gst/gstquery.c: don't use memchunks
11571         * gst/gstregistry.c: rename gst_registry_deinit()
11572         * gst/gstregistry.h: same
11573
11574 2005-09-19  David Schleef  <ds@schleef.org>
11575
11576         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11577         * docs/libs/gstreamer-libs-sections.txt:
11578         * docs/libs/tmpl/gstgetbits.sgml:
11579         * docs/libs/tmpl/gstputbits.sgml:
11580
11581 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11582
11583         * win32/gstenumtypes.c:
11584         * win32/gstenumtypes.h:
11585           Update.
11586
11587 2005-09-19  Wim Taymans  <wim@fluendo.com>
11588
11589         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11590         Automatically PAUSE and RESUME a pipeline when a flushing seek
11591         is performed.
11592
11593 2005-09-19  Andy Wingo  <wingo@pobox.com>
11594
11595         * gst/gstregistry.h: Spacing fixen.
11596
11597 2005-09-19  Wim Taymans  <wim@fluendo.com>
11598
11599         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11600         Handle state change failure more correctly.
11601
11602 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11603
11604         * check/Makefile.am:
11605         * check/pipelines/cleanup.c: (run_pipeline):
11606         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11607         (GST_START_TEST):
11608           enable cleanup again after fixing the leak
11609         * docs/README:
11610           some more info on docs
11611
11612 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11613
11614         * check/Makefile.am:
11615           re-enable tests now that leaks are plugged
11616         * check/gst/gst.c:
11617         * check/gst/gstbin.c:
11618         * check/gst/gstpipeline.c:
11619           add some more tests while fixing leaks
11620         * common/check.mak:
11621           make sure binaries are uptodate when valgrinding/gdbing
11622         * gst/gst.c:
11623         * gst/gstelementfactory.c:
11624           remove a ref too many, and add a FIXME for when we get
11625           round to disposing of classes
11626         * gst/gstplugin.c:
11627           fix the refcounting when loading a plugin from a file and
11628           the code pretends that the pointer is the same even though
11629           of course it can change
11630         * gst/gstpluginfeature.c:
11631           unref plugins marked cached (a bit confusing as a name)
11632           as the docs state should be done
11633           various doc additions to explain refcounting
11634         * gst/gstregistry.c:
11635         * gst/gstregistryxml.c:
11636           debugging
11637
11638 2005-09-19  Wim Taymans  <wim@fluendo.com>
11639
11640         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11641         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11642         (send_messages), (GST_START_TEST), (gstbus_suite):
11643         * check/gst/gstpipeline.c: (GST_START_TEST):
11644         * check/pipelines/cleanup.c: (run_pipeline):
11645         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11646         (GST_START_TEST):
11647         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11648         (gst_bus_source_check), (gst_bus_source_dispatch),
11649         (gst_bus_create_watch), (gst_bus_add_watch_full),
11650         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11651         * gst/gstbus.h:
11652         * tools/gst-launch.c: (event_loop):
11653         * tools/gst-md5sum.c: (event_loop):
11654         GstBusHandler -> GstBusFunc, return value has the same meaning as
11655         any other GSource (FALSE == remove source).
11656         _add_watch() and _add_watch_full() now take a MessageType mask to
11657         only handle specific types of messages.
11658         _poll() returns the GstMessage instead of the message type to avoid
11659         race conditions.
11660         _have_pending() takes a MessageType mask now too.
11661         Added testsuite for multiple bus watches.
11662         Fix testsuites and applications for new bus API.
11663
11664 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * check/Makefile.am:
11667           mark a bunch of the tests as to fix until we fix them
11668
11669 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11670
11671         * common/check.mak:
11672           use GST_PLUGIN settings for valgrind tests as well, so we're
11673           valgrinding the correct thing
11674         * gst/gst.c: (init_post):
11675           plug another leak
11676
11677 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11678
11679         * gst/gst.c: (init_post), (gst_deinit):
11680         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11681         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11682         * gst/gstindex.c: (gst_index_factory_class_init),
11683         (gst_index_factory_finalize):
11684         * gst/gstobject.c: (gst_object_dispose):
11685         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11686         (gst_plugin_load_file), (gst_plugin_desc_free):
11687         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11688         (gst_plugin_feature_finalize):
11689         * gst/gstregistry.c: (gst_registry_class_init),
11690         (gst_registry_init), (gst_registry_finalize),
11691         (gst_registry_get_default), (gst_registry_deinit):
11692         * gst/gstregistry.h:
11693         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11694           various cleanups and memleak plugging.  make valgrind is happy now.
11695
11696 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11697
11698         * common/check.mak:
11699           add a check-valgrind target
11700
11701 2005-09-18  David Schleef  <ds@schleef.org>
11702
11703         * tools/gst-inspect.c: Revert the GOption code.
11704
11705 2005-09-17  David Schleef  <ds@schleef.org>
11706
11707         * check/Makefile.am: Fix environment variables.
11708         * check/gst/gstplugin.c: Fix for API changes.
11709         * tools/gst-inspect.c: Fix for API changes.
11710         * tools/gst-xmlinspect.c: Fix for API changes.
11711         * gst/gstelementfactory.c:
11712         * gst/gstplugin.c:
11713         * gst/gstplugin.h:
11714         * gst/gstpluginfeature.c:
11715         * gst/gstpluginfeature.h:
11716         * gst/gstregistry.c:
11717         * gst/gstregistry.h:
11718         * gst/gstregistryxml.c:
11719         * gst/gsttypefind.c:
11720         * gst/gsttypefindfactory.c:
11721         * gst/indexers/gstfileindex.c:
11722         * gst/indexers/gstmemindex.c:
11723         * gst/schedulers/Makefile.am:
11724           Change registry to keep track of both plugins and features,
11725           removing the feature tracking from plugins themselves.
11726
11727 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11728
11729         * check/Makefile.am:
11730         * tools/gst-register.1.in:
11731           remove gst-register
11732
11733 2005-09-15  David Schleef  <ds@schleef.org>
11734
11735         * check/gst/gstplugin.c:
11736         * gst/gstelementfactory.c:
11737         * gst/gstplugin.c:
11738         * gst/gstpluginfeature.c:
11739         * gst/gstregistry.c:
11740           Getting tired of debugging.  Disabled all the unreffing of
11741           plugins and features, which fixes the segfaults, but of
11742           course leaks like crazy.  At least playbin works.
11743
11744 2005-09-15  David Schleef  <ds@schleef.org>
11745
11746         * check/gst/gstplugin.c: (register_check_elements),
11747         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11748         More testing
11749         * gst/elements/gsttypefindelement.c: Fix refcounting.
11750         * gst/gsttypefind.c:
11751         * gst/gsttypefindfactory.c:
11752         * gst/gsttypefindfactory.h:
11753
11754 2005-09-15  David Schleef  <ds@schleef.org>
11755
11756         * gst/gstindex.c: get refcounting correct.
11757         * gst/gstregistry.c: Handle the case where a feature/plugin is
11758           not found.
11759
11760 2005-09-15  David Schleef  <ds@schleef.org>
11761
11762         * check/Makefile.am:
11763         * check/gst/gstplugin.c: Add test
11764         * gst/gstplugin.c: Fix problems noticed by testsuite
11765         * gst/gstplugin.h:
11766         * gst/gstregistry.c: 
11767         * gst/gstregistry.h:
11768
11769 2005-09-15  David Schleef  <ds@schleef.org>
11770
11771         * gst/gstplugin.c: Implement semi-decent recounting and locking
11772           in plugins and plugin features.
11773         * gst/gstplugin.h:
11774         * gst/gstpluginfeature.c:
11775         * gst/gstpluginfeature.h:
11776         * gst/gstregistry.c:
11777
11778 2005-09-15  Michael Smith <msmith@fluendo.com>
11779
11780         * gst/gstregistry.c: (gst_registry_get_feature_list):
11781           Implement this. Makes oggdemux work; decodebin still broken.
11782
11783 2005-09-14  David Schleef  <ds@schleef.org>
11784
11785         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11786           #316076)
11787         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11788         * gst/check/Makefile.am:
11789         * libs/gst/controller/Makefile.am:
11790         * libs/gst/dataprotocol/Makefile.am:
11791
11792 2005-09-14  David Schleef  <ds@schleef.org>
11793
11794         * configure.ac: Remove getbits library.  Nothing uses it, and
11795           it should be in something like liboil if someone did want
11796           to use it.
11797         * libs/gst/Makefile.am:
11798         * libs/gst/getbits/Makefile.am:
11799         * libs/gst/getbits/gbtest.c:
11800         * libs/gst/getbits/getbits.c:
11801         * libs/gst/getbits/getbits.h:
11802         * libs/gst/getbits/gstgetbits_generic.c:
11803         * libs/gst/getbits/gstgetbits_i386.s:
11804         * libs/gst/getbits/gstgetbits_inl.h:
11805
11806 2005-09-14  David Schleef  <ds@schleef.org>
11807
11808         * gst/Makefile.am: Dist glib-compat.h
11809
11810 2005-09-14  David Schleef  <ds@schleef.org>
11811
11812         * configure.ac: Remove gst/registries, since it's no longer used.
11813         * gst/registries/Makefile.am:
11814         * gst/registries/gstlibxmlregistry.c:
11815         * gst/registries/gstlibxmlregistry.h:
11816         * gst/registries/gstxmlregistry.c:
11817         * gst/registries/gstxmlregistry.h:
11818         * gst/registries/registrytest.c:
11819
11820 2005-09-14  David Schleef  <ds@schleef.org>
11821
11822         * gst/glib-compat.h:
11823         * gst/gstregistryxml.c:
11824           Convergence is near.  Seriously.
11825
11826 2005-09-14  David Schleef  <ds@schleef.org>
11827
11828         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11829         * gst/glib-compat.h:
11830           Attempt #4 to appease the buildbots.
11831
11832 2005-09-14  David Schleef  <ds@schleef.org>
11833
11834         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11835           Attempt #3.
11836
11837 2005-09-14  David Schleef  <ds@schleef.org>
11838
11839         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11840         Attempt #2.
11841
11842 2005-09-14  David Schleef  <ds@schleef.org>
11843
11844         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11845           the new functions.
11846
11847 2005-09-14  David Schleef  <ds@schleef.org>
11848
11849         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11850         * gst/glib-compat.h: Add some functions that are in newer versions
11851           of glib than we care to require.
11852         * gst/gstregistryxml.c: Use them.
11853
11854 2005-09-14  David Schleef  <ds@schleef.org>
11855
11856         * po/POTFILES.in: remove gst-register.c
11857
11858 2005-09-14  David Schleef  <ds@schleef.org>
11859
11860         * docs/gst/gstreamer-docs.sgml:
11861         * docs/gst/gstreamer-sections.txt:
11862         * docs/gst/gstreamer.types:
11863         * docs/gst/tmpl/gstelement.sgml:
11864         * docs/gst/tmpl/gstplugin.sgml:
11865         * docs/gst/tmpl/gstpluginfeature.sgml:
11866           Documentation updates for registry changes.
11867
11868 2005-09-14  David Schleef  <ds@schleef.org>
11869
11870         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11871           because we don't require glib-2.8.
11872
11873 2005-09-14  David Schleef  <ds@schleef.org>
11874
11875         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11876           registries directory.
11877
11878 2005-09-14  David Schleef  <ds@schleef.org>
11879
11880         * check/Makefile.am:
11881         * check/generic/states.c:
11882         * gst/Makefile.am:
11883         * gst/gst.c:
11884         * gst/gst.h:
11885         * gst/gst_private.h:
11886         * gst/gstelementfactory.c:
11887         * gst/gstindex.c:
11888         * gst/gstinfo.c:
11889         * gst/gstplugin.c:
11890         * gst/gstplugin.h:
11891         * gst/gstpluginfeature.c:
11892         * gst/gstpluginfeature.h:
11893         * gst/gstregistry.c:
11894         * gst/gstregistry.h:
11895         * gst/gstregistrypool.c: remove
11896         * gst/gstregistrypool.h: remove
11897         * gst/gsttypefind.c:
11898         * gst/gsttypefindfactory.c:
11899         * gst/gsturi.c:
11900         * tools/Makefile.am:
11901         * tools/gst-compprep.c:
11902         * tools/gst-inspect.c:
11903         * tools/gst-register.c: remove
11904         * tools/gst-xmlinspect.c:
11905           Registry rewrite.  Changes registry from being a file created
11906           by a tool into a simple cache file created automatically by 
11907           libgstreamer.  Removed gst-register (because it's no longer
11908           needed).  Remove registry pools, because we only have one
11909           registry implementation (XML).  Fix up other subsystems as
11910           necessary.
11911
11912 2005-09-13  Michael Smith <msmith@fluendo.com>
11913
11914         * gst/gstconfig.h.in:
11915           Don't Use windows linking attributes for MinGW. Fixes #316157
11916
11917 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11918
11919         * gst/gstutils.c: (set_state_async_thread_func),
11920         (gst_element_set_state_async):
11921           Apparently people think it's better if this function doesn't
11922           try to set the state to whatever state was asked for on the first
11923           call to this function for any object.  Seriously.
11924
11925 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11926
11927         * check/gst/gstpipeline.c: (GST_START_TEST):
11928         * docs/gst/gstreamer-sections.txt:
11929         * gst/gstutils.c: (set_state_async_thread_func),
11930         (gst_element_set_state_async):
11931         * gst/gstutils.h:
11932           add a "gst_element_set_state_async" method that
11933           sets the state and starts a thread to make sure the state
11934           change completes as best as it can
11935
11936 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11937
11938         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11939           codify design+behaviour in testsuite after discussion
11940
11941 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * docs/gst/tmpl/gstelement.sgml:
11944         * docs/manual/appendix-quotes.xml:
11945           add a quote
11946         * gst/gstelement.c: (gst_element_set_state):
11947           add some debug
11948
11949 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11950
11951         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11952         (gst_base_transform_prepare_output_buf),
11953         (gst_base_transform_handle_buffer):
11954         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11955         (gst_capsfilter_prepare_buf):
11956           Remove the requirement for sub-classes to call the parent
11957           implementation of prepare_output_buffer with a wrapper function.
11958           
11959         * gst/gsttaglist.h:
11960         * gst/gsttagsetter.h:
11961           Fix #define wrapper
11962
11963 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11964
11965         * docs/gst/gstreamer-sections.txt:
11966           more doc cleanups
11967
11968 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11969
11970         * docs/gst/gstreamer-sections.txt:
11971         * docs/gst/tmpl/gstelement.sgml:
11972         * docs/gst/tmpl/gstplugin.sgml:
11973         * gst/gstminiobject.c:
11974         * gst/gstvalue.h:
11975           docs now stop throwing warnings
11976
11977 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11978
11979         * docs/gst/gstreamer-sections.txt:
11980         * docs/gst/gstreamer.types:
11981         * docs/gst/tmpl/gstpad.sgml:
11982         * docs/gst/tmpl/gsttypes.sgml:
11983         * gst/base/gstadapter.h:
11984         * gst/base/gstbasesink.h:
11985         * gst/base/gstbasesrc.h:
11986         * gst/gstbin.h:
11987         * gst/gstbuffer.h:
11988         * gst/gstbus.h:
11989         * gst/gstcaps.h:
11990         * gst/gstclock.h:
11991         * gst/gstelement.h:
11992         * gst/gstevent.h:
11993         * gst/gstmessage.h:
11994         * gst/gstpad.h:
11995         * gst/gststructure.c:
11996         * gst/registries/gstlibxmlregistry.h:
11997           various documentation fixes
11998
11999 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * docs/gst/gstreamer-sections.txt:
12002         * docs/gst/tmpl/gstvalue.sgml:
12003           rearrange gstvalue section
12004         * gst/gstutils.c: (gst_element_state_get_name):
12005           NONE -> VOID
12006         * gst/gstvalue.c: (_gst_value_initialize):
12007         * gst/gstvalue.h:
12008           doc updates
12009
12010 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12011
12012         * check/gst-libs/controller.c:
12013           Header include fix.
12014         * gst/base/gstbasetransform.c:
12015         (gst_base_transform_default_prepare_buf),
12016         (gst_base_transform_handle_buffer):
12017         * gst/base/gstbasetransform.h:
12018           Some more basetransform changes and fixes to enable sub-classes
12019           that modify buffer metadata only.
12020         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12021         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12022         (gst_capsfilter_prepare_buf):
12023           If the output pad has fixed allowed caps and input buffers 
12024           don't have any, set the fixed caps on outgoing buffers.
12025
12026 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12027         * check/elements/identity.c: (GST_START_TEST):
12028           Make the error a little clearer when the test fails because
12029           identity made a copy of the buffer.
12030         * docs/gst/gstreamer-sections.txt:
12031           New symbols in gstbasetransform.h
12032         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12033         (gst_base_transform_init), (gst_base_transform_transform_size),
12034         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12035         (gst_base_transform_default_prepare_buf),
12036         (gst_base_transform_get_unit_size),
12037         (gst_base_transform_buffer_alloc),
12038         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12039         (gst_base_transform_change_state),
12040         (gst_base_transform_set_passthrough),
12041         (gst_base_transform_set_in_place),
12042         (gst_base_transform_is_in_place):
12043         * gst/base/gstbasetransform.h:
12044           Change BaseTransform to separate in_place operate from same_caps
12045           output. in_place implies that the element can perform the transform
12046           on incoming buffers in-place, even if the caps on the output are
12047           different.
12048           Sub-class elements can now implement special buffer allocation
12049           methods for outgoing buffers if they wish to.
12050           Big documentation addition.
12051         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12052         * gst/elements/gstelements.c:
12053           Changes for basetransform modifications.
12054         * gst/elements/Makefile.am:
12055         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12056           Compile fix. Extra debug output.
12057
12058 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12061         (gst_pad_suite):
12062           add tests for valid pad naming
12063         * gst/check/gstcheck.c: (gst_check_log_message_func),
12064         (gst_check_log_critical_func):
12065           add ASSERT_WARNING
12066           remove printing of code, it is fragile when the code contains
12067           % and the line number is enough info
12068         * gst/check/gstcheck.h:
12069         * gst/gstpad.c: (gst_pad_template_new):
12070           fix memleaks
12071
12072 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12073
12074         * configure.ac:
12075           say what CHECK flags we use
12076         * docs/libs/gstreamer-libs.types:
12077         * libs/gst/controller/Makefile.am:
12078         * libs/gst/controller/gst-controller.c:
12079         * libs/gst/controller/gst-controller.h:
12080         * libs/gst/controller/gst-helper.c:
12081         * libs/gst/controller/gst-interpolation.c:
12082         * libs/gst/controller/gstcontroller.c:
12083         * libs/gst/controller/gsthelper.c:
12084         * libs/gst/controller/gstinterpolation.c:
12085         * tools/gst-inspect.c: (print_plugin_info):
12086           we don't use dashes in header names
12087
12088 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12089
12090         * check/Makefile.am:
12091         * check/gst/.cvsignore:
12092         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12093         (gst_pipeline_suite), (main):
12094           adding a test for pipelines and state changes
12095         * gst/gstutils.c: (get_state_func):
12096           add some debugging
12097         * gstreamer.spec.in:
12098           fix up spec file
12099
12100 2005-09-08  Michael Smith <msmith@fluendo.com>
12101
12102         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12103         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12104         (gst_file_src_is_seekable), (gst_file_src_get_size),
12105         (gst_file_src_start):
12106         * gst/elements/gstfilesrc.h:
12107           Various fixes for unseekable, unmmapable, and non-normal files, so
12108           that fallback to read() rather than mmap() works.
12109         * gst/gstevent.c: (gst_event_new_newsegment):
12110           Allow newsegment events with segment_start == segment_end, as will
12111           correctly happen if you use filesrc on a zero-size file, for
12112           example.
12113
12114 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12115
12116         * gst/gstplugin.c: (gst_plugin_load_file):
12117           Call g_module_close when we don't load the module
12118
12119         * gst/registries/gstlibxmlregistry.c:
12120         (gst_xml_registry_get_property):
12121           Port leak fix from 0.8
12122
12123 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12124
12125         * docs/gst/gstreamer-docs.sgml:
12126         * docs/gst/tmpl/.cvsignore:
12127         * docs/gst/tmpl/gsttrace.sgml:
12128         * docs/gst/tmpl/gsttrashstack.sgml:
12129         * gst/Makefile.am:
12130         * gst/gst.h:
12131         * gst/gstelement.h:
12132         * gst/gstevent.h:
12133         * gst/gstmessage.c:
12134         * gst/gstmessage.h:
12135         * gst/gsttag.c:
12136         * gst/gsttag.h:
12137         * gst/gsttaginterface.c:
12138         * gst/gsttaginterface.h:
12139         * gst/gsttaglist.c:
12140         * gst/gsttaglist.h:
12141         * gst/gsttagsetter.c:
12142         * gst/gsttagsetter.h:
12143         * gst/gsttrace.c:
12144         * gst/gsttrace.h:
12145         * gst/gsttrashstack.c:
12146           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12147           inlined docs for gsttrace, gsttrashstack
12148
12149 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12150
12151         * gst/Makefile.am:
12152         * gst/elements/gstbufferstore.h:
12153         * gst/elements/gsttypefindelement.c:
12154         * gst/elements/gsttypefindelement.h:
12155         * gst/gst.h:
12156         * gst/gsttypefind.c:
12157         * gst/gsttypefind.h:
12158         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12159         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12160         (gst_type_find_factory_dispose),
12161         (gst_type_find_factory_unload_thyself),
12162         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12163         (gst_type_find_factory_get_caps),
12164         (gst_type_find_factory_get_extensions),
12165         (gst_type_find_factory_call_function):
12166         * gst/gsttypefindfactory.h:
12167         * gst/registries/gstlibxmlregistry.c:
12168         * gst/registries/gstxmlregistry.c:
12169           splitted gsttypefind into gsttypefind, gsttypefindfactory
12170
12171 2005-09-07  Andy Wingo  <wingo@pobox.com>
12172
12173         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12174         condition whereby the pad's task function is entered before the
12175         pad_mode variable was set.
12176
12177 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12178
12179         * gst/gstpad.c: (gst_pad_alloc_buffer):
12180           Catch misbehaving pad_alloc functions that don't
12181           set up caps and do it for them.
12182
12183 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12184
12185         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12186           test for pipe!=NULL
12187         * docs/gst/tmpl/.cvsignore:
12188         * docs/gst/tmpl/gstmemchunk.sgml:
12189         * docs/gst/tmpl/gstparse.sgml:
12190         * docs/gst/tmpl/gsttaglist.sgml:
12191         * docs/gst/tmpl/gsttagsetter.sgml:
12192         * docs/gst/tmpl/gsttypefind.sgml:
12193         * docs/gst/tmpl/gsttypefindfactory.sgml:
12194         * gst/gstmemchunk.c:
12195         * gst/gstparse.c:
12196         * gst/gsttag.c:
12197         * gst/gsttaginterface.c:
12198         * gst/gsttypefind.c:
12199         * gst/gsttypefind.h:
12200           inlined more docs
12201
12202 === release 0.9.2 ===
12203
12204 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12205
12206         * NEWS:
12207         * RELEASE:
12208         * configure.ac:
12209           releasing 0.9.2, "South"
12210
12211 2005-09-05  Andy Wingo  <wingo@pobox.com>
12212
12213         * gst/registries/gstxmlregistry.h:
12214         * gst/registries/gstxmlregistry.c: Um... resurrect...
12215         
12216         * gst/registries/gstxmlregistry.h:
12217         * gst/registries/gstxmlregistry.c: and update to newer API.
12218         Incidentally they should be a bit faster now that they don't have
12219         to parse the caps.
12220         
12221 2005-09-05  Andy Wingo  <wingo@pobox.com>
12222
12223         * gst/registries/gstxmlregistry.h:
12224         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12225         replaced by the libxml registry a while back
12226
12227 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12228
12229         * docs/gst/tmpl/gstplugin.sgml:
12230         * gst/elements/gstelements.c:
12231         * gst/gst.c:
12232         * gst/gstplugin.c: (gst_plugin_register_func),
12233         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12234         (gst_plugin_get_source):
12235         * gst/gstplugin.h:
12236         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12237         (gst_xml_registry_save_plugin):
12238         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12239         (gst_xml_registry_save_plugin):
12240         * tools/gst-inspect.c: (print_plugin_info):
12241           add a "source" plugin description field, to represent the source
12242           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12243           will set it to PACKAGE, which is automake's idea of the name of
12244           the source project.
12245
12246 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12247
12248         * Makefile.am:
12249         * autogen.sh:
12250         * configure.ac:
12251         * docs/Makefile.am:
12252         * docs/faq/Makefile.am:
12253         * docs/gst/tmpl/gstelement.sgml:
12254         * docs/gst/tmpl/gsttypes.sgml:
12255         * docs/htmlinstall.mak:
12256         * docs/manual/Makefile.am:
12257         * docs/pwg/Makefile.am:
12258           reorganize doc build a little
12259           split out docbook and gtk-doc stuff
12260           have two separate --enable's and enable them through autogen
12261           but disable by default in configure (to be similar to other
12262           projects)
12263         * gstreamer.spec.in:
12264           clean up docs install
12265         * po/af.po:
12266         * po/az.po:
12267         * po/ca.po:
12268         * po/cs.po:
12269         * po/de.po:
12270         * po/en_GB.po:
12271         * po/fr.po:
12272         * po/it.po:
12273         * po/nb.po:
12274         * po/nl.po:
12275         * po/ru.po:
12276         * po/sq.po:
12277         * po/sr.po:
12278         * po/sv.po:
12279         * po/tr.po:
12280         * po/uk.po:
12281         * po/vi.po:
12282           translation updates
12283
12284 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12285
12286         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12287           Add comment.
12288           
12289         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12290         (gst_fake_sink_change_state):
12291           Make state change function thread-safe.
12292           
12293         * gst/gstpad.c: (gst_pad_alloc_buffer):
12294           Set offset on generic buffer allocated by fallback.
12295
12296 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12297
12298         * docs/gst/gstreamer-sections.txt:
12299         * docs/gst/tmpl/gstelement.sgml:
12300         * gst/gstpad.c:
12301         * libs/gst/controller/gst-controller.c:
12302         (gst_controlled_property_set_interpolation_mode),
12303         (gst_controlled_property_new),
12304         (gst_controller_find_controlled_property):
12305          run the wingo-magic script against the docs
12306
12307 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12308
12309         * docs/gst/gstreamer-docs.sgml:
12310         * docs/gst/gstreamer-sections.txt:
12311         * docs/gst/tmpl/.cvsignore:
12312         * docs/gst/tmpl/gstelementdetails.sgml:
12313         * docs/gst/tmpl/gstelementfactory.sgml:
12314         * gst/gst.c:
12315         * gst/gstbus.c:
12316         * gst/gstelementfactory.c:
12317         * gst/gstelementfactory.h:
12318           merged elementdetails docs into elementfactory docs
12319           inlined both
12320
12321 2005-09-02  Andy Wingo  <wingo@pobox.com>
12322
12323         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12324         consider this enum an enum and not a flags.
12325
12326 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12327
12328         * docs/gst/gstreamer-docs.sgml:
12329         * docs/gst/tmpl/.cvsignore:
12330         * docs/gst/tmpl/gstghostpad.sgml:
12331         * docs/gst/tmpl/gstiterator.sgml:
12332         * docs/gst/tmpl/gstmacros.sgml:
12333         * docs/gst/tmpl/gstrealpad.sgml:
12334         * docs/gst/tmpl/gstregistry.sgml:
12335         * docs/gst/tmpl/gstregistrypool.sgml:
12336         * docs/gst/tmpl/gststructure.sgml:
12337         * docs/gst/tmpl/gstsystemclock.sgml:
12338         * docs/gst/tmpl/gsttrace.sgml:
12339         * gst/gstghostpad.c:
12340         * gst/gstmacros.h:
12341         * gst/gstmemchunk.c:
12342         * gst/gstmemchunk.h:
12343         * gst/gstqueue.c:
12344         * gst/gstregistry.c:
12345         * gst/gstregistrypool.c:
12346         * gst/gststructure.c:
12347         * gst/gstsystemclock.c:
12348           more docs inlined
12349
12350 2005-09-02  Andy Wingo  <wingo@pobox.com>
12351
12352         * gst/gstelement.h (GstState): Renamed from GstElementState,
12353         changed to be a normal enum instead of flags.
12354         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12355         munged to be GST_STATE_CHANGE_*.
12356         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12357         work with the new state representation.
12358         (GstStateChange): New enumeration of possible state transitions.
12359         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12360         (GstElementClass::change_state): Pass the GstStateChange along as
12361         an argument. Helps language bindings, so they don't have to use
12362         tricky lock-needing macros like GST_STATE_CHANGE ().
12363
12364         * scripts/update-states (file): New script. Run it on a file to
12365         update it for state naming and API changes. Updates files in
12366         place.
12367
12368         * All files updated for the new API.
12369
12370 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12371
12372         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12373         * gst/gstutils.c: (gst_util_set_value_from_string),
12374         (gst_util_set_object_arg):
12375           fix a bunch of unchecked return values
12376         * tools/gst-complete.c: (main):
12377         * gstreamer.spec.in:
12378           clean up a little
12379
12380 2005-09-01  Wim Taymans  <wim@fluendo.com>
12381
12382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12383         (gst_base_sink_event), (gst_base_sink_do_sync),
12384         (gst_base_sink_handle_event):
12385         * gst/base/gstbasesink.h:
12386         Handle newsegments more correctly.
12387
12388         * gst/gstbus.c:
12389         Fix docs.
12390
12391         * gst/gstevent.c: (gst_event_new_newsegment):
12392         A newsegment cannot have a start_time of -1
12393
12394 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12395
12396         * win32/gstenumtypes.c:
12397         * win32/gstenumtypes.h:
12398           Update
12399
12400 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12401
12402         * libs/gst/controller/gst-controller.c:
12403         (gst_controlled_property_set_interpolation_mode),
12404         (gst_controlled_property_new):
12405          fixed boolean again
12406
12407 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12408
12409         * docs/faq/gst-uninstalled:
12410           add -good
12411         * gst/gstevent.c:
12412         * gst/gstevent.h:
12413           remove wrong docs
12414         * gst/gstutils.c: (gst_element_link_filtered):
12415         * gst/gstutils.h:
12416           add gst_element_link_filtered
12417
12418 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12419
12420         * docs/gst/gstreamer-docs.sgml:
12421         * docs/gst/gstreamer-sections.txt:
12422         * docs/gst/tmpl/.cvsignore:
12423         * docs/gst/tmpl/gsterror.sgml:
12424         * docs/gst/tmpl/gstfilter.sgml:
12425         * docs/gst/tmpl/gsturihandler.sgml:
12426         * docs/gst/tmpl/gsturitype.sgml:
12427         * docs/gst/tmpl/gstutils.sgml:
12428         * docs/gst/tmpl/gstxml.sgml:
12429         * gst/gsterror.c:
12430         * gst/gsterror.h:
12431         * gst/gstfilter.c:
12432         * gst/gsturi.c:
12433         * gst/gsturitype.c:
12434         * gst/gstutils.c:
12435         * gst/gstxml.c:
12436           inlined more docs, fixed double id-ref
12437
12438 2005-08-31  Wim Taymans  <wim@fluendo.com>
12439
12440         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12441         (gst_base_transform_handle_buffer):
12442         Passthrough elements don't need the caps as they don't care.
12443
12444 2005-08-31  Wim Taymans  <wim@fluendo.com>
12445
12446         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12447         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12448         Don't leak refcounts on buffers.
12449
12450 2005-08-31  Wim Taymans  <wim@fluendo.com>
12451
12452         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12453         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12454         (gst_base_transform_chain), (gst_base_transform_change_state):
12455         * gst/base/gstbasetransform.h:
12456         Handle the case where we are not negotiated more gracefully.
12457
12458 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12459
12460         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12461         (gst_file_src_map_region):
12462           Set READONLY flag on mmap'ed buffers, otherwise
12463           gst_buffer_make_writable() won't work properly (#314708).
12464
12465 2005-08-31  Wim Taymans  <wim@fluendo.com>
12466
12467         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12468         passthrough elements can even do inplace on non writable
12469         buffers (as they don't touch them).
12470
12471 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12472
12473         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12474         (gst_test_mono_source_set_property),
12475         (gst_test_mono_source_class_init), (GST_START_TEST),
12476         (gst_controller_suite):
12477           more tests (hehe I have the most)
12478         * gst/gstbus.c:
12479           describe popping messages whenusing mulltiple sources
12480         * libs/gst/controller/gst-controller.c:
12481         (gst_controlled_property_set_interpolation_mode),
12482         (gst_controlled_property_new):
12483         * libs/gst/controller/gst-controller.h:
12484         * libs/gst/controller/gst-interpolation.c:
12485           implement boolean properties
12486
12487 2005-08-31  Wim Taymans  <wim@fluendo.com>
12488
12489         * gst/gstminiobject.c: (gst_mini_object_ref):
12490         Cannot assert that the refcount has to be positive
12491         since a disposed object can be resurrected.
12492
12493 2005-08-31  Wim Taymans  <wim@fluendo.com>
12494
12495         * gst/gstpad.c: (gst_pad_init):
12496         Revert change, need to first fix badly behaving 
12497         apps.
12498
12499 2005-08-30  Wim Taymans  <wim@fluendo.com>
12500
12501         * check/elements/fakesrc.c: (setup_fakesrc):
12502         * check/elements/identity.c: (setup_identity):
12503         Activate pads before using them.
12504
12505 2005-08-30  Wim Taymans  <wim@fluendo.com>
12506
12507         * gst/base/gstadapter.c: (gst_adapter_flush):
12508         Flushing out 0 bytes is ok for this function.
12509
12510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12511         no newsegment gives a warning and sets the start/stop to 
12512         invalid.
12513
12514         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12515         (gst_base_transform_set_passthrough):
12516         Some debug info.
12517
12518         * gst/gstminiobject.c: (gst_mini_object_ref):
12519         Check refcount here too.
12520
12521         * gst/gstpad.c: (gst_pad_init):
12522         Pads are initially flushing and refusing data.
12523
12524         * gst/gstutils.c: (gst_element_link_pads_filtered):
12525         When adding a capsfilter element make sure it has the
12526         same state as the parent bin.
12527
12528 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12529
12530         * docs/gst/tmpl/.cvsignore:
12531         * docs/gst/tmpl/gstformat.sgml:
12532         * docs/gst/tmpl/gstversion.sgml:
12533         * gst/gstbus.h:
12534         * gst/gstformat.c:
12535         * gst/gstformat.h:
12536         * gst/gstversion.h.in:
12537           more docs and two more inlined
12538
12539 2005-08-30  Wim Taymans  <wim@fluendo.com>
12540
12541         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12542         Don't sync to clock.
12543
12544 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12545
12546         * docs/gst/gstreamer-sections.txt:
12547           ultral33t func10ns deserve to appear in the docs actually
12548         * docs/gst/tmpl/.cvsignore:
12549         * docs/gst/tmpl/gstcompat.sgml:
12550         * docs/gst/tmpl/gstconfig.sgml:
12551         * gst/check/gstcheck.c:
12552         * gst/gstcompat.h:
12553         * gst/gstconfig.h.in:
12554           inlined more docs
12555
12556 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12557
12558         * docs/gst/tmpl/.cvsignore:
12559         * docs/gst/tmpl/gstquery.sgml:
12560         * docs/gst/tmpl/gstutils.sgml:
12561         * gst/gstquery.c:
12562         * gst/gstquery.h:
12563           inlined and extended docs
12564
12565 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12566
12567         * check/gst-libs/controller.c: (GST_START_TEST),
12568         (gst_controller_suite):
12569           more tests
12570         * docs/gst/tmpl/gstutils.sgml:
12571         * docs/libs/gstreamer-libs-sections.txt:
12572         * docs/libs/tmpl/gstdataprotocol.sgml:
12573           include path fixes
12574         * examples/controller/audio-example.c: (main):
12575           controller example works now
12576         * gst/gstclock.h:
12577           doc fixes
12578         * tools/gst-inspect.c: (print_element_properties_info):
12579           show param spec flags
12580
12581 2005-08-29  Andy Wingo  <wingo@pobox.com>
12582
12583         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12584
12585 2005-08-28  Andy Wingo  <wingo@pobox.com>
12586
12587         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12588         as having two arguments instead of just one. Allows superclasses
12589         to access information on subclasses -- see the terrible for() loop
12590         in gtype.c:g_type_create_instance for the reason why. All callers
12591         changed.
12592
12593 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12594
12595         * docs/design/part-messages.txt:
12596           update info
12597         * docs/gst/tmpl/.cvsignore:
12598         * docs/gst/tmpl/gstcaps.sgml:
12599         * docs/gst/tmpl/gstclock.sgml:
12600         * gst/gstbus.c:
12601         * gst/gstcaps.c:
12602         * gst/gstcaps.h:
12603         * gst/gstclock.c:
12604         * gst/gstclock.h:
12605         * gst/gstmessage.c:
12606           added descriptions for bus and message
12607           inline caps and clock docs
12608
12609 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12610
12611         * gst/gstmessage.c:
12612         * gst/gstmessage.h:
12613           doc fixes
12614
12615 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12616
12617         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12618           fix div-by-zero
12619
12620 2005-08-26  Andy Wingo  <wingo@pobox.com>
12621
12622         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12623         element_set_state's return val.
12624         (test_2_elements): Add test that's been disabled for months.
12625
12626         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12627         can-activate-pull properties.
12628
12629         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12630         can-activate-pull properties. Implement is_seekable so fakesrc can
12631         operate in pull mode.
12632
12633         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12634         properties.
12635         (gst_base_sink_activate, gst_base_sink_activate_pull)
12636         (gst_base_sink_activate_push): Make activation mode choosing work.
12637         Cleanups.
12638         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12639         is right. Make pull mode work. Post an eos before pausing in pull
12640         mode.
12641         (gst_base_sink_change_state): Pay attention to the core's
12642         change_state() return val.
12643         
12644         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12645         has-getrange properties. Cleanups.
12646         
12647         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12648         has_getrange and replace with can_activate_pull and
12649         can_activate_push.
12650
12651         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12652         locking comments. Remove has_loop, has_chain and replace with
12653         can_activate_pull and can_activate_push.
12654
12655 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12656
12657         * configure.ac:
12658         * examples/Makefile.am:
12659         * examples/metadata/Makefile.am:
12660         * examples/metadata/read-metadata.c: (message_loop),
12661         (have_pad_handler), (make_pipeline), (print_tag), (main):
12662           Add metadata reading example that loops over a list of filenames,
12663           dumping any tags found.
12664
12665         * gst/gstbus.c: (gst_bus_dispose):
12666         * gst/gstelement.c: (gst_element_dispose):
12667           Release a few potentially-held references in dispose.
12668
12669 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * docs/gst/tmpl/gstminiobject.sgml:
12672           do *not* add tmpl/*.sgml files to CVS!
12673
12674 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12675
12676         * libs/gst/bytestream/.cvsignore:
12677         * libs/gst/bytestream/Makefile.am:
12678         * libs/gst/bytestream/adapter.c:
12679         * libs/gst/bytestream/adapter.h:
12680         * libs/gst/bytestream/bytestream.c:
12681         * libs/gst/bytestream/bytestream.h:
12682         * libs/gst/bytestream/filepad.c:
12683         * libs/gst/bytestream/filepad.h:
12684           removing obsolete files
12685
12686 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * docs/gst/gstreamer-docs.sgml:
12689         * docs/libs/gstreamer-libs-docs.sgml:
12690           disabed additional index entries again, as this makes docs-gen just
12691           slow and they aren't useful yet
12692         * docs/libs/gstreamer-libs-sections.txt:
12693           little -section.txt cleanup for libs
12694
12695 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12696
12697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12698         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12699           fix up some debugging
12700         (gst_base_transform_get_unit_size),
12701         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12702         (gst_base_transform_handle_buffer):
12703         * gst/base/gstbasetransform.h:
12704           handle and store timed NEWSEGMENT events so that subclasses that
12705           calculate time by counting samples have a segment_start time they
12706           need to add to their timestamps - see audioresample
12707
12708 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12709
12710         * gst/gstbin.h:
12711           removed ';' from the end of macro defs
12712         * docs/gst/gstreamer-docs.sgml:
12713         * docs/gst/gstreamer-sections.txt:
12714         * docs/gst/tmpl/.cvsignore:
12715         * gst/gstbus.h:
12716         * gst/gstelement.c: (gst_element_class_init),
12717         (gst_element_set_state), (activate_pads),
12718         (gst_element_save_thyself):
12719         * gst/gstevent.c: (gst_event_new_newsegment):
12720         * gst/gstevent.h:
12721         * gst/gstiterator.c:
12722         * gst/gstiterator.h:
12723         * gst/gstpad.c:
12724         * gst/gstprobe.h:
12725         * gst/gstutils.c: (gst_pad_query_convert):
12726         * gst/gstutils.h:
12727           fixed parameter name mismatches between source, header and docs
12728           added some more docs, resolved the last batch of unused elements in
12729           docs (now someone needs to doc them)
12730
12731 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12732
12733         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12734         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12735           don't walk through the plugins backwards.  Where is all this
12736           reversed logic coming from ?
12737
12738 2005-08-25  Wim Taymans  <wim@fluendo.com>
12739
12740         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12741         (gst_base_transform_transform_size),
12742         (gst_base_transform_configure_caps),
12743         (gst_base_transform_get_unit_size),
12744         (gst_base_transform_buffer_alloc),
12745         (gst_base_transform_change_state):
12746         * gst/base/gstbasetransform.h:
12747         Cache caps unit_size.
12748         Make sure we cannot negotiate up and downstream at the
12749         same time.
12750
12751 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12752
12753         * gst/gst.c: (init_pre), (init_post):
12754           register the installed plugin path after the env var
12755         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12756         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12757           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12758           directories, so the tests can prefer uninstalled over installed
12759
12760 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12761
12762         * gst/base/gstbasetransform.h:
12763           comment
12764         * gst/gstpad.c:
12765           add to docs
12766
12767 2005-08-25  Wim Taymans  <wim@fluendo.com>
12768
12769         * gst/gstbin.c: (bin_bus_handler):
12770         Be a bit more conservative about the posted message.
12771         
12772         * gst/gstbus.c: (gst_bus_post):
12773         Some cleanups, warn wrong return values.
12774
12775 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12776
12777         * check/gst/gstbin.c: (GST_START_TEST):
12778         * gst/gstbin.c: (bin_bus_handler):
12779         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12780         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12781         (gst_message_new_warning), (gst_message_new_tag),
12782         (gst_message_new_state_changed), (gst_message_new_segment_start),
12783         (gst_message_new_segment_done), (gst_message_new_custom):
12784         * gst/gstmessage.h:
12785         * tools/gst-launch.c: (event_loop):
12786         * tools/gst-md5sum.c: (event_loop):
12787           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12788
12789 2005-08-25  Wim Taymans  <wim@fluendo.com>
12790
12791         * check/generic/states.c: (GST_START_TEST):
12792         Cleanup can be done at the end.
12793
12794         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12795         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12796         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12797         Oh boy.. Thanks for finding this, Thomas. 
12798
12799 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12800
12801         * docs/gst/gstreamer.types:
12802           added missing types
12803
12804 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12805
12806         * docs/gst/gstreamer-docs.sgml:
12807         * docs/gst/gstreamer-sections.txt:
12808         * docs/gst/tmpl/.cvsignore:
12809         * gst/gstbin.c:
12810         * gst/gstiterator.c:
12811         * gst/gstutils.c:
12812         * gst/registries/gstxmlregistry.h:
12813           added missing classes and symbols (123 more to go)
12814           removed removed symbols from section file
12815           fixed many doc-comments
12816
12817 2005-08-24  Wim Taymans  <wim@fluendo.com>
12818
12819         * check/generic/states.c: (GST_START_TEST):
12820         Make sure all tasks are stopped.
12821
12822         * check/gst/gstbin.c: (GST_START_TEST):
12823         Unref after usage for proper valgrinding.
12824
12825         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12826         Really wait for the task to stop before destroying the
12827         mutex.
12828
12829         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12830         (gst_queue_src_activate_push):
12831         Small cleanups. Don't stop the task when we did not start
12832         it.
12833
12834         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12835         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12836         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12837         (gst_task_join):
12838         * gst/gsttask.h:
12839         Protect the stream lock with the object lock.
12840         Disallow setting the stream lock when running.
12841         Add cleanup_all to wait for the threadpool to finish.
12842         Remove code to autoallocate a mutex if none was provided.
12843         Add _join() to wait for a task to stop.
12844         Protect the thread pool with a global lock.
12845
12846 2005-08-24  Wim Taymans  <wim@fluendo.com>
12847
12848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12849         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12850         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12851         * gst/base/gstbasesink.h:
12852         Handle newsegment events correctly.
12853         Drop buffers out of the segment range.
12854
12855 2005-08-22  Andy Wingo  <wingo@pobox.com>
12856
12857         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12858         macro, implements an interface and gstimplementsinterface for a
12859         new type.
12860
12861 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * check/Makefile.am:
12864         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12865           add a test that does a bunch of state changes on elements
12866           needs some fixing for valgrind
12867         * check/states/sinks.c: (gst_object_suite):
12868           whitespace
12869         * gst/gstcaps.h:
12870           add prototype for gst_caps_is_equal_fixed
12871         * gst/gstplugin.c:
12872         * gst/gstregistrypool.c:
12873           doc fixes
12874
12875 2005-08-24  Andy Wingo  <wingo@pobox.com>
12876
12877         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12878         convert a negative value. Doesn't make much sense. Mostly this is
12879         here to force callers to ensure -1 maps to -1.
12880
12881 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12882
12883         * docs/pwg/advanced-types.xml:
12884           Well done to Michael for catching my deliberate introduction
12885           of this spelling mistake. 
12886         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12887         * gst/gstelement.h:
12888           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12889           unlink pads before removing the element from the bin.
12890
12891 2005-08-24  Andy Wingo  <wingo@pobox.com>
12892
12893         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12894         the same thing as GST_DEBUG=*:4.
12895         (parse_debug_level, parse_debug_category): New helper parsers.
12896
12897 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12900         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12901         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12902         (gst_base_transform_buffer_alloc),
12903         (gst_base_transform_handle_buffer):
12904           use gboolean return values and pointers to size so we can use the
12905           full GST_BUFFER_SIZE range (guint) for buffer sizes
12906           use GstPadDirection for transform_caps
12907         * gst/base/gstbasetransform.h:
12908           rename get_size to get_unit_size since that's what it is
12909         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12910           use GstPadDirection for transform_caps
12911         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12912         * gst/gstutils.h:
12913           cleanup and debugging
12914
12915 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12916
12917         * gst/gstelement.c: (gst_element_class_init),
12918         (gst_element_set_state), (activate_pads),
12919         (gst_element_save_thyself):
12920         * tools/gst-compprep.c: (main):
12921         * tools/gst-inspect.c: (print_element_properties_info):
12922         * tools/gst-xmlinspect.c: (print_element_properties):
12923           Fixed long standing mem-leak
12924
12925 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12926
12927         * check/gst/gstbin.c: (GST_START_TEST):
12928         * gst/gstbin.c: (bin_bus_handler):
12929         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12930         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12931         (gst_message_new_warning), (gst_message_new_tag),
12932         (gst_message_new_state_changed), (gst_message_new_segment_start),
12933         (gst_message_new_segment_done), (gst_message_new_custom):
12934         * gst/gstmessage.h:
12935         * tools/gst-launch.c: (event_loop):
12936         * tools/gst-md5sum.c: (event_loop):
12937           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12938           that applications can sensibly post custom messages with references
12939           to their own objects.
12940
12941 2005-08-24  Andy Wingo  <wingo@pobox.com>
12942
12943         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12944         already.
12945
12946 2005-08-24  Wim Taymans  <wim@fluendo.com>
12947
12948         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12949         (gst_base_transform_transform_caps),
12950         (gst_base_transform_transform_size),
12951         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12952         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12953         (gst_base_transform_handle_buffer):
12954         * gst/base/gstbasetransform.h:
12955         Many fixes and new features added by Thomas. Can now also do
12956         transforms with variable sizes and a custom fixate_caps function.
12957
12958 2005-08-24  Wim Taymans  <wim@fluendo.com>
12959
12960         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12961         Some debugging.
12962
12963         * gst/gstclock.h:
12964         Cast to ClockTime before formatting to time.
12965
12966         * gst/gstutils.h:
12967         Cleanups.
12968
12969 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12970
12971         * check/gst-libs/controller.c: (GST_START_TEST),
12972         (gst_controller_suite):
12973         * docs/gst/tmpl/gstcaps.sgml:
12974         * docs/gst/tmpl/gstghostpad.sgml:
12975         * docs/gst/tmpl/gstquery.sgml:
12976         * docs/gst/tmpl/gstutils.sgml:
12977         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12978         (gst_object_sink_values), (gst_object_get_value_arrays),
12979         (gst_object_get_value_array):
12980           gracefully handle helper method calls to objects that are not beeing
12981           controlled, added test case for that          
12982
12983 2005-08-23  Wim Taymans  <wim@fluendo.com>
12984
12985         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12986         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12987         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12988         (gst_event_parse_qos), (gst_event_new_seek),
12989         (gst_event_parse_seek):
12990         * gst/gstevent.h:
12991         Some more debugging output and doc cleanups.
12992
12993         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12994         Fix possible deadlock.
12995
12996 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12997
12998         * docs/gst/gstreamer-docs.sgml:
12999         * docs/gst/gstreamer-sections.txt:
13000         * docs/gst/gstreamer.types:
13001         * docs/gst/tmpl/.cvsignore:
13002         * gst/gstbin.h:
13003         * gst/gstbus.c:
13004         * gst/gstelement.c:
13005         * gst/gstevent.h:
13006           added 100 symbols from gstreamer-unused.txt to the right sections
13007           fixed more broken comments
13008           added GstBus to docs
13009
13010 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13011
13012         * docs/gst/gstreamer-sections.txt:
13013         * docs/gst/tmpl/.cvsignore:
13014         * docs/gst/tmpl/gstbin.sgml:
13015         * docs/gst/tmpl/gstbuffer.sgml:
13016         * gst/base/gstbasesrc.c:
13017         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13018         * gst/gstbuffer.c:
13019         * gst/gstbuffer.h:
13020         * tools/gst-launch.1.in:
13021           inlined more doc comments, added missing comments and fixed comments
13022           fixed typos
13023
13024 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13025
13026         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13027           some debugging
13028         * gst/gstcaps.h:
13029           whitespace fixes
13030         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13031           more debugging
13032         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13033         * gst/gststructure.h:
13034           add a fixate function for booleans; add a FIXME that these func
13035           names should probably be gst_structure_fixate_*
13036
13037 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13038
13039         * docs/gst/gstreamer-docs.sgml:
13040         * docs/gst/gstreamer-sections.txt:
13041         * gst/Makefile.am:
13042         * gst/gstbin.c: (gst_bin_get_type),
13043         (gst_bin_child_proxy_get_child_by_index),
13044         (gst_bin_child_proxy_get_children_count),
13045         (gst_bin_child_proxy_init):
13046         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13047         (gst_child_proxy_get_child_by_index),
13048         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13049         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13050         (gst_child_proxy_get), (gst_child_proxy_set_property),
13051         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13052         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13053         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13054         * gst/gstchildproxy.h:
13055         * gst/parse/grammar.y:
13056         * tools/gst-inspect.c: (print_interfaces),
13057         (print_element_properties_info), (print_element_info):
13058           ported gstchildproxy over from 0.8
13059           ported gst-inspect fixes and enhancements over from 0.8
13060
13061 2005-08-22  Wim Taymans  <wim@fluendo.com>
13062
13063         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13064         (gst_base_transform_handle_buffer):
13065         Also call the transform function if we have ANY caps.
13066
13067         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13068         Fix debug info.
13069
13070 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13071
13072         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13073           Don't pretend to handle seek events if the source is not seekable
13074
13075 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13076
13077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13078           Remove extra parameter to debug output
13079
13080         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13081         (gst_base_src_do_seek), (gst_base_src_activate_push):
13082           Fix seek event handling.
13083
13084         * gst/gstpipeline.c: (gst_pipeline_change_state):
13085         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13086         (gst_queue_src_activate_push):
13087           Don't start the src pad task on FLUSH_STOP if the pad
13088           isn't linked.
13089           Debug changes.
13090
13091 2005-08-22  Wim Taymans  <wim@fluendo.com>
13092
13093         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13094         Added check for gst_static_caps_get() refcounting.
13095
13096 2005-08-22  Wim Taymans  <wim@fluendo.com>
13097
13098         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13099         Make _static_caps_get() refcounting sane.
13100         
13101         * gst/gstelement.c: (gst_element_set_state):
13102         Add g_return_val_if_fail() to protect against segfaults.
13103
13104 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13105
13106         * docs/gst/tmpl/gstevent.sgml:
13107         * gst/gstevent.c:
13108         * gst/gstevent.h:
13109           inlined remaining docs, added missing doc comments
13110
13111 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13112
13113         * check/gst/gstbin.c: (GST_START_TEST):
13114           since we don't know when preroll is done, use refcount range
13115           check for the sink
13116         * gst/check/gstcheck.h:
13117           add macro for checking refcount range
13118
13119 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13120
13121         * check/Makefile.am:
13122           clean up environment for when registry gets built versus
13123           when actual tests are run; valgrind seems to not report
13124           leaks if GST_PLUGIN_PATH is set to some specific values
13125         * check/gst/gstbin.c: (GST_START_TEST):
13126           add more refcounting checks; maybe this exposes a
13127           preroll lock bug ?
13128         * common/check.mak:
13129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13130         * gst/check/gstcheck.h:
13131         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13132         (gst_bin_change_state):
13133         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13134           add/fix debugging/whitespace
13135
13136 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13137
13138         * check/gst/gstevent.c: (event_probe), (test_event),
13139         (GST_START_TEST):
13140          Er, don't call gst_bin_watch_for_state_change you idiot.
13141
13142 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13143
13144         * check/Makefile.am:
13145           Use CHECK_CFLAGS and CHECK_LIBS
13146         * check/gst/gstevent.c: (event_probe), (test_event),
13147         (GST_START_TEST):
13148           Don't leak events.
13149         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13150         (gst_base_src_start), (gst_base_src_stop),
13151         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13152         (gst_base_src_change_state):
13153           Sprinkle gst_base_src_stop liberally around error paths to fix
13154           problems reusing a source after failed state changes.
13155         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13156         (helper_find_suggest), (gst_type_find_helper):
13157           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13158         * gst/gstevent.h:
13159         * docs/gst/tmpl/gstevent.sgml:
13160           Migrate part of the docs from the SGML file. Wait for ensonic to
13161           tell me how I did it wrong ;)
13162         * tools/gst-typefind.c: (main):
13163           Extra robustness to state changes between files.
13164
13165 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13166
13167         * check/Makefile.am:
13168           don't valgrind the controller test - it's leaking - Stefan, HELP
13169         * gst/check/gstcheck.c: (gst_check_message_error),
13170         (gst_check_chain_func), (gst_check_setup_element),
13171         (gst_check_teardown_element), (gst_check_setup_src_pad),
13172         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13173         (gst_check_teardown_sink_pad):
13174         * gst/check/gstcheck.h:
13175           add a bunch of methods to set up elements, and src and sink pads
13176         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13177         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13178         (GST_START_TEST):
13179           use them
13180         * gst/gstmessage.c:
13181         * gst/gsttag.h:
13182           whitespace/doc fixes
13183
13184 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13185
13186         * gst/gstelement.h:
13187           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13188           be handled by the application and not always printed as well
13189
13190 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13191
13192         * check/Makefile.am:
13193           set GST_TOOLS_DIR
13194         * gst/check/gstcheck.c: (gst_check_message_error):
13195         * gst/check/gstcheck.h:
13196           add a fail_unless_equals_int
13197           add fail_unless for error messages
13198
13199 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13200
13201         * check/Makefile.am:
13202         * check/gst.supp:
13203         * common/Makefile.am:
13204         * common/check.mak:
13205         * common/gst.supp:
13206           factor out some of the common stuff so we can use it
13207
13208 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13209
13210         * check/Makefile.am:
13211         * check/gst/gstiterator.c: (GST_START_TEST):
13212         * check/gst/gstsystemclock.c: (GST_START_TEST),
13213         (gst_systemclock_suite):
13214         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13215         * gst/gstclock.c:
13216           valgrind more tests
13217
13218 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13219
13220         * check/elements/.cvsignore:
13221         * check/elements/gstfakesrc.c:
13222           rename to name of element
13223         * check/elements/identity.c: (chain_func), (event_func),
13224         (setup_identity), (cleanup_identity), (GST_START_TEST),
13225         (identity_suite), (main):
13226           add a test for identity
13227         * check/Makefile.am:
13228         * pkgconfig/Makefile.am:
13229         * pkgconfig/gstreamer-check.pc.in:
13230         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13231         * gst/check:
13232         * gst/Makefile.am:
13233         * configure.ac:
13234           move the check stuff to a library that gets installed
13235         * check/gst-libs/controller.c: (GST_START_TEST):
13236         * check/gst-libs/gdp.c:
13237         * check/gst/gst.c: (GST_START_TEST):
13238         * check/gst/gstbin.c:
13239         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13240         * check/gst/gstbus.c:
13241         * check/gst/gstcaps.c: (GST_START_TEST):
13242         * check/gst/gstelement.c:
13243         * check/gst/gstghostpad.c:
13244         * check/gst/gstiterator.c:
13245         * check/gst/gstmessage.c:
13246         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13247         * check/gst/gstobject.c:
13248         * check/gst/gstpad.c: (GST_START_TEST):
13249         * check/gst/gststructure.c: (GST_START_TEST):
13250         * check/gst/gstsystemclock.c: (GST_START_TEST),
13251         (gst_systemclock_suite):
13252         * check/gst/gsttag.c: (gst_tag_suite):
13253         * check/gst/gstvalue.c:
13254         * check/pipelines/cleanup.c:
13255         * check/pipelines/simple_launch_lines.c:
13256         * check/states/sinks.c:
13257           change include statement
13258
13259         * docs/gst/gstreamer-sections.txt:
13260         * docs/gst/tmpl/gstpad.sgml:
13261           document more pad stuff
13262         * gst/gstminiobject.c: (gst_mini_object_ref),
13263         (gst_mini_object_unref):
13264           debug refcounting
13265
13266 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13267
13268         * docs/gst/tmpl/gst.sgml:
13269         * gst/gst.c:
13270           eliminate another tmpl file, fix spelling in the long-description
13271
13272 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13273
13274         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13275         (test_event), (timediff), (gstevents_suite):
13276           Should fix build on 64-bit arch's
13277
13278 2005-08-18  Andy Wingo  <wingo@pobox.com>
13279
13280         Make sure that when a pipeline goes to PLAYING, that data has
13281         actually hit the sink.
13282
13283         * check/states/sinks.c (test_sink): A sink that doesn't get any
13284         data shouldn't return SUCCESS for going to either PLAYING or
13285         PAUSED. Test also the return values on the way back down.
13286
13287         * gst/gstelement.c (gst_element_set_state): When changing the
13288         state of an element currently changing state asynchronously, go to
13289         lost-state after commiting the pending state. Makes future calls
13290         to get_state continue to return ASYNC.
13291
13292         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13293         ASYNC when going to PLAYING if we still don't have preroll, as can
13294         happen with live sources.
13295
13296 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13297
13298         * docs/pwg/advanced-types.xml:
13299           Hack long paragraph into 2 chunks as a workaround for buggy
13300           jadetex version in sid and breezy that loops infinitely and
13301           eats all RAM.
13302
13303 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13304
13305         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13306         (test_event), (timediff), (gstevents_suite):
13307           Provide more error margin in clock measurements to allow for 
13308           g_get_current_time inaccuracies.
13309
13310 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13311
13312         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13313         (test_event), (timediff), (gstevents_suite):
13314            Fix error message output so I might be able to tell why the
13315            test works here but fails on the build farm.
13316
13317 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13318
13319         * check/Makefile.am:
13320         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13321         (test_event), (timediff), (gstevents_suite), (main):
13322           I wrote a test!
13323
13324         * docs/design/part-seeking.txt:
13325           Spelling correction
13326
13327         * docs/gst/tmpl/gstevent.sgml:
13328         * docs/gst/tmpl/gstfakesrc.sgml:
13329           Docs updates.
13330
13331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13332           Treat a buffer-without-newsegment the same as a receiving 
13333           a newsegment not in time format, and disable syncing to the clock
13334           with a warning.
13335
13336         * gst/gstbus.c: (gst_bus_set_sync_handler):
13337           Assert if anyone tries to replace the existing sync_handler for bus, 
13338           as only the owner should be setting it.
13339
13340         * gst/gstevent.h:
13341           Have a fixed set of custom event enums with events identified by
13342           their structure name (as in 0.8), rather than a free-for-all
13343           allowing collisions between enum values from different plugins.
13344
13345         * gst/gstpad.c: (gst_pad_class_init):
13346           Docs change.
13347           
13348         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13349           Handle out-of-band downstream events from the sending thread.
13350
13351 2005-08-17  Andy Wingo  <wingo@pobox.com>
13352
13353         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13354         play-timeout==0 to mean no timeout at all. In that case, don't
13355         bother with a get_state or a warning, just return directly, even
13356         if it's ASYNC.
13357
13358         * gst/base/gstbasetransform.c: Debug changes.
13359
13360         * gst/gstutils.h:
13361         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13362         ensure bins post state change messages. A bit of a hack but I can't
13363         think of a way to avoid it.
13364
13365         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13366
13367 2005-08-16  Andy Wingo  <wingo@pobox.com>
13368
13369         * gst/base/gstadapter.h:
13370         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13371         peek() but you own the data. Not terribly efficient atm.
13372
13373 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13374
13375         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13376         (gst_element_found_tags):
13377         * gst/gstutils.h:
13378           Add two utility functions for tag handling.
13379
13380 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13381
13382         * docs/manual/advanced-dataaccess.xml:
13383         * docs/manual/basics-helloworld.xml:
13384           Fix docs to use _bin_add() before _link(), which fixes the examples
13385           with recent core versions (reported by Madhan Raj M
13386           <raj_madan@rediffmail.com>, #313199).
13387
13388 2005-08-16  Wim Taymans  <wim@fluendo.com>
13389
13390         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13391         Added subtract checks.
13392
13393         * docs/design/part-events.txt:
13394         Some more docs about newsegment
13395
13396         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13397         Fix FIXME
13398
13399         * gst/gstcaps.c: (gst_caps_to_string):
13400         Add comments, cleanups.
13401         
13402         * gst/gstelement.c: (gst_element_save_thyself):
13403         cleanups
13404         
13405         * gst/gstvalue.c: (gst_value_collect_int_range),
13406         (gst_string_unwrap), (gst_value_union_int_int_range),
13407         (gst_value_union_int_range_int_range),
13408         (gst_value_intersect_int_int_range),
13409         (gst_value_intersect_int_range_int_range),
13410         (gst_value_intersect_double_double_range),
13411         (gst_value_intersect_double_range_double_range),
13412         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13413         (gst_value_subtract_int_range_int),
13414         (gst_value_subtract_double_range_double),
13415         (gst_value_subtract_double_range_double_range),
13416         (gst_value_subtract_from_list), (gst_value_subtract_list),
13417         (gst_value_can_compare), (gst_value_compare_fraction):
13418         Cleanups, add comments, remove unneeded asserts.
13419
13420 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * tools/gst-launch.c: (event_loop):
13423           don't convert NULL structures to strings
13424
13425 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13426
13427         * docs/gst/gstreamer-sections.txt:
13428           made some defines private
13429         * docs/gst/tmpl/gstconfig.sgml:
13430         * docs/gst/tmpl/gstqueue.sgml:
13431         * docs/gst/tmpl/gsttaglist.sgml:
13432         * docs/gst/tmpl/gsttypes.sgml:
13433         * docs/gst/tmpl/gstutils.sgml:
13434         * docs/pwg/appendix-porting.xml:
13435         * gst/base/gstbasesink.h:
13436         * gst/base/gstbasesrc.c:
13437         * gst/base/gstbasesrc.h:
13438         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13439         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13440         * gst/gstelement.c: (gst_element_class_init):
13441         * gst/gstpad.c: (gst_pad_class_init):
13442         * gst/gstqueue.c: (gst_queue_class_init):
13443         * gst/gstxml.c: (gst_xml_class_init):
13444           documented all undocumented signal inline
13445         * libs/gst/controller/gst-controller.h:
13446           added padding
13447
13448 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13449
13450         * docs/pwg/appendix-porting.xml:
13451           Document _set_link_function -> _set_setcaps_function.
13452
13453 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * check/Makefile.am:
13456           add a .check target for running the check
13457         * check/gst-libs/controller.c: (GST_START_TEST):
13458           cosmetic fixups
13459         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13460           complete checks for gstbuffer; would be nice if I could get the
13461           gcov stuff to work so I can see if I actually completed gstbuffer.c
13462         * check/gstcheck.h:
13463           add ASSERT_BUFFER_REFCOUNT
13464
13465 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13466
13467         * docs/gst/gstreamer-sections.txt:
13468         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13469         * gst/gsttag.h:
13470           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13471           spew out a warning if a tag that is already registered
13472           is re-registered, unless it is re-registered with a 
13473           different type (#308438).
13474
13475 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13476
13477         * docs/pwg/appendix-porting.xml:
13478         * docs/pwg/building-state.xml:
13479           Add some paragraphs about state changes in 0.9 to the PWG
13480           and the porting guide, in particular about the new meaning
13481           of GST_STATE_PAUSED and how to write state change functions
13482           with concurrent access by multiple threads in mind.
13483
13484 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13485
13486         * docs/gst/gstreamer-docs.sgml:
13487         * docs/libs/gstreamer-libs-docs.sgml:
13488           added deprecation and since indexes
13489         * libs/gst/controller/gst-controller.c:
13490         * libs/gst/controller/gst-helper.c:
13491           added since tags
13492
13493
13494 2005-08-11  Wim Taymans  <wim@fluendo.com>
13495
13496         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13497         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13498         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13499         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13500         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13501         (gst_ghost_pad_set_target):
13502         Actually implement (re)setting the target on a ghostpad
13503         as described in the docs.
13504
13505 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13506
13507         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13508           Check whether GST_DEBUG_NO_COLOR environment variable is
13509           set and disable coloured debug output if that is the case.
13510
13511 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13512
13513         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13514         (gst_type_find_helper):
13515           The memory returned by gst_type_find_peek() needs to
13516           stay valid until the end of a typefind function, and
13517           typefind functions may keep results from different 
13518           offsets around, so we can't just unref the buffer from
13519           the previous _peek(), but have to save all buffers 
13520           returned by _peek() until typefinding is done and only
13521           free them then.
13522
13523 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13524
13525         * docs/gst/gstreamer-sections.txt:
13526         * gst/gstutils.h:
13527           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13528
13529 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13530
13531         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13532           Fix a pretty good memleak.
13533
13534 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13535
13536         * gst/gstiterator.h:
13537           Fix wrong include and 'make distcheck'.
13538
13539 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13540
13541         * gst/gstbin.c: (bin_bus_handler):
13542           Use gst_element_post_message() instead.
13543
13544 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13545
13546         * gst/base/gstadapter.h:
13547         * gst/base/gstbasesink.h:
13548         * gst/base/gstbasesrc.h:
13549         * gst/base/gstbasetransform.h:
13550         * gst/base/gstcollectpads.h:
13551         * gst/base/gstpushsrc.h:
13552         * gst/gstiterator.h:
13553           Add padding to our base elements' class and instance structs and
13554           to GstIterator (you will need to rebuild all plugins and apps!)
13555
13556 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13557
13558         * gst/gstbin.c: (bin_bus_handler):
13559           Make default message forwarding from child->bus to bin->bus
13560           threadsafe and make it not emit warnings if the parent has no bus.
13561
13562 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13563
13564         * gst/gstelement.c: (activate_pads):
13565           On paused->ready, set pad->caps to NULL, as is the documented
13566           behaviour in this state change. Fixes playback of series of
13567           media files when visualization is enabled in Totem.
13568
13569 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13570
13571         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13572           Allow NULL as filter-caps (which means "any").
13573
13574 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13575
13576         * docs/libs/gstreamer-libs-sections.txt:
13577         * libs/gst/controller/gst-controller.c:
13578         * libs/gst/controller/gst-controller.h:
13579         * libs/gst/controller/gst-helper.c:
13580           adding more entries to the docs and fix small doc-bugs
13581
13582 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13583
13584         * docs/gst/gstreamer-docs.sgml:
13585         * docs/gst/gstreamer-sections.txt:
13586         * docs/gst/gstreamer.types:
13587         * docs/gst/tmpl/gstbasesink.sgml:
13588         * docs/gst/tmpl/gstbasesrc.sgml:
13589         * docs/gst/tmpl/gstbasetransform.sgml:
13590         * docs/gst/tmpl/gstfakesrc.sgml:
13591         * gst/base/gstcollectpads.c:
13592         * gst/base/gstcollectpads.h:
13593         * libs/gst/controller/gst-controller.c:
13594         * libs/gst/controller/gst-controller.h:
13595         * libs/gst/controller/gst-helper.c:
13596         * libs/gst/controller/gst-interpolation.c:
13597         * libs/gst/controller/lib.c:
13598           added long/short desc for controller docs
13599           added collectpads base class docs
13600           added correct includes to base-class docs
13601
13602 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13603
13604         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13605         (gst_test_mono_source_set_property),
13606         (gst_test_mono_source_class_init), (GST_START_TEST),
13607         (gst_controller_suite):
13608         * docs/gst/gstreamer-docs.sgml:
13609         * docs/gst/gstreamer-sections.txt:
13610         * docs/gst/gstreamer.types:
13611         * docs/libs/gstreamer-libs-docs.sgml:
13612         * docs/libs/gstreamer-libs-sections.txt:
13613         * gst/base/gstadapter.c:
13614         * libs/gst/controller/gst-controller.c:
13615         (gst_controlled_property_new), (gst_controlled_property_free),
13616         (gst_controller_new_valist),
13617         (gst_controller_remove_properties_valist),
13618         (gst_controller_sink_values), (_gst_controller_finalize):
13619         * libs/gst/controller/gst-controller.h:
13620         * libs/gst/controller/gst-helper.c:
13621         (gst_object_control_properties), (gst_object_uncontrol_properties),
13622         (gst_object_get_controller), (gst_object_set_controller),
13623         (gst_object_sink_values), (gst_object_get_value_arrays),
13624         (gst_object_get_value_array):
13625           more tests (and fixes) for the controller
13626           more docs for the controller
13627           integrated companies docs for the adapter 
13628
13629 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13630
13631         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13632         (GST_START_TEST), (fakesrc_suite):
13633           add tests for sizetype
13634
13635 2005-08-04  Andy Wingo  <wingo@pobox.com>
13636
13637         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13638         fixes buffer_alloc proxying among other things.
13639
13640         * gst/base/gstbasetransform.c:
13641         * gst/base/gstbasetransform.h:
13642         Revert patch to gstbasetransform from 7-28 removing
13643         delay_configure.
13644
13645         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13646         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13647         Semantics changed, should return not the size of the output buffer
13648         but the byte size of a buffer with a given caps.
13649
13650         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13651         debug object.
13652         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13653         out) are not the pad caps until setcaps finishes.
13654         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13655         not-in-place case as well. Deal with changing from in-place to
13656         not-in-place within calling pad_alloc_buffer. Still a bit
13657         concerned about the overhead here...
13658
13659 2005-08-03  Andy Wingo  <wingo@pobox.com>
13660
13661         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13662         fixating is an error.
13663
13664 2005-08-04  Edward Hervey  <edward@fluendo.com>
13665
13666         * gst/base/gstadapter.h: 
13667         Added gst_adapter_get_type() to the header
13668
13669 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13670
13671         * check/Makefile.am:
13672         * check/gst-libs/controller.c:
13673         * libs/gst/controller/gst-controller.c:
13674         (gst_controller_new_valist):
13675           added check test suite for the controller
13676         * gst/base/gstpushsrc.c:
13677           fixed a doc typo
13678
13679 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13680
13681         * docs/gst/Makefile.am:
13682         * docs/gst/gstreamer-docs.sgml:
13683         * docs/gst/gstreamer-sections.txt:
13684         * docs/gst/gstreamer.types:
13685         * docs/gst/tmpl/gstfakesrc.sgml:
13686         * gst/base/README:
13687         * gst/base/gstbasesink.c:
13688         * gst/base/gstbasesink.h:
13689         * gst/base/gstbasesrc.c:
13690         * gst/base/gstbasesrc.h:
13691         * gst/base/gstbasetransform.c:
13692         * gst/base/gstpushsrc.c:
13693         * gst/base/gstpushsrc.h:
13694           add short/long description docs to base classes
13695           add pushsrc to the docs
13696           remove consolidated doc fragments
13697
13698 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13699
13700         * configure.ac:
13701         * docs/libs/Makefile.am:
13702         * docs/libs/gstreamer-libs-docs.sgml:
13703         * docs/libs/gstreamer-libs-sections.txt:
13704         * docs/libs/gstreamer-libs.types:
13705         * examples/Makefile.am:
13706         * examples/controller/.cvsignore:
13707         * examples/controller/Makefile.am:
13708         * examples/controller/audio-example.c: (main):
13709         * libs/gst/Makefile.am:
13710         * libs/gst/controller/.cvsignore:
13711         * libs/gst/controller/Makefile.am:
13712         * libs/gst/controller/gst-controller.c:
13713         (on_object_controlled_property_changed), (gst_timed_value_compare),
13714         (gst_timed_value_find),
13715         (gst_controlled_property_set_interpolation_mode),
13716         (gst_controlled_property_new), (gst_controlled_property_free),
13717         (gst_controller_find_controlled_property),
13718         (gst_controller_new_valist), (gst_controller_new),
13719         (gst_controller_remove_properties_valist),
13720         (gst_controller_remove_properties), (gst_controller_set),
13721         (gst_controller_set_from_list), (gst_controller_unset),
13722         (gst_controller_get), (gst_controller_get_all),
13723         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13724         (gst_controller_get_value_array),
13725         (gst_controller_set_interpolation_mode),
13726         (_gst_controller_finalize), (_gst_controller_init),
13727         (_gst_controller_class_init), (gst_controller_get_type):
13728         * libs/gst/controller/gst-controller.h:
13729         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13730         (g_object_uncontrol_properties), (g_object_get_controller),
13731         (g_object_set_controller), (g_object_sink_values),
13732         (g_object_get_value_arrays), (g_object_get_value_array):
13733         * libs/gst/controller/gst-interpolation.c:
13734         (gst_controlled_property_find_timed_value_node),
13735         (interpolate_none_get), (interpolate_trigger_get),
13736         (interpolate_trigger_get_value_array):
13737         * libs/gst/controller/lib.c: (gst_controller_init):
13738         * pkgconfig/Makefile.am:
13739         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13740         * pkgconfig/gstreamer-control.pc.in:
13741         * testsuite/Makefile.am:
13742         * testsuite/controller/.cvsignore:
13743         * testsuite/controller/Makefile.am:
13744         * testsuite/controller/interpolator.c: (main):
13745           added controller code
13746           removed dparam pc files
13747
13748 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13749         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13750         (gst_collectpads_stop):
13751           Broadcast the condition when shutting down, to make sure we wake all
13752           threads up. Shut down pads on finalize, for safety.
13753
13754 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13755         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13756         (gst_base_transform_handle_buffer),
13757         (gst_base_transform_change_state):
13758           Handle PAUSED->READY->PAUSED transition after negotiation
13759           occurred already.
13760         * gst/gstmessage.c: (gst_message_init):
13761           Extra piece of debug for new messages.
13762
13763 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13764
13765         * configure.ac:
13766         * docs/gst/tmpl/gstbasesrc.sgml:
13767         * docs/gst/tmpl/gstelement.sgml:
13768         * docs/gst/tmpl/gstevent.sgml:
13769         * docs/gst/tmpl/gstfakesrc.sgml:
13770         * docs/gst/tmpl/gstformat.sgml:
13771         * docs/gst/tmpl/gstghostpad.sgml:
13772         * docs/gst/tmpl/gstpad.sgml:
13773         * docs/gst/tmpl/gstquery.sgml:
13774         * docs/gst/tmpl/gststructure.sgml:
13775         * docs/gst/tmpl/gsttaglist.sgml:
13776         * docs/gst/tmpl/gstvalue.sgml:
13777         * docs/libs/gstreamer-libs-docs.sgml:
13778         * docs/libs/gstreamer-libs-sections.txt:
13779         * docs/libs/gstreamer-libs.types:
13780         * libs/gst/Makefile.am:
13781         * libs/gst/control/.cvsignore:
13782         * libs/gst/control/Makefile.am:
13783         * libs/gst/control/control.c:
13784         * libs/gst/control/control.h:
13785         * libs/gst/control/dparam.c:
13786         * libs/gst/control/dparam.h:
13787         * libs/gst/control/dparam_smooth.c:
13788         * libs/gst/control/dparam_smooth.h:
13789         * libs/gst/control/dparamcommon.h:
13790         * libs/gst/control/dparammanager.c:
13791         * libs/gst/control/dparammanager.h:
13792         * libs/gst/control/dplinearinterp.c:
13793         * libs/gst/control/dplinearinterp.h:
13794         * libs/gst/control/unitconvert.c:
13795         * libs/gst/control/unitconvert.h:
13796         * testsuite/Makefile.am:
13797         * testsuite/dynparams/.cvsignore:
13798         * testsuite/dynparams/Makefile.am:
13799         * testsuite/dynparams/dparamstest.c:
13800         * tools/Makefile.am:
13801         * tools/gst-inspect.c: (print_element_info), (main):
13802         * tools/gst-xmlinspect.c: (print_element_info), (main):
13803           deactivate and remove dparams (libgstcontrol)
13804
13805 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13806
13807         * gst/elements/gsttypefindelement.c:
13808         (gst_type_find_element_have_type), (gst_type_find_element_init),
13809         (stop_typefinding), (gst_type_find_element_handle_event),
13810         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13811         * gst/elements/gsttypefindelement.h:
13812           Set caps on all outgoing buffers, not just the first one.
13813
13814 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13815
13816         * gst/elements/gsttypefindelement.c:
13817         (gst_type_find_element_have_type),
13818         (gst_type_find_element_check_set_buffer_caps),
13819         (gst_type_find_element_init), (stop_typefinding),
13820         (gst_type_find_element_handle_event),
13821         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13822         * gst/elements/gsttypefindelement.h:
13823           Set caps on first outgoing buffer when we've found the type.
13824
13825 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13826
13827         * docs/gst/gstreamer-docs.sgml:
13828         * docs/gst/gstreamer-sections.txt:
13829         * docs/gst/tmpl/gstscheduler.sgml:
13830         * docs/gst/tmpl/gstschedulerfactory.sgml:
13831           Remove some old cruft from docs.
13832
13833 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13834
13835         * gst/gstpad.h:
13836           Fix inline docs for GstPadLinkReturn.
13837           
13838         * gst/gststructure.c: (gst_structure_has_name):
13839         * gst/gststructure.h:
13840         * docs/gst/gstreamer-sections.txt:
13841           New API: gst_structure_has_name().
13842
13843 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13844
13845         * configure.ac:
13846           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13847           and _LARGEFILE_SOURCE in config.h as required. Do not 
13848           export those flags in our .pc files any longer (#142209).
13849
13850           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13851
13852         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13853         (gst_file_sink_do_seek), (gst_file_sink_event),
13854         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13855           Redo seek/tell calls with large file support in mind; add some
13856           debugging messages; add log message that tells us when large
13857           file support is unavailable or not enabled for some reason.
13858
13859         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13860           Add log message that tells us when large file support 
13861           is unavailable or not enabled for some reason.
13862
13863 2005-07-29  Wim Taymans  <wim@fluendo.com>
13864
13865         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13866         Added test for removing an element with ghostpad from a bin.
13867         Fixed test as current implementation does the right thing.
13868
13869         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13870         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13871         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13872         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13873         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13874         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13875         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13876         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13877         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13878         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13879         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13880         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13881         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13882         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13883         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13884         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13885         * gst/gstghostpad.h:
13886         Clean up ghostpads, remove properties for internal stuff.
13887         Make threadsafe.
13888         Fix refcounting.
13889         Prepare for switching targets, not all use cases work yet.
13890
13891 2005-07-29  Wim Taymans  <wim@fluendo.com>
13892
13893         * docs/design/part-gstghostpad.txt:
13894         Small update.
13895
13896         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13897         (gst_bin_remove_func):
13898         Unlinking pads while holding the bin LOCK is not a good
13899         idea.
13900
13901         * gst/gstpad.c: (gst_pad_class_init),
13902         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13903         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13904         No prob setting template after creating the pad.
13905
13906 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13907
13908         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13909         (gst_bus_peek), (gst_bus_source_dispatch),
13910         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13911         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13912           gst_bus_poll may be called from other threads. Handle
13913           this nicely by not making poll_data disappear off the
13914           stack once gst_bus_poll returns.
13915           gst_bus_peek now increments the refcount on the returned
13916           message.
13917
13918 2005-07-29  Wim Taymans  <wim@fluendo.com>
13919
13920         * docs/design/part-gstghostpad.txt:
13921         Overview of current GhostPad datastructures and use
13922         cases for changing the target.
13923
13924 2005-07-28  Wim Taymans  <wim@fluendo.com>
13925
13926         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13927         Added checks for hierarchy consistency whan adding linked
13928         elements to bins.
13929
13930         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13931         Added check to test element scheduling without bin/pipeline.
13932
13933         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13934         First add elements to bin, then link.
13935         
13936         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13937         (gst_bin_remove_func):
13938         Unlink pads from elements added/removed from bin to maintain
13939         hierarchy consistency.
13940
13941 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13942
13943         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13944         (gst_base_transform_handle_buffer):
13945         * gst/base/gstbasetransform.h:
13946           Remove broken delay_configure (fixes renegotiation of software
13947           scaling pipelines); remove some leftover printf()s.
13948
13949 2005-07-28  Wim Taymans  <wim@fluendo.com>
13950
13951         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13952         Added some more tests for wrong hierarchy
13953
13954         * docs/design/part-overview.txt:
13955         Some updates.
13956
13957         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13958         Cleanups.
13959
13960         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13961         (gst_element_dispose):
13962         Some more cleanups.
13963
13964         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13965         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13966         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13967         (gst_pad_set_caps), (gst_pad_send_event):
13968         Check for correct hierarchy when linking pads. Moving to
13969         strict requirement for ghostpads when linking elements in
13970         different bins.
13971
13972         * gst/gstpad.h:
13973         Clean ups. Added WRONG_HIERARCHY return value.
13974
13975 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13976
13977         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13978           Better debug if no transform is possible.
13979
13980 2005-07-27  Wim Taymans  <wim@fluendo.com>
13981
13982         * docs/random/wtay/network-transp:
13983         Some old doc I had.
13984
13985 2005-07-27  Wim Taymans  <wim@fluendo.com>
13986
13987         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13988         (gst_dp_event_from_packet):
13989         Fix serialization of seek events.
13990
13991 2005-07-27  Wim Taymans  <wim@fluendo.com>
13992
13993         * check/gst-libs/gdp.c: (GST_START_TEST):
13994         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13995         Fix compilation and fix event serialization.
13996
13997 2005-07-27  Wim Taymans  <wim@fluendo.com>
13998
13999         * CHANGES-0.9:
14000         * docs/design/part-TODO.txt:
14001         * docs/design/part-events.txt:
14002         Some docs updates
14003
14004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14005         (gst_base_sink_event), (gst_base_sink_do_sync),
14006         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14007         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14008         (gst_base_src_do_seek), (gst_base_src_event_handler),
14009         (gst_base_src_loop):
14010         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14011         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14012         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14013         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14014         (gst_base_transform_set_passthrough),
14015         (gst_base_transform_is_passthrough):
14016         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14017         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14018         Event updates.
14019
14020         * gst/gstbuffer.h:
14021         Use faster casts.
14022
14023         * gst/gstelement.c: (gst_element_seek):
14024         * gst/gstelement.h:
14025         Update gst_element_seek.
14026
14027         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14028         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14029         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14030         (gst_event_new_eos), (gst_event_new_newsegment),
14031         (gst_event_parse_newsegment), (gst_event_new_tag),
14032         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14033         (gst_event_parse_qos), (gst_event_new_seek),
14034         (gst_event_parse_seek), (gst_event_new_navigation):
14035         * gst/gstevent.h:
14036         Make GstEvent use GstStructure. Add parsing code, make sure the
14037         API is sufficiently generic.
14038         Mark possible directions of events and serialization.
14039
14040         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14041         (_gst_message_copy), (gst_message_new_segment_start),
14042         (gst_message_new_segment_done), (gst_message_new_custom),
14043         (gst_message_parse_segment_start),
14044         (gst_message_parse_segment_done):
14045         Small cleanups.
14046
14047         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14048         (gst_pad_set_caps), (gst_pad_send_event):
14049         Update for new events. 
14050         Catch events sent in wrong directions.
14051
14052         * gst/gstqueue.c: (gst_queue_link_src),
14053         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14054         (gst_queue_handle_src_query):
14055         Event updates.
14056
14057         * gst/gsttag.c:
14058         * gst/gsttag.h:
14059         Remove event code from this file.
14060
14061         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14062         (gst_dp_event_from_packet):
14063         Event updates.
14064
14065 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14066
14067         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14068         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14069         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14070           Make debugging actually useful.
14071
14072 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14073
14074         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14075         (gst_pad_fixate_caps):
14076           Implement default fixation once again, so that gst_pad_fixate()
14077           actually does anything at all. This probably needs to be some
14078           sort of a last resort, and use profile-based fixation first, but
14079           since that doesn't exist yet, this is the best we have. Fixes
14080           visualization in Totem.
14081
14082 2005-07-22  Wim Taymans  <wim@fluendo.com>
14083
14084         * docs/design/part-events.txt:
14085         Small update.
14086
14087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14088         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14089         (gst_base_sink_activate_pull):
14090         Some more comments.
14091
14092         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14093         (gst_fake_src_create):
14094         Fix handoff marshall.
14095
14096         * gst/elements/gstidentity.c: (gst_identity_class_init),
14097         (gst_identity_transform_ip):
14098         We're a real inplace element.
14099
14100         * gst/gstbus.c: (gst_bus_post):
14101         Added some comments.
14102
14103         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14104         * tests/muxing/case1.c: (main):
14105         * tests/sched/dynamic-pipeline.c: (main):
14106         * tests/sched/interrupt1.c: (main):
14107         * tests/sched/interrupt2.c: (main):
14108         * tests/sched/interrupt3.c: (main):
14109         * tests/sched/runxml.c: (main):
14110         * tests/sched/sched-stress.c: (main):
14111         * tests/seeking/seeking1.c: (event_received), (main):
14112         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14113         (main):
14114         * tests/threadstate/threadstate3.c: (main):
14115         * tests/threadstate/threadstate4.c: (main):
14116         * tests/threadstate/threadstate5.c: (main):
14117         Fix the tests.
14118
14119 2005-07-21  Wim Taymans  <wim@fluendo.com>
14120
14121         * docs/design/part-seeking.txt:
14122         Some small additions.
14123
14124         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14125         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14126         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14127         * gst/base/gstbasesink.h:
14128         discont values are gint64, handle the math correctly.
14129
14130         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14131         Make the basesrc report error if the source pad is not linked.
14132
14133         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14134         (gst_queue_loop), (gst_queue_handle_src_query),
14135         (gst_queue_src_activate_push):
14136         Make queue collect data even if the srcpad is not linked.
14137         Start pushing out data as soon as it is linked.
14138
14139         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14140         * gst/gstutils.h:
14141         Added gst_flow_get_name() to ease error reporting.
14142
14143 2005-07-20  Wim Taymans  <wim@fluendo.com>
14144
14145         * gst/gstmessage.c: (gst_message_new_segment_start),
14146         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14147         (gst_message_parse_segment_done):
14148         * gst/gstmessage.h:
14149         Added a bunch of messages for advanced seeking.
14150
14151         * gst/parse/grammar.y:
14152         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14153         (gst_dpman_state_changed):
14154         Fix some new-pad -> pad-added signals
14155
14156 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14157
14158         * docs/manual/appendix-porting.xml:
14159         * docs/pwg/appendix-porting.xml:
14160           Document new-pad/state-change signal renames and the FixedList
14161           type rename.
14162
14163 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14164
14165         * docs/manual/advanced-autoplugging.xml:
14166         * docs/manual/basics-helloworld.xml:
14167         * docs/manual/basics-pads.xml:
14168         * docs/random/ds/0.9-suggested-changes:
14169         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14170         * gst/gstelement.h:
14171         * gst/gstevent.h:
14172         * gst/gstformat.h:
14173         * gst/gstquery.h:
14174         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14175         (gst_structure_parse_array), (gst_structure_parse_value):
14176         * gst/gstvalue.c: (gst_type_is_fixed),
14177         (gst_value_list_prepend_value), (gst_value_list_append_value),
14178         (gst_value_list_get_size), (gst_value_list_get_value),
14179         (gst_value_transform_array_string), (gst_value_serialize_array),
14180         (gst_value_deserialize_array), (gst_value_intersect_array),
14181         (gst_value_is_fixed), (_gst_value_initialize):
14182         * gst/gstvalue.h:
14183           GstElement::new-pad -> pad-added, GstElement::state-change ->
14184           state-changed, GstValueFixedList -> GstValueArray, add format and
14185           flags as their own arguments in gst_element_seek() (should improve
14186           "bindeability"), remove function generators since they don't work
14187           under a whole bunch of compilers (they were deprecated already
14188           anyway).
14189
14190 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14191
14192         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14193         (_gst_debug_register_funcptr):
14194         * gst/gstinfo.h:
14195           Fix illegal cast on some platforms (#309253).
14196
14197 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14198
14199         * gst/gstmessage.c: (gst_message_new_custom):
14200         * gst/gstmessage.h:
14201           Add _new_custom, make _new_application a macro to _new_custom.
14202
14203 2005-07-20  Wim Taymans  <wim@fluendo.com>
14204
14205         * gst/base/gstbasesrc.c: (gst_base_src_init),
14206         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14207         * gst/base/gstbasesrc.h:
14208         Add a gboolean to decide when to push out a discont.
14209
14210         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14211         (gst_queue_loop), (gst_queue_handle_src_query),
14212         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14213         (gst_queue_set_property), (gst_queue_get_property):
14214         Some cleanups.
14215
14216         * tests/threadstate/threadstate1.c: (main):
14217         Make a thread test compile and run... very silly..
14218
14219
14220 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14221
14222         * docs/manual/appendix-porting.xml:
14223           Mention removal of libgstgconf-0.9.la and existence of gconf
14224           elements.
14225
14226 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14227
14228         * docs/pwg/advanced-clock.xml:
14229         * docs/pwg/appendix-porting.xml:
14230         * docs/pwg/intro-preface.xml:
14231         * docs/pwg/other-base.xml:
14232         * docs/pwg/other-manager.xml:
14233         * docs/pwg/other-nton.xml:
14234         * docs/pwg/other-ntoone.xml:
14235         * docs/pwg/other-oneton.xml:
14236         * docs/pwg/pwg.xml:
14237           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14238           demuxer), remove n-to-n (was never written), fix some code examples
14239           and links and update the porting section to include all this.
14240
14241 2005-07-19  Wim Taymans  <wim@fluendo.com>
14242
14243         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14244         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14245         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14246         (gst_queue_src_activate_push), (gst_queue_change_state),
14247         (gst_queue_get_property):
14248         * gst/gstqueue.h:
14249         Propagate GstFlowReturn more intelligently upstream and output
14250         an ERROR/EOS when streaming stopped due to fatal error.
14251
14252 2005-07-19  Wim Taymans  <wim@fluendo.com>
14253
14254         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14255         Don't block forever for the state change to complete, the
14256         pipeline already did with a sensible timeout.
14257
14258 2005-07-19  Wim Taymans  <wim@fluendo.com>
14259
14260         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14261         Make sure we never call the create function is we
14262         got deactivated.
14263
14264 2005-07-19  Andy Wingo  <wingo@pobox.com>
14265
14266         * gst/parse/parse.l: Attempt to solve bug #172815.
14267
14268 2005-07-19  Wim Taymans  <wim@fluendo.com>
14269
14270         * docs/design/part-clocks.txt:
14271         * docs/design/part-events.txt:
14272         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14273         Small docs updates.
14274         Only update the seeking values when we are not
14275         busy streaming.
14276
14277 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14278
14279         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14280           Oops, ignore the result of gst_pad_push_event here.
14281
14282 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14283
14284         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14285         (gst_base_src_activate_push):
14286           Send discont event from the loop function, as pads
14287           aren't activated yet in the activate_push handler.
14288
14289         * gst/gstbin.c: (bin_bus_handler):
14290           Don't leak element name.
14291
14292 2005-07-18  Andy Wingo  <wingo@pobox.com>
14293
14294         * configure.ac: Use AS_LIBTOOL_TAGS.
14295
14296 2005-07-18  Wim Taymans  <wim@fluendo.com>
14297
14298         * docs/gst/gstreamer.types:
14299         Remove deleted types.
14300
14301 2005-07-18  Wim Taymans  <wim@fluendo.com>
14302
14303         * check/elements/gstfakesrc.c: (GST_START_TEST):
14304         * configure.ac:
14305         * gst/Makefile.am:
14306         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14307         (init_popt_callback):
14308         * gst/gst.h:
14309         * gst/gst_private.h:
14310         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14311         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14312         * gst/gstbin.h:
14313         * gst/gstbus.h:
14314         * gst/gstconfig.h.in:
14315         * gst/gstelement.c: (gst_element_class_init),
14316         (gst_element_set_base_time), (gst_element_get_base_time),
14317         (iterator_fold_with_resync), (gst_element_change_state),
14318         (gst_element_dispose), (gst_element_get_bus):
14319         * gst/gstelement.h:
14320         * gst/gstelementfactory.h:
14321         * gst/gsterror.c: (_gst_core_errors_init):
14322         * gst/gsterror.h:
14323         * gst/gstevent.h:
14324         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14325         * gst/gstindex.c:
14326         * gst/gstinfo.c: (_gst_debug_init):
14327         * gst/gstmessage.c: (_gst_message_copy):
14328         * gst/gstmessage.h:
14329         * gst/gstminiobject.h:
14330         * gst/gstobject.c:
14331         * gst/gstobject.h:
14332         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14333         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14334         * gst/gstpad.h:
14335         * gst/gstparse.h:
14336         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14337         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14338         (gst_pipeline_get_last_stream_time):
14339         * gst/gstpipeline.h:
14340         * gst/gstpluginfeature.h:
14341         * gst/gstquery.h:
14342         * gst/gstscheduler.c:
14343         * gst/gstscheduler.h:
14344         * gst/gststructure.h:
14345         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14346         (gst_task_finalize), (gst_task_func), (gst_task_create),
14347         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14348         (gst_task_stop), (gst_task_pause):
14349         * gst/gsttask.h:
14350         * gst/gsttypefind.h:
14351         * gst/gsttypes.h:
14352         * gst/registries/gstlibxmlregistry.c: (load_feature),
14353         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14354         * gst/registries/gstxmlregistry.c:
14355         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14356         * gst/schedulers/threadscheduler.c:
14357         * libs/gst/control/dparammanager.h:
14358         * tools/gst-inspect.c: (print_element_list),
14359         (print_plugin_features), (print_element_features):
14360         * tools/gst-xmlinspect.c: (print_element_list),
14361         (print_plugin_info), (main):
14362         Removed plugable schedulers.
14363         Removed Scheduler/Manager from elements.
14364         Removed gsttypes.h, rearranged includes.
14365         Removed dependency pad<->element, element<>pipeline, and
14366         various others,  fix includes.
14367         implement gst_pad_get_parent() with gst_object_get_parent()
14368         Make GstTask sefcontained.
14369         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14370         timeout.
14371         Fix endless loop in iterator_fold_with_resync.
14372
14373
14374 2005-07-18  Wim Taymans  <wim@fluendo.com>
14375
14376         * gst/Makefile.am:
14377         * gst/gstarch.h:
14378         Remove old file.
14379
14380 2005-07-18  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/Makefile.am:
14383         No more cothreads.h
14384
14385 2005-07-18  Wim Taymans  <wim@fluendo.com>
14386
14387         * gst/cothreads.c:
14388         * gst/cothreads.h:
14389         Let's remove these.
14390
14391 2005-07-18  Wim Taymans  <wim@fluendo.com>
14392
14393         * docs/design/part-dynamic.txt:
14394         * docs/design/part-events.txt:
14395         * docs/design/part-seeking.txt:
14396         Some more docs in the works.
14397
14398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14399         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14400         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14401         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14402         (gst_base_transform_handle_buffer),
14403         (gst_base_transform_sink_activate_push),
14404         (gst_base_transform_src_activate_pull),
14405         (gst_base_transform_set_passthrough),
14406         (gst_base_transform_is_passthrough):
14407         Refcounting fixes.
14408
14409         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14410         Cleanups.
14411
14412         * gst/gstevent.c: (gst_event_finalize):
14413         Set SRC to NULL.
14414
14415         * gst/gstutils.c: (gst_element_unlink),
14416         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14417         (gst_pad_proxy_setcaps):
14418         * gst/gstutils.h:
14419         Add _get_parent_element() to get a pads parent as an element.
14420
14421 2005-07-18  Wim Taymans  <wim@fluendo.com>
14422
14423         * check/gst/gstbin.c: (GST_START_TEST):
14424         Remove bogus test.
14425
14426 2005-07-18  Wim Taymans  <wim@fluendo.com>
14427
14428         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14429         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14430         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14431         (gst_base_sink_event), (gst_base_sink_do_sync),
14432         (gst_base_sink_chain), (gst_base_sink_loop),
14433         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14434         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14435         Refcounting fixes.
14436         Fix logic for returning ASYNC when not prerolled.
14437
14438 2005-07-18  Wim Taymans  <wim@fluendo.com>
14439
14440         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14441         Fix nasty refcount bug.
14442
14443 2005-07-16 Philippe Khalaf <burger@speedy.org>
14444
14445         * gst/elements/gstfdsrc.c:
14446         * gst/elements/gstfdsrc.h:
14447         * gst/elements/gstelements.c:
14448         * gst/elements/Makefile.am:
14449         Ported fdsrc to 0.9.
14450
14451 2005-07-16  Wim Taymans  <wim@fluendo.com>
14452
14453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14454         (gst_base_sink_do_sync):
14455         Fix compile error.
14456
14457 2005-07-16  Wim Taymans  <wim@fluendo.com>
14458
14459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14460         (gst_base_sink_event), (gst_base_sink_get_times),
14461         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14462         * gst/base/gstbasesink.h:
14463         Store and use discont values when syncing buffers as described
14464         in design docs.
14465         
14466         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14467         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14468         (gst_base_src_activate_push):
14469         Push discont event when starting.
14470
14471         * gst/elements/gstidentity.c: (gst_identity_transform):
14472         Small cleanups.
14473
14474         * gst/gstbin.c: (gst_bin_change_state):
14475         Small cleanups in base_time  distribution.
14476
14477         * gst/gstelement.c: (gst_element_set_base_time),
14478         (gst_element_get_base_time), (gst_element_change_state):
14479         * gst/gstelement.h:
14480         Added methods for the base_time of the element.
14481         Some MT fixes.
14482
14483         * gst/gstpipeline.c: (gst_pipeline_send_event),
14484         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14485         (gst_pipeline_get_last_stream_time):
14486         * gst/gstpipeline.h:
14487         MT fixes.
14488         Handle seeking as described in design doc, remove stream_time
14489         hack.
14490         Cleanups clock and stream_time selection code. Added accessors
14491         for the stream_time.
14492         
14493
14494 2005-07-16  Andy Wingo  <wingo@pobox.com>
14495
14496         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14497         (#305291).
14498
14499 2005-07-16  Wim Taymans  <wim@fluendo.com>
14500
14501         * check/gst/gstbin.c: (GST_START_TEST):
14502         Make elements silent as the deep_notify refs the
14503         parent, which might make the test fail.
14504
14505         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14506         Don't hold the lock for too long.
14507
14508 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14509
14510         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14511           Don't unref the caps we passed to gst_caps_make_writable() after
14512           passing them. gst_caps_make_writable() will do that for us.
14513
14514 2005-07-15  Andy Wingo  <wingo@pobox.com>
14515
14516         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14517         (#157311).
14518
14519         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14520         own marshalling function for the handoff signal. Properly type the
14521         buffer as a buffer. Fixes some warnings. Should do a more general
14522         solution.
14523         (gst_identity_class_init): Plug into the right marshaller.
14524
14525 2005-07-15  Wim Taymans  <wim@fluendo.com>
14526
14527         * docs/design/part-TODO.txt:
14528         * docs/design/part-clocks.txt:
14529         * docs/design/part-element-sink.txt:
14530         * docs/design/part-events.txt:
14531         * docs/design/part-gstpipeline.txt:
14532         Updated docs, mostly DISCONT related.
14533
14534 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14535
14536         * docs/pwg/building-pads.xml:
14537           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14538
14539 2005-07-15  Andy Wingo  <wingo@pobox.com>
14540
14541         * tools/gst-typefind.c: Update, add copyright block.
14542
14543         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14544         Normalize and truncate caps before fixation.
14545
14546         * gst/gstcaps.h:
14547         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14548         discards all but the first structure from its argument.
14549
14550 2005-07-15  Wim Taymans  <wim@fluendo.com>
14551
14552         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14553         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14554         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14555         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14556         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14557         (gst_base_transform_chain), (gst_base_transform_change_state),
14558         (gst_base_transform_set_passthrough),
14559         (gst_base_transform_is_passthrough):
14560         * gst/base/gstbasetransform.h:
14561         Make passthrough work using the bufferpools.
14562         Changed API a bit, subclasses have to write into a buffer
14563         provided by the base class.
14564         More debug info in nego functions.
14565         
14566         * gst/elements/gstidentity.c: (gst_identity_init),
14567         (gst_identity_transform):
14568         Port to new base class.
14569
14570 2005-07-15  Wim Taymans  <wim@fluendo.com>
14571
14572         * gst/gstmessage.c: (gst_message_new_state_changed):
14573         * tools/gst-launch.c: (event_loop), (main):
14574         Totally dump messages in -launch with the -m option.
14575         Fix message name for State messages,
14576
14577 2005-07-14  Wim Taymans  <wim@fluendo.com>
14578
14579         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14580         Post error messages on errors.
14581
14582 2005-07-14  Wim Taymans  <wim@fluendo.com>
14583
14584         * gst/gstcaps.c: (gst_caps_do_simplify):
14585         Remove debug info.
14586
14587         * gst/gsterror.h:
14588         Define error for stream stopped.
14589
14590         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14591         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14592         Do proper return values.
14593
14594         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14595         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14596         (gst_pad_get_range):
14597         Better return values.
14598
14599         * gst/gstpad.h:
14600         Reorganise return values, add macro to check for fatal errors.
14601
14602         * gst/gstqueue.c: (gst_queue_chain):
14603         Return proper GstFlowReturn values,
14604
14605 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14606
14607         * docs/gst/gstreamer-sections.txt:
14608         * docs/gst/gstreamer.types:
14609         * docs/gst/tmpl/gst.sgml:
14610         * docs/gst/tmpl/gstbasesink.sgml:
14611         * docs/gst/tmpl/gstbasesrc.sgml:
14612         * docs/gst/tmpl/gstbasetransform.sgml:
14613         * docs/gst/tmpl/gstbin.sgml:
14614         * docs/gst/tmpl/gstbuffer.sgml:
14615         * docs/gst/tmpl/gstcaps.sgml:
14616         * docs/gst/tmpl/gstclock.sgml:
14617         * docs/gst/tmpl/gstcompat.sgml:
14618         * docs/gst/tmpl/gstconfig.sgml:
14619         * docs/gst/tmpl/gstelement.sgml:
14620         * docs/gst/tmpl/gstelementdetails.sgml:
14621         * docs/gst/tmpl/gstelementfactory.sgml:
14622         * docs/gst/tmpl/gstenumtypes.sgml:
14623         * docs/gst/tmpl/gsterror.sgml:
14624         * docs/gst/tmpl/gstevent.sgml:
14625         * docs/gst/tmpl/gstfakesink.sgml:
14626         * docs/gst/tmpl/gstfakesrc.sgml:
14627         * docs/gst/tmpl/gstfilesink.sgml:
14628         * docs/gst/tmpl/gstfilesrc.sgml:
14629         * docs/gst/tmpl/gstfilter.sgml:
14630         * docs/gst/tmpl/gstformat.sgml:
14631         * docs/gst/tmpl/gstghostpad.sgml:
14632         * docs/gst/tmpl/gstimplementsinterface.sgml:
14633         * docs/gst/tmpl/gstindex.sgml:
14634         * docs/gst/tmpl/gstindexfactory.sgml:
14635         * docs/gst/tmpl/gstinfo.sgml:
14636         * docs/gst/tmpl/gstiterator.sgml:
14637         * docs/gst/tmpl/gstmacros.sgml:
14638         * docs/gst/tmpl/gstmemchunk.sgml:
14639         * docs/gst/tmpl/gstminiobject.sgml:
14640         * docs/gst/tmpl/gstobject.sgml:
14641         * docs/gst/tmpl/gstpad.sgml:
14642         * docs/gst/tmpl/gstpadtemplate.sgml:
14643         * docs/gst/tmpl/gstparse.sgml:
14644         * docs/gst/tmpl/gstpipeline.sgml:
14645         * docs/gst/tmpl/gstplugin.sgml:
14646         * docs/gst/tmpl/gstpluginfeature.sgml:
14647         * docs/gst/tmpl/gstquery.sgml:
14648         * docs/gst/tmpl/gstqueue.sgml:
14649         * docs/gst/tmpl/gstregistry.sgml:
14650         * docs/gst/tmpl/gstregistrypool.sgml:
14651         * docs/gst/tmpl/gstscheduler.sgml:
14652         * docs/gst/tmpl/gstschedulerfactory.sgml:
14653         * docs/gst/tmpl/gststructure.sgml:
14654         * docs/gst/tmpl/gstsystemclock.sgml:
14655         * docs/gst/tmpl/gsttaglist.sgml:
14656         * docs/gst/tmpl/gsttagsetter.sgml:
14657         * docs/gst/tmpl/gsttrace.sgml:
14658         * docs/gst/tmpl/gsttrashstack.sgml:
14659         * docs/gst/tmpl/gsttypefind.sgml:
14660         * docs/gst/tmpl/gsttypefindfactory.sgml:
14661         * docs/gst/tmpl/gsttypes.sgml:
14662         * docs/gst/tmpl/gsturihandler.sgml:
14663         * docs/gst/tmpl/gsturitype.sgml:
14664         * docs/gst/tmpl/gstutils.sgml:
14665         * docs/gst/tmpl/gstvalue.sgml:
14666         * docs/gst/tmpl/gstversion.sgml:
14667         * docs/gst/tmpl/gstxml.sgml:
14668         * docs/libs/tmpl/gstcontrol.sgml:
14669         * docs/libs/tmpl/gstdataprotocol.sgml:
14670         * docs/libs/tmpl/gstdparam.sgml:
14671         * docs/libs/tmpl/gstdplinint.sgml:
14672         * docs/libs/tmpl/gstdpman.sgml:
14673         * docs/libs/tmpl/gstdpsmooth.sgml:
14674         * docs/libs/tmpl/gstgetbits.sgml:
14675         * docs/libs/tmpl/gstunitconvert.sgml:
14676         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14677         (gst_push_src_base_init), (gst_push_src_class_init),
14678         (gst_push_src_init), (gst_push_src_create):
14679         * gst/base/gstpushsrc.h:
14680         * gst/elements/gstelements.c:
14681         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14682         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14683         (gst_fake_sink_init), (gst_fake_sink_set_property),
14684         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14685         (gst_fake_sink_event), (gst_fake_sink_preroll),
14686         (gst_fake_sink_render), (gst_fake_sink_change_state):
14687         * gst/elements/gstfakesink.h:
14688         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14689         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14690         (gst_fake_src_base_init), (gst_fake_src_class_init),
14691         (gst_fake_src_init), (gst_fake_src_event_handler),
14692         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14693         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14694         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14695         (gst_fake_src_create_buffer), (gst_fake_src_create),
14696         (gst_fake_src_start), (gst_fake_src_stop):
14697         * gst/elements/gstfakesrc.h:
14698         * gst/elements/gstfilesink.c: (_do_init),
14699         (gst_file_sink_base_init), (gst_file_sink_class_init),
14700         (gst_file_sink_init), (gst_file_sink_dispose),
14701         (gst_file_sink_set_location), (gst_file_sink_set_property),
14702         (gst_file_sink_get_property), (gst_file_sink_open_file),
14703         (gst_file_sink_close_file), (gst_file_sink_query),
14704         (gst_file_sink_event), (gst_file_sink_render),
14705         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14706         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14707         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14708         * gst/elements/gstfilesink.h:
14709         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14710         (gst_file_src_class_init), (gst_file_src_init),
14711         (gst_file_src_finalize), (gst_file_src_set_location),
14712         (gst_file_src_set_property), (gst_file_src_get_property),
14713         (gst_file_src_map_region), (gst_file_src_map_small_region),
14714         (gst_file_src_create_mmap), (gst_file_src_create_read),
14715         (gst_file_src_create), (gst_file_src_is_seekable),
14716         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14717         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14718         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14719         (gst_file_src_uri_handler_init):
14720         * gst/elements/gstfilesrc.h:
14721           more autistic cleanliness in functions/names/defines
14722
14723 2005-07-13  Andy Wingo  <wingo@pobox.com>
14724
14725         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14726         source couldn't negotiate.
14727
14728         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14729         connections again.
14730
14731         * gst/gstutils.h:
14732         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14733         function. I am channeling Hades. Put your boots on suckers!!!
14734
14735 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14736
14737         * testsuite/caps/Makefile.am:
14738         * testsuite/caps/value_compare.c:
14739         * testsuite/caps/value_intersect.c:
14740         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14741           move two testsuite apps over to the check dir
14742
14743 2005-07-12  Wim Taymans  <wim@fluendo.com>
14744
14745         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14746         Added more debug info in the negotiate process.
14747
14748         * gst/gstmessage.h:
14749         Prepare for segment playback.
14750
14751         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14752         Better debugging.
14753
14754         * gst/gstutils.c:
14755         Some more docs.
14756
14757         * tools/gst-launch.c: (main):
14758         NULL pipeline on errors.
14759
14760 2005-07-12  Andy Wingo  <wingo@pobox.com>
14761
14762         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14763         not it comes from a malloc region. Make sure our copy gets freed.
14764
14765 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14766
14767         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14768         * check/gst/gstmessage.c: (GST_START_TEST):
14769         * check/gst/gststructure.c: (GST_START_TEST),
14770         (gst_structure_suite), (main):
14771           more testing
14772         * gst/gstelement.c: (gst_element_message_full):
14773           clean up GError and debug string now that they get copied
14774         * gst/gstmessage.c: (gst_message_new_error),
14775         (gst_message_new_warning), (gst_message_parse_error),
14776         (gst_message_parse_warning):
14777           use GST_TYPE_G_ERROR for structure_new, and take copies of
14778           arguments, so that we don't mess up refcounting
14779
14780 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14781
14782         * check/Makefile.am:
14783           add per-test valgrind targets
14784         * check/gst-libs/gdp.c: (GST_START_TEST),
14785         (gst_data_protocol_suite), (main):
14786           clean up
14787
14788 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14789
14790         * check/Makefile.am:
14791           instate more valgrindable tests
14792         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14793         (GST_START_TEST), (fakesrc_suite):
14794         * check/gst/gstpad.c: (GST_START_TEST):
14795         * check/gst/gststructure.c: (GST_START_TEST):
14796           fix test leaks
14797         * docs/gst/tmpl/gstminiobject.sgml:
14798         * gst/gstpad.c: (gst_pad_finalize):
14799           fix the static mutex leak
14800
14801 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14802
14803         * check/Makefile.am:
14804           add two more tests for valgrinding
14805         * check/gst/gstvalue.c: (GST_START_TEST):
14806           test refcount of deserialized buffer, found a leak
14807         * docs/gst/gstreamer-docs.sgml:
14808         * docs/gst/gstreamer-sections.txt:
14809         * docs/gst/gstreamer.types:
14810         * docs/gst/tmpl/gstminiobject.sgml:
14811           add miniobject to docs
14812         * gst/gstminiobject.c:
14813           add some docs
14814         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14815         (gst_string_unwrap):
14816           fix a hard-to-find invalid write for one of the tests
14817           fix a leak for deserialized buffers
14818
14819 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14820
14821         * docs/pwg/advanced-events.xml:
14822         * docs/pwg/advanced-request.xml:
14823         * docs/pwg/advanced-scheduling.xml:
14824         * docs/pwg/appendix-porting.xml:
14825         * docs/pwg/building-boiler.xml:
14826         * docs/pwg/intro-preface.xml:
14827         * docs/pwg/other-ntoone.xml:
14828           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14829           of example code and explanation for pad activation, loop() and
14830           getrange() functions and a bit more. Remove old comments pointing
14831           to loop-functions.
14832         * examples/pwg/Makefile.am:
14833           Add loop/getrange examples.
14834
14835 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * configure.ac:
14838           check for valgrind binary + some fixes
14839         * check/gst.supp:
14840           valgrind suppressions for the tests
14841         * check/Makefile.am:
14842           add a valgrind: target that valgrinds the unit tests
14843         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14844         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14845         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14846         * check/gst/gstghostpad.c:
14847           added some cleanup
14848         * check/gst/gstdata.c:
14849           removed
14850         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14851         (thread_unref), (gst_mini_object_suite), (main):
14852           added
14853         * gst/gst.c: (gst_deinit):
14854         * gst/gst.h:
14855           add a method to clean up.
14856         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14857         (gst_system_clock_obtain):
14858           allow for disposing the system clock.
14859         * tools/gst-launch.c: (main):
14860           deinit
14861
14862 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14863
14864         * docs/gst/tmpl/gstbasesrc.sgml:
14865         * docs/gst/tmpl/gstfakesrc.sgml:
14866         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14867         (gst_base_src_init), (gst_base_src_set_property),
14868         (gst_base_src_get_property), (gst_base_src_get_range),
14869         (gst_base_src_start):
14870         * gst/base/gstbasesrc.h:
14871           add num-buffers property
14872         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14873         (gst_fakesrc_init), (gst_fakesrc_set_property),
14874         (gst_fakesrc_get_property), (gst_fakesrc_create),
14875         (gst_fakesrc_start):
14876           remove num-buffers property
14877
14878 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14879
14880         * docs/gst/gstreamer-sections.txt:
14881         * docs/gst/tmpl/gstbasesink.sgml:
14882         * docs/gst/tmpl/gstbasesrc.sgml:
14883         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14884         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14885         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14886         (gst_base_sink_set_property), (gst_base_sink_get_property),
14887         (gst_base_sink_handle_object), (gst_base_sink_event),
14888         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14889         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14890         (gst_base_sink_loop), (gst_base_sink_deactivate),
14891         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14892         (gst_base_sink_change_state):
14893         * gst/base/gstbasesink.h:
14894         * gst/base/gstbasesrc.h:
14895         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14896         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14897         (gst_filesink_init):
14898           more macro splitting
14899
14900 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14901
14902         * gst/gstelement.c: (gst_element_get_bus):
14903           add debug
14904         * tools/gst-launch.c: (check_intr), (event_loop):
14905           fix bus leaks
14906
14907 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14908
14909         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14910           fix a caps leak
14911
14912 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14913
14914         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14915         (gst_base_src_finalize):
14916           add finalize method and clean up properly
14917         * gst/gstpipeline.c: (gst_pipeline_dispose):
14918           add debug
14919
14920 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14921
14922         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14923         (gst_bin_suite):
14924           add more things to check
14925         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14926         * gst/gstelement.c:
14927           more debug
14928
14929 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14930
14931         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14932         (GST_START_TEST), (fakesrc_suite):
14933         * check/gst-libs/gdp.c: (GST_START_TEST):
14934         * check/gst/gst.c: (GST_START_TEST):
14935         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14936         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14937         * check/gst/gstbus.c: (GST_START_TEST):
14938         * check/gst/gstcaps.c: (GST_START_TEST):
14939         * check/gst/gstdata.c: (GST_START_TEST):
14940         * check/gst/gstelement.c: (GST_START_TEST):
14941         * check/gst/gstghostpad.c: (GST_START_TEST):
14942         * check/gst/gstiterator.c: (GST_START_TEST):
14943         * check/gst/gstmessage.c: (GST_START_TEST):
14944         * check/gst/gstobject.c: (GST_START_TEST):
14945         * check/gst/gstpad.c: (GST_START_TEST):
14946         * check/gst/gststructure.c: (GST_START_TEST):
14947         * check/gst/gstsystemclock.c: (GST_START_TEST),
14948         (gst_systemclock_suite):
14949         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14950         * check/gst/gstvalue.c: (GST_START_TEST):
14951         * check/pipelines/cleanup.c: (GST_START_TEST):
14952         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14953         * check/states/sinks.c: (GST_START_TEST):
14954         * check/gstcheck.c: (gst_check_init):
14955         * check/gstcheck.h:
14956           add debugging category
14957           use GST_START_TEST now, so we add a debug line
14958
14959 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14960
14961         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14962           add test for state change message on a bin
14963         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14964           add another test
14965         * gst/gstbin.c: (gst_bin_init):
14966         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14967         * gst/gstelement.c: (gst_element_post_message),
14968         (gst_element_set_state):
14969         * gst/gstelementfactory.c: (gst_element_factory_create):
14970         * gst/gstmessage.c: (gst_message_new):
14971         * gst/gstscheduler.c:
14972           various debugging additions and cleanups
14973
14974 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14975
14976         * check/Makefile.am:
14977         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14978         (main):
14979           adding tests for elements
14980         * gst/gstelement.c: (gst_element_dispose):
14981
14982 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14983
14984         * gst/registries/gstlibxmlregistry.c: (load_feature):
14985           plug more leaks.  A simple gst_init() now is leakfree, yay.
14986
14987 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14988
14989         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14990         (gst_xml_registry_load):
14991           plug another memleak
14992
14993 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14994
14995         * configure.ac:
14996           use GST_SET_ERROR_CFLAGS
14997         * docs/faq/cvs.xml:
14998           change to ERROR_CFLAGS
14999
15000 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * configure.ac:
15003           make GST_ERROR_CFLAGS overridable and re-enable Werror
15004         * docs/faq/cvs.xml:
15005           add a note about error CFLAGS
15006         * docs/gst/tmpl/gstfakesrc.sgml:
15007         * gst/elements/gstfakesrc.c:
15008           comment out some unused code
15009         * gst/gst.c: (split_and_iterate):
15010         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15011         (load_feature):
15012           plug some memleaks
15013
15014 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15015
15016         * common/Makefile.am:
15017         * common/gtk-doc.mak:
15018         * docs/gst/Makefile.am:
15019           factor out gtk-doc.mak
15020
15021 2005-07-07  Wim Taymans  <wim@fluendo.com>
15022
15023         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15024         (gst_thread_scheduler_dispose):
15025         Unlock the STREAM_LOCK completely.
15026
15027 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15028
15029         * check/Makefile.am:
15030         * check/elements/.cvsignore:
15031         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15032         (START_TEST), (fakesrc_suite), (main):
15033         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15034         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15035         (gst_fakesrc_create), (gst_fakesrc_start):
15036         * gst/elements/gstfakesrc.h:
15037           adding a first element test
15038
15039 2005-07-07  Andy Wingo  <wingo@pobox.com>
15040
15041         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15042         debug message.
15043
15044 2005-07-07  Wim Taymans  <wim@fluendo.com>
15045
15046         * gst/gstquery.c:
15047         * gst/gstquery.h:
15048         Remove old types
15049
15050 2005-07-07  Wim Taymans  <wim@fluendo.com>
15051
15052         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15053         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15054         Allow subclasses to implement their own negotiation.
15055
15056 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15057
15058         * docs/design/part-gstbin.txt:
15059         * docs/design/part-gstpipeline.txt:
15060           Update design notes to reflect the movement of
15061           responsibility for bus handling from GstPipeline to
15062           GstBin
15063
15064 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15065
15066         * configure.ac:
15067           Remove unnecessary queue2/3/4 examples.
15068
15069 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15070
15071         * examples/Makefile.am:
15072         * examples/helloworld/helloworld.c: (event_loop), (main):
15073         * examples/queue/queue.c: (event_loop), (main):
15074         * examples/queue2/queue2.c: (main):
15075           Update a couple of the examples to work again.
15076
15077         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15078         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15079          Spelling corrections and extra debug.
15080         
15081         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15082         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15083         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15084         * gst/gstbin.h:
15085         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15086         (gst_pipeline_change_state):
15087         * gst/gstpipeline.h:
15088           Move the bus handler for children to the GstBin, and create a
15089           separate bus for receiving messages from children to the one the
15090           bus sends 'upwards' on.
15091
15092 2005-07-06  Wim Taymans  <wim@fluendo.com>
15093
15094         * gst/base/README:
15095         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15096         (gst_base_sink_handle_object), (gst_base_sink_loop),
15097         (gst_base_sink_change_state):
15098         * gst/base/gstbasesink.h:
15099         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15100         (gst_base_src_init), (gst_base_src_setcaps),
15101         (gst_base_src_getcaps), (gst_base_src_loop),
15102         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15103         (gst_base_src_start), (gst_base_src_change_state):
15104         * gst/base/gstbasesrc.h:
15105         Make basesrc negotiate.
15106         Handle the case where preroll fails in basesink.
15107         Update README.
15108
15109 2005-07-06  Wim Taymans  <wim@fluendo.com>
15110
15111         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15112         Implement the fixate function.
15113         Clean up acceptcaps.
15114
15115 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15116
15117         * docs/pwg/building-filterfactory.xml:
15118         * docs/pwg/pwg.xml:
15119           Remove never-written filter-factory chapter; I'll add the various
15120           base classes to part 4 ("other element types") later on.
15121
15122 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15123
15124         * docs/pwg/advanced-negotiation.xml:
15125         * docs/pwg/building-boiler.xml:
15126         * docs/pwg/building-pads.xml:
15127         * docs/pwg/pwg.xml:
15128         * examples/pwg/Makefile.am:
15129           Add a chapter on caps negotiation, simplify the original code
15130           samples a bit w.r.t. caps negotiation, add link to the advanced
15131           section. Add a bunch of examples showing different use cases of
15132           different types of caps negotiation. Upstream renegotiation isn't
15133           fully documented yet since nobody knows how that works.
15134
15135 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15136
15137         * check/gst/gstpad.c:
15138         * check/gstcheck.c:
15139         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15140           if pad has no parent, return NULL as list of internal links
15141
15142 2005-07-05  Andy Wingo  <wingo@pobox.com>
15143
15144         * gst/elements/gstfilesrc.c:
15145         * gst/elements/gstfakesrc.c: 
15146         * gst/base/gstpushsrc.c:
15147         * gst/base/gstbasesrc.h: 
15148         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15149         
15150 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15151
15152         * Makefile.am:
15153           better report generation target (lcov needs a patch)
15154
15155 2005-07-05  Andy Wingo  <wingo@pobox.com>
15156
15157         * gst/elements, testsuite: Null if we got it...
15158
15159 2005-07-05  Wim Taymans  <wim@fluendo.com>
15160
15161         * configure.ac:
15162         * libs/gst/dataprotocol/Makefile.am:
15163         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15164         * libs/gst/dataprotocol/dataprotocol.h:
15165         * pkgconfig/Makefile.am:
15166         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15167         * pkgconfig/gstreamer-dataprotocol.pc.in:
15168         Ported dataprotol to 0.9. 
15169         Added pkgconfig files.
15170
15171 2005-07-05  Andy Wingo  <wingo@pobox.com>
15172
15173         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15174         Default to returning TRUE for the case when tranform_caps returns
15175         a fixed caps, like for identity or volume.
15176
15177         * check/gst/gstbus.c (pound_bus_with_messages): 
15178         * check/gst/gstmessage.c (START_TEST): 
15179         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15180         message API change.
15181
15182         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15183         logic weaks here: always run transform_caps, trying passthrough
15184         operation only if the original caps intersects with the transform.
15185
15186         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15187         source and sink caps.
15188
15189         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15190         Intersect the peer caps with the pad template before going into
15191         transform_caps.
15192         (gst_base_transform_transform_caps): More debugging.
15193
15194         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15195         src argument.
15196
15197 2005-07-04  Edward Hervey  <edward@fluendo.com>
15198
15199         * gst/gstutils.c:
15200         * gst/gstutils.h:
15201         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15202         in bindings.
15203
15204 2005-07-04  Andy Wingo  <wingo@pobox.com>
15205
15206         * check/gst/gstpad.c: Only set explicit caps on pads.
15207
15208 2005-07-01  Andy Wingo  <wingo@pobox.com>
15209
15210         * tests/network-clock.scm: Commentary update.
15211
15212         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15213         Didn't really make sense, not implementable with basetransform,
15214         etc.
15215         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15216         attempt at implementing the sync property, needs an unlock method.
15217
15218         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15219         New func, by default returns the same caps (the identity
15220         transformation).
15221         (gst_base_transform_getcaps): Uses transform_caps to return
15222         something sensible.
15223         (gst_base_transform_setcaps): Complicated logic to get caps on
15224         both pads, even if they are different, and to call set_caps once
15225         for every time both pads get their caps set.
15226         (gst_base_transform_handle_buffer): Give the ref to the transform
15227         function. Allows in-place modification of the buffer.
15228
15229         * gst/base/gstbasetransform.h (transform_caps): New class method.
15230         Given caps on one side, what can I do on the other.
15231         (set_caps): Take two caps, one for each side of the element.
15232
15233         * gst/gstpad.h:
15234         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15235         caps in place. This is safe because we can check the mutability of
15236         the caps, and a good idea because fixate functions are just called
15237         as a matter of last resort. (Not actually implemented.)
15238         (gst_pad_set_caps): If the caps we're setting is actually the same
15239         as the existing pad caps, just update the pointer without calling
15240         setcaps. Assert that caps is either NULL or fixed, as per the
15241         docs.
15242
15243         * gst/gstghostpad.c: Update for fixate changes.
15244
15245 2005-07-02  Andy Wingo  <wingo@pobox.com>
15246
15247         * gst/gstcaps.c:
15248         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15249         two refcounts makes it immutable, which is enough. Doc more.
15250
15251 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15252
15253         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15254           Put the mini_object into GValue as a mini_object,
15255           not a gpointer, since that's how we declared
15256           the signal.
15257
15258 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15259
15260         * examples/pwg/Makefile.am:
15261           Fix buildbot again.
15262
15263 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15264
15265         * docs/pwg/building-testapp.xml:
15266           Add extra check.
15267         * examples/pwg/Makefile.am:
15268           Fix buildbot.
15269
15270 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15271
15272         * configure.ac:
15273         * examples/Makefile.am:
15274         * examples/pwg/Makefile.am:
15275         * examples/pwg/extract.pl:
15276           Enable building the PWG examples.
15277         * docs/pwg/advanced-interfaces.xml:
15278           Add URI interface stub.
15279         * docs/pwg/advanced-types.xml:
15280         * docs/pwg/other-autoplugger.xml:
15281         * docs/pwg/appendix-porting.xml:
15282         * docs/pwg/pwg.xml:
15283           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15284         * docs/pwg/building-boiler.xml:
15285         * docs/pwg/building-chainfn.xml:
15286         * docs/pwg/building-pads.xml:
15287         * docs/pwg/building-props.xml:
15288         * docs/pwg/building-state.xml:
15289         * docs/pwg/building-testapp.xml:
15290           Update the building-*.xml parts for 0.9 changes. All examples
15291           code blocks compile in examples/pwg/*.
15292
15293 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15294
15295         * docs/manual/advanced-autoplugging.xml:
15296         * docs/manual/appendix-checklist.xml:
15297         * docs/manual/appendix-integration.xml:
15298         * docs/manual/highlevel-components.xml:
15299           Fix playbin/decodebin examples, update docs a bit, mention bus
15300           instead of signals in various places, mention kmplayer and
15301           kaffeine since they have a working GStreamer backend in the KDE
15302           section.
15303
15304 2005-06-30  Wim Taymans  <wim@fluendo.com>
15305
15306         * CHANGES-0.9:
15307         * docs/design/draft-ghostpads.txt:
15308         * docs/design/draft-push-pull.txt:
15309         * docs/design/draft-query.txt:
15310         * docs/design/part-TODO.txt:
15311         * docs/design/part-query.txt:
15312         Added CHANGES-0.9 doc, updated status of other docs.
15313         
15314         * gst/gstquery.h:
15315         Remove "hmm" macro
15316
15317 2005-06-30  Wim Taymans  <wim@fluendo.com>
15318
15319         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15320         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15321         (gst_base_sink_change_state):
15322         * gst/base/gstbasesink.h:
15323         Some tweaks, only EOS and a buffer complete a preroll.
15324
15325 2005-06-30  Andy Wingo  <wingo@pobox.com>
15326
15327         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15328         activate_push down to the internal pad as well.
15329
15330 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15331
15332         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15333
15334         * gst/gsttaginterface.c:
15335           Some documentation fixes (#307394 and #307397).
15336
15337 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15338
15339         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15340
15341         * gst/gstvalue.c: (gst_value_intersect_list):
15342           Fix memleak (#309125).
15343
15344 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15345
15346         * docs/manual/advanced-dataaccess.xml:
15347           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15348         * docs/manual/basics-pads.xml:
15349           Add reference for filtered caps to above chapter.
15350
15351 2005-06-30  Wim Taymans  <wim@fluendo.com>
15352
15353         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15354         (gst_bin_change_state):
15355         Probes are gone.
15356         Lame attempt at making the state change function a bit
15357         more readable.
15358
15359 2005-06-30  Wim Taymans  <wim@fluendo.com>
15360
15361         * docs/design/part-clocks.txt:
15362         * docs/design/part-element-sink.txt:
15363         * docs/design/part-events.txt:
15364         * docs/design/part-preroll.txt:
15365         * docs/design/part-states.txt:
15366         Some more tweeks and additions to the docs.
15367
15368 2005-06-30  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15371         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15372         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15373         (gst_pad_check_pull_range), (gst_pad_get_range),
15374         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15375         * gst/gstpad.h:
15376         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15377         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15378         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15379         (gst_pad_remove_buffer_probe):
15380         Removed atomic operations, use existing LOCK.
15381         Move exception handling out of main code path.
15382
15383 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15384
15385         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15386         (silly_return_true_function), (gst_pad_class_init),
15387         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15388         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15389         (gst_pad_send_event):
15390           Fix accumulator, add default value by using _emitv() instead
15391           of _emit() for signal emission.
15392
15393 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15394
15395         * docs/manual/advanced-dataaccess.xml:
15396         * examples/manual/Makefile.am:
15397           Add probe example.
15398         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15399           Make work (??).
15400
15401 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15402
15403         * gst/elements/gstfilesink.c: (gst_filesink_render):
15404           Simplify code so that we don't have to handle short
15405           writes and return GST_FLOW_ERROR if an error occured.
15406
15407 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15408
15409         * docs/gst/gstreamer-docs.sgml:
15410           Remove probes more.
15411
15412 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15413
15414         * docs/gst/gstreamer-sections.txt:
15415         * docs/gst/tmpl/gstpad.sgml:
15416         * docs/gst/tmpl/gstprobe.sgml:
15417         * gst/Makefile.am:
15418         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15419         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15420         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15421         (gst_pad_push_event), (gst_pad_send_event):
15422         * gst/gstpad.h:
15423         * gst/gstutils.c: (gst_pad_add_data_probe),
15424         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15425         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15426         (gst_pad_remove_buffer_probe):
15427         * gst/gstutils.h:
15428           Remove old probes, add new g-signal-based probes and some utility
15429           functions.
15430
15431 2005-06-29  Edward Hervey  <edward@fluendo.com>
15432
15433         * gst/gstelementfactory.c:
15434         * gst/gstutils.h:
15435         * gst/gstutils.c:
15436         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15437         the definition to the header file.
15438
15439 2005-06-29  Andy Wingo  <wingo@pobox.com>
15440
15441         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15442         plugins from the source directory.
15443
15444 2005-06-29  Wim Taymans  <wim@fluendo.com>
15445
15446         * docs/gst/tmpl/gstbuffer.sgml:
15447         * docs/gst/tmpl/gstclock.sgml:
15448         Some fixings for blantently wrong text.
15449
15450 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15451
15452         * check/Makefile.am:
15453         * gst/gst.c: (add_path_func), (init_pre):
15454         * gst/gstregistry.c: (gst_registry_add_path):
15455           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15456           only scan the GST_PLUGIN_PATH locations, and not add
15457           system locations
15458
15459 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15460
15461         * docs/gst/gstreamer-sections.txt:
15462         * docs/gst/tmpl/gstbasesrc.sgml:
15463         * gst/gstelement.c:
15464         * gst/gstelement.h:
15465         * gst/gstevent.c:
15466         * gst/gstutils.c:
15467           doc fixes
15468
15469 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15470
15471         * docs/manual/advanced-autoplugging.xml:
15472           Fix autoplugging example.
15473
15474 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15475
15476         * docs/manual/advanced-autoplugging.xml:
15477         * docs/manual/mime-world.fig:
15478           Try to get autoplugging working, fix type detection. Fix text
15479           in hello-world image.
15480
15481 2005-06-29  Wim Taymans  <wim@fluendo.com>
15482
15483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15484         (gst_base_sink_change_state):
15485         Small debug line.
15486
15487         * gst/gstclock.h:
15488         map SIGNAL and BROADCAST to the right function.
15489
15490         * gst/gstobject.h:
15491         Remove redundant braces.
15492
15493         * gst/gstpad.c: (gst_pad_set_caps):
15494         Don't call setcaps function when reseting caps to NULL.
15495
15496         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15497         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15498         (gst_system_clock_id_unschedule):
15499         Use BROADCAST as this is what we do.
15500
15501 2005-06-29  Wim Taymans  <wim@fluendo.com>
15502
15503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15504         We are actually prerolling before commiting the state
15505         change. 
15506
15507 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15508
15509         * docs/manual/advanced-clocks.xml:
15510         * docs/manual/advanced-interfaces.xml:
15511         * docs/manual/advanced-metadata.xml:
15512         * docs/manual/advanced-position.xml:
15513         * docs/manual/advanced-schedulers.xml:
15514         * docs/manual/advanced-threads.xml:
15515         * docs/manual/appendix-porting.xml:
15516         * docs/manual/basics-bins.xml:
15517         * docs/manual/basics-bus.xml:
15518         * docs/manual/basics-elements.xml:
15519         * docs/manual/basics-helloworld.xml:
15520         * docs/manual/basics-pads.xml:
15521         * docs/manual/highlevel-components.xml:
15522         * docs/manual/manual.xml:
15523         * docs/manual/thread.fig:
15524           Update (until threads/scheduling) Application Development Manual;
15525           remove GstThread, add GstBus, add simple porting checklist, add
15526           documentation for tag writing, clocks, make all examples until this
15527           part compile and run.
15528         * examples/manual/Makefile.am:
15529           Update from changes to Application Development Manual; add bus
15530           example, remove thread example.
15531
15532 2005-06-28  Wim Taymans  <wim@fluendo.com>
15533
15534         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15535         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15536         (gst_bus_source_dispatch):
15537         Add debugging messages.
15538         Make internal methods static.
15539         Handle the case where the bus is flushed in the handler.
15540         
15541         * gst/gstelement.c: (gst_element_get_bus):
15542         Fix refcount in _get_bus();
15543
15544         * gst/gstpipeline.c: (gst_pipeline_change_state),
15545         (gst_pipeline_get_clock_func):
15546         Clock refcounting fixes.
15547         Handle the case where preroll timed out more gracefully.
15548         
15549         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15550         Clean up the internal thread in dispose. This is needed
15551         for subclasses that actually get disposed.
15552         
15553         * gst/schedulers/threadscheduler.c:
15554         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15555         (gst_thread_scheduler_dispose):
15556         Free thread pool in dispose.
15557
15558 2005-06-28  Andy Wingo  <wingo@pobox.com>
15559
15560         * tests/network-clock-utils.scm (debug, print-event): New utils.
15561
15562         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15563         (*packet-loss*): Unified loss probability.
15564         (network-time): Report out-of-band events.
15565
15566         * tests/plot-data: Add support for out-of-band events. Hack it
15567         into this script instead of passing it down the pipe; should fix
15568         this later.
15569
15570 2005-06-28  Wim Taymans  <wim@fluendo.com>
15571
15572         * docs/gst/gstreamer.types:
15573         * docs/gst/tmpl/gstbasesrc.sgml:
15574         * docs/gst/tmpl/gstpad.sgml:
15575         Docs fixes.
15576
15577 2005-06-28  Wim Taymans  <wim@fluendo.com>
15578
15579         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15580         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15581         (gst_proxy_pad_do_fixatecaps):
15582         Correctly proxy the check_pull_range function.
15583
15584 2005-06-28  Andy Wingo  <wingo@pobox.com>
15585
15586         * tests/network-clock.scm: Removed need for slib.
15587         
15588 2005-06-28  Wim Taymans  <wim@fluendo.com>
15589
15590         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15591         (gst_basesink_preroll_queue_flush):
15592         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15593         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15594         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15595         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15596         (gst_proxy_pad_set_property):
15597         * gst/gstpad.c:
15598         * gst/gstpad.h:
15599         * gst/gstqueue.c: (gst_queue_init):
15600         The deprecated pad loop function is removed now.
15601
15602 2005-06-28  Andy Wingo  <wingo@pobox.com>
15603
15604         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15605         New parameters, simulate network packet loss.
15606
15607         * tests/network-clock-utils.scm: Initialize the RNG.
15608
15609 2005-06-28  Wim Taymans  <wim@fluendo.com>
15610
15611         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15612         (gst_basesink_event), (gst_basesink_deactivate):
15613         Flushing the preroll queue always needs to unlock the waiters.
15614
15615 2005-06-28  Edward Hervey  <edward@fluendo.com>
15616
15617         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15618         Wheen a seek was successful on a pipeline, set the stream_time to the
15619         seek offset in order to have a synchronized stream_time.
15620
15621 2005-06-28  Wim Taymans  <wim@fluendo.com>
15622
15623         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15624         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15625         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15626         (gst_proxy_pad_do_fixatecaps):
15627         Call wrapper function instead of just calling the function
15628         pointers. This takes care of any locking and whatmore.
15629
15630 2005-06-28  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15633         (gst_pad_pull_range):
15634         * gst/gstpad.h:
15635         CONNECTED -> LINKED.
15636
15637 2005-06-28  Andy Wingo  <wingo@pobox.com>
15638
15639         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15640         source-munging commit!!!
15641
15642         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15643         (gst_object_sink): Take gpointer arguments, not GstObject --
15644         avoids casts. Like GLib.
15645
15646         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15647         activate.
15648
15649 2005-06-27  Andy Wingo  <wingo@pobox.com>
15650
15651         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15652         remaining buffer.
15653
15654         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15655         returns a sorted copy of the trace list.
15656         (gst_alloc_trace_print_live): New API, only prints traces with
15657         live objects. Sort the list.
15658         (gst_alloc_trace_print_all): Sort the list.
15659         (gst_alloc_trace_print): Align columns.
15660
15661         * gst/elements/gstttypefindelement.c:
15662         * gst/elements/gsttee.c:
15663         * gst/base/gstbasesrc.c:
15664         * gst/base/gstbasesink.c:
15665         * gst/base/gstbasetransform.c:
15666         * gst/gstqueue.c: Adapt for pad activation changes.
15667
15668         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15669         sched.
15670         (gst_pipeline_dispose): Drop ref on sched.
15671
15672         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15673         (gst_pad_activate_default): Push mode by default.
15674         (pre_activate_switch, post_activate_switch): New stubs, things to
15675         do before and after switching activation modes on pads.
15676         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15677         the pad's activate function to choose which mode to activate.
15678         Shortcut on deactivation and call the right function directly.
15679         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15680         mode.
15681         (gst_pad_activate_push): New API, same for push mode.
15682         (gst_pad_set_activate_function) 
15683         (gst_pad_set_activatepull_function) 
15684         (gst_pad_set_activatepush_function): Setters for new API.
15685
15686         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15687         Trace all miniobjects.
15688         (gst_mini_object_make_writable): Unref the arg if we copy, like
15689         gst_caps_make_writable.
15690
15691         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15692
15693         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15694         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15695         Adapt for new pad API.
15696
15697         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15698
15699         * gst/gstelement.h:
15700         * gst/gstelement.c (gst_element_iterate_src_pads) 
15701         (gst_element_iterate_sink_pads): New API functions.
15702         
15703         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15704         should fold into gstiterator.c in some form.
15705         (gst_element_pads_activate): Simplified via use of fold and
15706         delegation of decisions to gstpad->activate.
15707
15708         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15709         help in debugging.
15710
15711         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15712         class once in init, like gstmessage. Didn't run into this issue
15713         but it seems correct. Don't initialize a trace, gstminiobject does
15714         that.
15715
15716         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15717         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15718         to the bus.
15719         (assert_live_count): New util function, uses alloc traces to check
15720         cleanup.
15721
15722         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15723         To be modified when unlink drops the internal pad.
15724
15725 2005-06-27  Wim Taymans  <wim@fluendo.com>
15726
15727         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15728         (gst_bin_change_state):
15729         Cleanup the get_state() function a little, make sure it
15730         iterates the same set of elements.
15731         Added stub iterate_state_order().
15732
15733 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15734
15735         * docs/gst/gstreamer-docs.sgml:
15736         * docs/gst/gstreamer-sections.txt:
15737         * docs/gst/gstreamer.types:
15738         * docs/gst/tmpl/gstbasesink.sgml:
15739         * docs/gst/tmpl/gstbasesrc.sgml:
15740         * docs/gst/tmpl/gstbasetransform.sgml:
15741         * docs/gst/tmpl/gstelement.sgml:
15742         * docs/gst/tmpl/gstiterator.sgml:
15743         * gst/base/gstbasesrc.c:
15744         * gst/base/gstbasesrc.h:
15745         * gst/base/gstbasetransform.h:
15746         * gst/gstelement.c:
15747         * gst/gstiterator.h:
15748           adding basetransform and iterator docs
15749
15750 2005-06-27  Andy Wingo  <wingo@pobox.com>
15751
15752         * docs/design/part-activation.txt: Notes on how activation should
15753         work -- not quite implemented yet.
15754
15755 2005-06-25  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15758         At least get the chain function correct, needs more
15759         fixing.
15760
15761 2005-06-25  Wim Taymans  <wim@fluendo.com>
15762
15763         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15764         (gst_basesink_handle_object), (gst_basesink_event),
15765         (gst_basesink_do_sync), (gst_basesink_handle_event),
15766         (gst_basesink_change_state):
15767         * gst/gsttask.h:
15768         Right, two problems here: ghostpads don't take locks and
15769         glib _rec_mutex_lock_full() with depth==0 still locks.
15770         Catch illegal locking and g_warn them.
15771
15772 2005-06-25  Wim Taymans  <wim@fluendo.com>
15773
15774         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15775         Have to check for completion now...
15776
15777 2005-06-25  Wim Taymans  <wim@fluendo.com>
15778
15779         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15780         (gst_basesink_handle_object), (gst_basesink_event),
15781         (gst_basesink_do_sync), (gst_basesink_handle_event),
15782         (gst_basesink_change_state):
15783         * gst/gstpad.h:
15784         Unlock STREAM_LOCK whatever the recursion was.
15785
15786 2005-06-25  Wim Taymans  <wim@fluendo.com>
15787
15788         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15789         (gst_basesink_preroll_queue_empty),
15790         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15791         (gst_basesink_event), (gst_basesink_do_sync),
15792         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15793         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15794         (gst_basesink_change_state):
15795         Reworked the base sink, handle event and buffer serialisation
15796         correctly and removed possible deadlock.
15797         Handle EOS correctly.
15798
15799 2005-06-25  Wim Taymans  <wim@fluendo.com>
15800
15801         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15802         (gst_pipeline_change_state):
15803         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15804         Allow elements to post EOS in the state change function.
15805         Fix up -launch, make it exit the poll loop when the
15806         pipeline actually changed state.
15807         Fix up warning parsing in -launch.
15808
15809 2005-06-25  Wim Taymans  <wim@fluendo.com>
15810
15811         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15812         (gst_tee_sink_activate):
15813         Core takes STREAM_LOCK for us now.
15814
15815 2005-06-25  Wim Taymans  <wim@fluendo.com>
15816
15817         * gst/gstelement.c: (gst_element_get_state_func),
15818         (gst_element_set_state):
15819         * gst/gstelement.h:
15820         * gst/gstmessage.c: (gst_message_parse_error),
15821         (gst_message_parse_warning):
15822         Keep track of current target state while performing a state
15823         change so that subclasses can do something interesting.
15824         Fix parsing of warning/error messages when GError is NULL.
15825
15826 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15827
15828         * docs/gst/Makefile.am:
15829         * docs/gst/gstreamer-docs.sgml:
15830         * docs/gst/gstreamer-sections.txt:
15831         * docs/gst/gstreamer.types:
15832         * docs/gst/tmpl/gstbasesink.sgml:
15833         * docs/gst/tmpl/gstbasesrc.sgml:
15834         * docs/gst/tmpl/gstbin.sgml:
15835         * docs/gst/tmpl/gstcompat.sgml:
15836         * docs/gst/tmpl/gstfakesink.sgml:
15837         * docs/gst/tmpl/gstfakesrc.sgml:
15838         * docs/gst/tmpl/gstfilesink.sgml:
15839         * docs/gst/tmpl/gstfilesrc.sgml:
15840         * docs/gst/tmpl/gstindex.sgml:
15841         * docs/manual/appendix-quotes.xml:
15842         * gst/base/gstbasesrc.h:
15843         * gst/elements/gstfakesrc.h:
15844         * gst/gstmessage.h:
15845           start pulling in base classes and elements in our docs
15846
15847 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15848
15849         * docs/gst/Makefile.am:
15850         * docs/libs/Makefile.am:
15851           fixed make distcheck with gtk-doc 1.3
15852
15853 2005-06-23  Wim Taymans  <wim@fluendo.com>
15854
15855         * gst/gstelement.c: (gst_element_get_state_func),
15856         (gst_element_set_state), (gst_element_change_state):
15857         When the state did not change, also report NO_PREROLL
15858         when it matters.
15859
15860 2005-06-23  Wim Taymans  <wim@fluendo.com>
15861
15862         * gst/gstpad.c: (gst_pad_event_default):
15863         * gst/gstqueue.c: (gst_queue_loop):
15864         No unsafe task pausing please.
15865
15866 2005-06-23  Wim Taymans  <wim@fluendo.com>
15867
15868         * gst/schedulers/threadscheduler.c:
15869         (gst_thread_scheduler_task_start),
15870         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15871         Ref the task before pushing it on the threadpool. This
15872         makes sure that we have a ref when the threadfunction is
15873         actually called.
15874
15875 2005-06-23  Andy Wingo  <wingo@pobox.com>
15876
15877         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15878         offset is greater than the file's size.
15879
15880         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15881         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15882         * gst/gstobject.c (gst_object_class_init): Make the class lock
15883         recursive. Wim won't let me drop deep_notify. Decodebin works
15884         again, whoopdy doo.
15885
15886         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15887         internal pad, and hacks accordingly. Doesn't do it on the target
15888         pad because we change its caps. Probably catches all cases of
15889         interest tho.
15890         (gst_ghost_pad_set_property): Connect to notify::caps as
15891         appropritate.
15892
15893         * tests/network-clock.scm (plot-simulation): Pipe data to the
15894         elite python skript.
15895
15896         * tests/network-clock-utils.scm (define-parameter): New macro,
15897         defines a parameter that can be set via the command line.
15898         (set-parameter!, parse-parameter-arguments): Command line args
15899         parser.
15900
15901         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15902         stdin.
15903
15904 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15905
15906         * gst/elements/gsttypefindelement.c:
15907         (gst_type_find_element_handle_event):
15908           Don't restart typefinding on a discont.
15909         * gst/gstelement.c: (gst_element_set_state):
15910           Debug spelling fix.
15911         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15912           Allow changing mode of an active pad.
15913           Debug output fixes.
15914         * gst/registries/gstlibxmlregistry.c: (load_feature):
15915           Don't cast a static pad template to a normal pad template.
15916
15917 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15918
15919         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15920         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15921           remove gst_strtoll completely, since it didn't actually do
15922           anything more than what g_ascii_strtoull already does.
15923           check for range errors when deserializing
15924           do a cast for the unsigned cases; but further fixing needs
15925           a decision on what the interpretation of "(int)" and
15926           deserialization should be for values that fall outside the
15927           type's boundaries (ie, refuse, or interpret as casting)
15928
15929 2005-06-23  Wim Taymans  <wim@fluendo.com>
15930
15931         * check/Makefile.am:
15932         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15933         * docs/design/part-live-source.txt:
15934         * docs/design/part-states.txt:
15935         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15936         (gst_basesrc_set_live), (gst_basesrc_is_live),
15937         (gst_basesrc_get_range), (gst_basesrc_activate),
15938         (gst_basesrc_change_state):
15939         * gst/base/gstbasesrc.h:
15940         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15941         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15942         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15943         * gst/gstelement.c: (gst_element_get_state_func),
15944         (gst_element_set_state):
15945         * gst/gstelement.h:
15946         * gst/gsttypes.h:
15947         * tools/gst-launch.c: (event_loop), (main):
15948         Added support for live sources and other elements that
15949         cannot do preroll.
15950         Updated design docs, added live-source design doc.
15951         Implemented live source functionality in basesrc
15952         Fix error condition in _bin_get_state()
15953         Implement live source handling in -launch.
15954         Added check for live sources.
15955         Fixed case in GstBin where elements were changed state
15956         multiple times.
15957
15958
15959 2005-06-23  Andy Wingo  <wingo@pobox.com>
15960
15961         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15962         borken refcounting.
15963
15964         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15965         gst_caps_replace takes care of this for us.
15966
15967         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15968         gst_pad_set_caps on the target, not just its setcaps() function.
15969
15970         * tests/network-clock.scm: 
15971         * tests/network-clock-utils.scm: A network clock simulator.
15972         Something of an algorithmic testbed before doing something in C.
15973
15974 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15975
15976         * check/Makefile.am:
15977         * check/gst/capslist.h:
15978           copy over from 0.8, and add two with bitmasks specified with
15979           (int) 0xFF...
15980         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15981           add test to parse everything from capslist.h
15982         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15983         (main):
15984           add test for structure deserialization
15985         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15986           add tests for deserialization of strings to int types
15987         * gst/gststructure.c: (gst_structure_nth_field_name):
15988         * gst/gststructure.h:
15989           add a way to get the name of a field referenced by index
15990         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15991           instead of checking if the resulting long long lies between
15992           min and max, we check if the long long would fit into
15993           a number of bytes for the final type.
15994           This fixes cases where a string represents 2^32 - 1, which
15995           when cast to int would be the (valid) -1, but is bigger than
15996           G_MAXINT
15997
15998 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15999
16000         * gst/parse/grammar.y:
16001           add a log line for type deserialization
16002
16003 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16004
16005         * check/gst/gstvalue.c: (START_TEST):
16006         * gst/gstvalue.c: (gst_value_deserialize):
16007           return long long, not int, so gint64 deserialization actually
16008           works.  Is there any flag that makes the compiler check this ?
16009           Fixes #308559
16010
16011 2005-06-22  Wim Taymans  <wim@fluendo.com>
16012
16013         * gst/gstbuffer.h:
16014         Added convenience macros for setting buffers in GValue.
16015
16016 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16017
16018         * check/gst/.cvsignore:
16019         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16020           add a test deserializing int64, and comment part out because
16021           it fails, yay !
16022
16023 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16024
16025         * check/Makefile.am:
16026         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16027         * testsuite/Makefile.am:
16028         * testsuite/caps/Makefile.am:
16029         * testsuite/caps/value_serialize.c:
16030         * testsuite/test_gst_init.c:
16031           move a value_serialize test over
16032
16033 2005-06-20  Wim Taymans  <wim@fluendo.com>
16034
16035         * gst/gstpad.c:
16036         Small doc updates.
16037         
16038         * gst/gstvalue.c: (gst_value_compare_buffer),
16039         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16040         (gst_value_compare_flags), (gst_value_serialize_flags),
16041         (gst_value_deserialize_flags), (_gst_value_initialize):
16042         Fix serialisation of buffers, they are not boxed types anymore
16043
16044 2005-06-20  Wim Taymans  <wim@fluendo.com>
16045
16046         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16047         Testcase to show error in buffer-on-caps serialisation.
16048
16049 2005-06-20  Andy Wingo  <wingo@pobox.com>
16050
16051         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16052         will be adding to later.
16053
16054         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16055         if its socks fill with rocks.
16056         (gst_system_clock_obtain): Set the name on object construction.
16057         Avoid double-checked locking.
16058
16059 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16060
16061         * gst/gsturi.c: (gst_element_make_from_uri):
16062           Fix potential endless loop.
16063
16064 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16065
16066         * check/Makefile.am:
16067           add gsttag
16068         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16069         (main):
16070           move over from testsuite dir and clean up
16071         * configure.ac:
16072         * gst/gsttag.c:
16073         * testsuite/Makefile.am:
16074         * testsuite/tags/.cvsignore:
16075         * testsuite/tags/Makefile.am:
16076         * testsuite/tags/merge.c:
16077           remove testsuite/tags
16078
16079 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16080
16081         * docs/gst/gstreamer-sections.txt:
16082         * docs/gst/tmpl/gstenumtypes.sgml:
16083         * win32/gstenumtypes.c:
16084           clean up documentation build a little
16085
16086 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16087
16088         * check/gstcheck.h:
16089           add macros for checking refcounts on objects and caps
16090         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16091           add some more unit tests
16092         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16093         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16094           fix leaked refcounts (I hope :)) so unittest works
16095         * gst/gstpad.h:
16096           whitespace removal
16097
16098 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16099
16100         * configure.ac: back to HEAD
16101
16102 === release 0.9.1 ===
16103
16104 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16105
16106         * NEWS:
16107         * RELEASE:
16108           updated
16109
16110 2005-06-17  Andy Wingo  <wingo@pobox.com>
16111
16112         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16113         assert; it's always possible that the pad gets deactivated in
16114         between the checks in gstpad.c and the implementation. Rely on
16115         finish_preroll() to return a FLUSHING or similar instead of on the
16116         assert.
16117         
16118         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16119         clock and post an EOS message if we come out of finish_preroll in
16120         the playing state.
16121
16122 2005-06-16  David Schleef  <ds@schleef.org>
16123
16124         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16125         (gst_capsfilter_set_property): Allow NULL as possible value
16126         for filter_caps property, indicating GST_CAPS_ANY.
16127
16128 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16129
16130         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16131           fix debug output
16132         * gst/schedulers/Makefile.am:
16133           use libgst prefix
16134         * gstreamer.spec.in:
16135           fix spec for it
16136
16137 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16138
16139         * gstreamer.spec.in:
16140           clean up
16141
16142 2005-06-08  Andy Wingo  <wingo@pobox.com>
16143
16144         * gst/gstutils.c: RPAD fixes all around.
16145         (gst_element_link_pads): Refcounting fixes.
16146
16147         * tools/gst-inspect.c:
16148         * tools/gst-xmlinspect.c:
16149         * parse/grammar.y:
16150         * gst/base/gsttypefindhelper.c:
16151         * gst/base/gstbasesink.c:
16152         * gst/gstqueue.c: RPAD fixes.
16153
16154         * gst/gstghostpad.h:
16155         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16156         pads. The tricky thing is they provide both source and sink
16157         interfaces, since they proxy the internal pad for the external
16158         pad, and vice versa. Implement with lower-level ProxyPad objects,
16159         with the interior proxy pad as a child of the exterior ghost pad.
16160         Should write a doc on this.
16161         
16162         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16163         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16164         gst_object API.
16165         
16166         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16167         pads are real pads. No ghost pads in this file. Not documenting
16168         the myriad s/RPAD/PAD/ and REALIZE fixes.
16169         (gst_pad_class_init): Add properties for "direction" and
16170         "template". Both are construct-only, so they can't change during
16171         the life of the pad. Fixes properly deriving from GstPad.
16172         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16173         derived objects, just set properties when creating the objects via
16174         g_object_new.
16175         (gst_pad_get_parent): Implement as a function, return NULL if the
16176         parent is not an element.
16177         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16178         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16179         
16180         * gst/gstobject.c (gst_object_class_init): Make name a construct
16181         property. Don't set it in the object init.
16182
16183         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16184         with UNKNOWN direction.
16185         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16186         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16187         (gst_element_remove_pad): Remove ghost-pad special cases.
16188         (gst_element_pads_activate): Remove rpad cruft.
16189
16190         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16191         catch the pad's-parent-not-an-element case.
16192
16193         * gst/gst.h: Include gstghostpad.h.
16194
16195         * gst/gst.c (init_post): No more real, ghost pads.
16196
16197         * gst/Makefile.am: Add gstghostpad.[ch].
16198
16199         * check/Makefile.am:
16200         * check/gst/gstbin.c:
16201         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16202         into a bin creates ghost pads, and that the refcounts are right.
16203         Partly moved from gstbin.c.
16204
16205 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16206
16207         * check/gst-libs/.cvsignore:
16208         * check/gst/.cvsignore:
16209         * check/pipelines/.cvsignore:
16210           ignore more
16211         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16212         (START_TEST), (cleanup_suite), (main):
16213           add some tests related to cleanup after running pipelines
16214
16215 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16216
16217         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16218           add a testsuite for GstBuffer
16219
16220 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16221
16222         * gst/gstminiobject.h:
16223           add defines for accessing the refcount
16224
16225 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16226
16227         * Makefile.am: added support for html unit test coverage reports
16228
16229 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16230
16231         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16232           Free existing caps if the capsfilter changes. Add a FIXME about
16233           setting those caps on the pads.
16234
16235         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16236           Before adding a ghost pad to a parent bin, check that there isn't
16237           already one for the element on the bin. Prevents infinite recursion
16238           when using decodebin in parse pipelines. Andy says he'll rewrite the
16239           way this works anyway, so ignore the hack.
16240
16241 2005-06-02  Andy Wingo  <wingo@pobox.com>
16242
16243         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16244         file size, pass it on to the type find helper.
16245
16246         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16247         segment_start and segment_end properly according to the seek
16248         method. Segment_end is still a bit flaky because offset can be
16249         negative for CUR and END cases, but it takes -1 as an "unset"
16250         value.
16251
16252 2005-06-02  Wim Taymans  <wim@fluendo.com>
16253
16254         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16255         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16256         (gst_basesink_activate):
16257         * gst/base/gstbasesink.h:
16258         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16259         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16260         (gst_pad_query), (gst_pad_start_task):
16261         * gst/gstpad.h:
16262         * gst/gstqueue.c: (gst_queue_bufferalloc),
16263         (gst_queue_handle_sink_event), (gst_queue_chain):
16264         Bufferalloc: return GstFlowReturn to more accuratly report
16265         why allocation failed.
16266
16267 2005-06-02  Wim Taymans  <wim@fluendo.com>
16268
16269         * gst/gstpipeline.c: (gst_pipeline_send_event):
16270         Take snapshot of state without blocking.
16271
16272 2005-06-02  Wim Taymans  <wim@fluendo.com>
16273
16274         * docs/design/part-TODO.txt:
16275         * docs/design/part-caps.txt:
16276         * docs/design/part-clocks.txt:
16277         * docs/design/part-negotiation.txt:
16278         * docs/design/part-preroll.txt:
16279         Small doc updates 
16280
16281 2005-05-30  Wim Taymans  <wim@fluendo.com>
16282
16283         * gst/elements/gstidentity.c: (gst_identity_event),
16284         (gst_identity_transform), (gst_identity_get_property):
16285         Protect last_message property as it is accessed from
16286         multiple threads.
16287
16288 2005-05-30  Wim Taymans  <wim@fluendo.com>
16289
16290         * gst/gstelement.c: (gst_element_init),
16291         (gst_element_pads_activate), (gst_element_change_state):
16292         Slicker pad activation code.
16293
16294 2005-05-30  Wim Taymans  <wim@fluendo.com>
16295
16296         * gst/Makefile.am:
16297         * gst/gstelement.h:
16298         * gst/gstelementfactory.h:
16299         * gst/gsttypes.h:
16300         Move elementfactory methods to separate .h file.
16301
16302 2005-05-30  Wim Taymans  <wim@fluendo.com>
16303
16304         * docs/design/part-overview.txt:
16305         * gst/gstsystemclock.h:
16306         Small typo fixes, doc updates.
16307
16308 2005-05-30  Wim Taymans  <wim@fluendo.com>
16309
16310         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16311         (init_popt_callback):
16312         Remove cpu-opt flag.
16313
16314 2005-05-30  Wim Taymans  <wim@fluendo.com>
16315
16316         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16317         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16318         * gst/gstbuffer.h:
16319         Avoid typechecking in places where not needed.
16320         Added accessor for malloc_data.
16321
16322 2005-05-30  Wim Taymans  <wim@fluendo.com>
16323
16324         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16325         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16326         (gst_pad_configure_sink), (gst_pad_configure_src),
16327         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16328         (gst_pad_start_task):
16329         Propagate errors from _set_caps() in configure_src/sink
16330         functions instead of returning TRUE.
16331         FLUSH events can travel up and downstream
16332
16333
16334 2005-05-30  Wim Taymans  <wim@fluendo.com>
16335
16336         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16337         (gst_basesink_activate):
16338         Handle EOS in preroll.
16339
16340 2005-05-30  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16343         (gst_queue_loop), (gst_queue_handle_src_event):
16344         Remove old pieces of code
16345         Flushing the queue in an upstream event is a very bad idea.
16346
16347 2005-05-26  Andy Wingo  <wingo@pobox.com>
16348
16349         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16350         gst_value_set_mini_object so as to add a ref on the object (which
16351         will be removed when the value is unset).
16352
16353         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16354         arg type in ::handoff.
16355
16356         * gst/gstelement.c (gst_element_change_state): Also deactivate
16357         pads in READY->NULL, just in case the element didn't make it to
16358         PAUSED. Wingo tested, Wim approved.
16359
16360 2005-05-26  Wim Taymans  <wim@fluendo.com>
16361
16362         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16363         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16364         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16365         A flushing pad cannot be used to alloc_buffer from.
16366
16367 2005-05-26  Wim Taymans  <wim@fluendo.com>
16368
16369         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16370         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16371         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16372         (gst_bus_create_watch), (gst_bus_add_watch_full):
16373         * gst/gstbus.h:
16374         Implement a real GSource and use g_main_context_wakeup() to
16375         signal new messages instead of the socketpair.
16376
16377 2005-05-25  Wim Taymans  <wim@fluendo.com>
16378
16379         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16380         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16381         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16382         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16383         (gst_pad_send_event), (gst_pad_start_task):
16384         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16385         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16386         (gst_queue_sink_activate), (gst_queue_src_activate),
16387         (gst_queue_change_state):
16388         * gst/gstqueue.h:
16389         Fix state changes for non sinks. We now change sinks, then elements
16390         with unconnected srcpads, then the rest.
16391         More efficient queue unlocking in flush and state changes.
16392         Set the pad activate mode even if it does not have an activate
16393         function.
16394
16395 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16396
16397         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16398           Don't go in pull mode for non-seekable sources.
16399         * gst/elements/gsttypefindelement.h:
16400         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16401         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16402         (free_entry), (stop_typefinding),
16403         (gst_type_find_element_handle_event), (find_peek),
16404         (gst_type_find_element_chain), (do_pull_typefind),
16405         (gst_type_find_element_change_state):
16406           Allow typefinding (w/o seeking) in push-mode, simplified version
16407           of what was in 0.8.
16408         * gst/gstutils.c: (gst_buffer_join):
16409         * gst/gstutils.h:
16410           gst_buffer_join() from 0.8.
16411
16412 2005-05-25  Wim Taymans  <wim@fluendo.com>
16413
16414         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16415         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16416         (gst_pad_send_event), (gst_pad_start_task):
16417         Disable attempt at mode switching until it is figured out.
16418
16419 2005-05-25  Wim Taymans  <wim@fluendo.com>
16420
16421         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16422         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16423         (gst_basesink_finish_preroll), (gst_basesink_chain),
16424         (gst_basesink_loop), (gst_basesink_activate),
16425         (gst_basesink_change_state):
16426         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16427         (gst_basesrc_get_range), (gst_basesrc_loop),
16428         (gst_basesrc_activate):
16429         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16430         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16431         (gst_real_pad_init), (gst_real_pad_set_property),
16432         (gst_real_pad_get_property), (gst_pad_set_active),
16433         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16434         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16435         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16436         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16437         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16438         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16439         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16440         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16441         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16442         (gst_pad_stop_task):
16443         * gst/gstpad.h:
16444         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16445         (gst_queue_loop), (gst_queue_src_activate):
16446         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16447         (gst_task_get_state):
16448         * gst/gsttask.h:
16449         * gst/schedulers/threadscheduler.c:
16450         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16451         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16452         in task function.
16453         Remove ACTIVE pad flag, use FLUSHING everywhere
16454         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16455         functions.
16456         Add locks around IS_FLUSHING when reading.
16457         Take STREAM lock in chain(), get_range() functions so plugins
16458         don't need to take it anymore.
16459         
16460
16461
16462 2005-05-25  Wim Taymans  <wim@fluendo.com>
16463
16464         * tools/gst-launch.c: (event_loop):
16465         Unref message after using its contents instead of
16466         before.
16467
16468 2005-05-24  Wim Taymans  <wim@fluendo.com>
16469
16470         * docs/design/draft-ghostpads.txt:
16471         * docs/design/draft-push-pull.txt:
16472         * docs/design/draft-query.txt:
16473         * docs/design/part-overview.txt:
16474         Docs updates, added general overview doc.
16475
16476 2005-05-21  David Schleef  <ds@schleef.org>
16477
16478         * docs/gst/tmpl/old/GstBin.sgml:
16479         * docs/gst/tmpl/old/GstBuffer.sgml:
16480         * docs/gst/tmpl/old/GstCaps.sgml:
16481         * docs/gst/tmpl/old/GstClock.sgml:
16482         * docs/gst/tmpl/old/GstCompat.sgml:
16483         * docs/gst/tmpl/old/GstData.sgml:
16484         * docs/gst/tmpl/old/GstElement.sgml:
16485         * docs/gst/tmpl/old/GstEvent.sgml:
16486         * docs/gst/tmpl/old/GstIndex.sgml:
16487         * docs/gst/tmpl/old/GstStructure.sgml:
16488         * docs/gst/tmpl/old/GstTag.sgml:
16489         * docs/gst/tmpl/old/cothreads.sgml:
16490         * docs/gst/tmpl/old/cothreads_compat.sgml:
16491         * docs/gst/tmpl/old/gettext.sgml:
16492         * docs/gst/tmpl/old/gobject2gtk.sgml:
16493         * docs/gst/tmpl/old/grammar.tab.sgml:
16494         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16495         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16496         * docs/gst/tmpl/old/gst_private.sgml:
16497         * docs/gst/tmpl/old/gstaggregator.sgml:
16498         * docs/gst/tmpl/old/gstarch.sgml:
16499         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16500         * docs/gst/tmpl/old/gstbufferstore.sgml:
16501         * docs/gst/tmpl/old/gstdata_private.sgml:
16502         * docs/gst/tmpl/old/gstdisksink.sgml:
16503         * docs/gst/tmpl/old/gstdisksrc.sgml:
16504         * docs/gst/tmpl/old/gstelementfactory.sgml:
16505         * docs/gst/tmpl/old/gstextratypes.sgml:
16506         * docs/gst/tmpl/old/gstfakesink.sgml:
16507         * docs/gst/tmpl/old/gstfakesrc.sgml:
16508         * docs/gst/tmpl/old/gstfdsink.sgml:
16509         * docs/gst/tmpl/old/gstfdsrc.sgml:
16510         * docs/gst/tmpl/old/gstfilesink.sgml:
16511         * docs/gst/tmpl/old/gstfilesrc.sgml:
16512         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16513         * docs/gst/tmpl/old/gstidentity.sgml:
16514         * docs/gst/tmpl/old/gstindexfactory.sgml:
16515         * docs/gst/tmpl/old/gstmarshal.sgml:
16516         * docs/gst/tmpl/old/gstmd5sink.sgml:
16517         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16518         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16519         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16520         * docs/gst/tmpl/old/gstpipefilter.sgml:
16521         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16522         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16523         * docs/gst/tmpl/old/gstshaper.sgml:
16524         * docs/gst/tmpl/old/gstspider.sgml:
16525         * docs/gst/tmpl/old/gstspideridentity.sgml:
16526         * docs/gst/tmpl/old/gststatistics.sgml:
16527         * docs/gst/tmpl/old/gsttee.sgml:
16528         * docs/gst/tmpl/old/gsttimecache.sgml:
16529         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16530         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16531         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16532         * docs/gst/tmpl/old/types.sgml:
16533           I didn't intend to add these or check them in.
16534
16535 2005-05-19  David Schleef  <ds@schleef.org>
16536
16537         * configure.ac: Use -no-common everywhere.  In a sane world, it
16538           would be the default in libtool, because without it, you can't
16539           build DLLs on Windows.
16540         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16541         * docs/gst/gstreamer-sections.txt:
16542         * docs/gst/tmpl/gstcpu.sgml:
16543         * docs/gst/tmpl/gstdata.sgml:
16544         * docs/gst/tmpl/gstthread.sgml:
16545
16546 2005-05-19  David Schleef  <ds@schleef.org>
16547
16548         * gst/gstminiobject.c: (gst_value_set_mini_object),
16549         (gst_value_take_mini_object), (gst_value_get_mini_object):
16550         * gst/gstminiobject.h: Add GValue set/get functions.
16551
16552 2005-05-19  Wim Taymans  <wim@fluendo.com>
16553
16554         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16555         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16556         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16557         * gst/gstbuffer.h:
16558         * gst/gstbus.c: (gst_bus_post):
16559         * gst/gstelement.c: (gst_element_get_random_pad):
16560         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16561         Make subbufer unref the parent in finalize.
16562         some more debugging info.
16563
16564
16565 2005-05-19  Wim Taymans  <wim@fluendo.com>
16566
16567         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16568         (gst_basesink_init), (gst_basesink_finalize),
16569         (gst_basesink_activate), (gst_basesink_change_state):
16570         Don't free preroll queue too early.
16571
16572 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16573
16574         * gst/Makefile.am:
16575         * gst/ROADMAP:
16576           Hi, I'm outdated. Please shoot me.
16577
16578 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16579
16580         * gst/gstpipeline.c: (gst_pipeline_send_event):
16581           Do not access variables after they have been deleted.
16582
16583 2005-05-19  Wim Taymans  <wim@fluendo.com>
16584
16585         * tools/gst-inspect.c: (print_plugin_features):
16586         A plugin feature does unfortunatly not use the
16587         object name yet...
16588
16589 2005-05-18  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16592         Port _span() functions to new subbuffers.
16593
16594 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16595
16596         * gst/gstbin.c: (gst_bin_add_func):
16597           Fix clock settery in bins when adding kids after the clock has
16598           been selected.
16599
16600 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16601
16602         * gst/elements/gstidentity.c: (gst_identity_class_init):
16603           Workaround until signals support GstMiniObject.
16604
16605 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16606
16607         * gst/gstbuffer.c:
16608         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16609
16610 2005-05-18  Wim Taymans  <wim@fluendo.com>
16611
16612         * gst/base/Makefile.am:
16613         * gst/base/gstadapter.c: (gst_adapter_base_init),
16614         (gst_adapter_class_init), (gst_adapter_init),
16615         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16616         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16617         (gst_adapter_flush), (gst_adapter_available),
16618         (gst_adapter_available_fast):
16619         * gst/base/gstadapter.h:
16620         Ported and added adapter to the base classes.
16621
16622 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16623
16624         * gst/gst.c:
16625         * gst/gstmessage.c:
16626           Make sure the class is reffed/unreffed once before threads can be
16627           used.  Fixes #304551.
16628
16629 2005-05-17  Wim Taymans  <wim@fluendo.com>
16630
16631         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16632         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16633         * gst/gstminiobject.c: (gst_mini_object_get_type),
16634         (gst_mini_object_free):
16635         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16636         (gst_pad_push), (gst_pad_push_event):
16637         * gst/gstqueue.c: (gst_queue_change_state):
16638         Don't queue buffers in basesink when we are flushing.
16639         Unref buffer when flushing in basesink.
16640         Flush queue when going to READY
16641         Unref buffer when _push() returns an error.
16642         Don't free MiniObject instance when refcount is incremented
16643         in _finalize() so that we can recover objects.
16644
16645 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16646
16647         * docs/manual/advanced-schedulers.xml:
16648         * docs/manual/appendix-checklist.xml:
16649         * docs/pwg/advanced-clock.xml:
16650         * docs/pwg/advanced-interfaces.xml:
16651         * docs/pwg/advanced-request.xml:
16652         * docs/pwg/advanced-types.xml:
16653         * docs/pwg/intro-preface.xml:
16654         * examples/plugins/example.c: (gst_example_get_type),
16655         (gst_example_class_init), (gst_example_chain),
16656         (gst_example_set_property), (gst_example_get_property),
16657         (gst_example_change_state), (plugin_init):
16658         * examples/plugins/example.h:
16659           small doc fixes
16660
16661 2005-05-17  Wim Taymans  <wim@fluendo.com>
16662
16663         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16664         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16665         * gst/gstqueue.c: (gst_queue_change_state):
16666         Clear queue when going to READY.
16667         Remove IN_SETCAPS flag too.
16668
16669 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16670
16671         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16672           Remove implicit cast from gboolean to GstElementStateReturn;
16673           make sure we still return failure in paused => ready case if
16674           the parent class fails to change state and our own stop 
16675           vfunc succeeds.
16676
16677 2005-05-17  Wim Taymans  <wim@fluendo.com>
16678
16679         * tools/gst-launch.c: (event_loop):
16680         Message was unreffed too soon.
16681
16682 2005-05-16  Andy Wingo  <wingo@pobox.com>
16683
16684         * gst/gstbin.c (sink_iterator_filter): Err... um...
16685
16686         * check/gst/gstbin.c (test_ghost_pads): New test for the
16687         ghosting-if-elements-not-in-same-bin behavior.
16688
16689 2005-05-16  David Schleef  <ds@schleef.org>
16690
16691         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16692         accessing refcount directly.
16693
16694 2005-05-15  David Schleef  <ds@schleef.org>
16695
16696         * check/Makefile.am: remove GstData checks
16697         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16698         * gst/Makefile.am: add miniobject, remove data
16699         * gst/gst.h: add miniobject, remove data
16700         * gst/gstdata.c: remove
16701         * gst/gstdata.h: remove
16702         * gst/gstdata_private.h: remove
16703         * gst/gsttypes.h: remove GstEvent and GstMessage
16704         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16705         * gst/gstmarshal.list: change BOXED -> OBJECT
16706
16707         Implement GstMiniObject.
16708         * gst/gstminiobject.c:
16709         * gst/gstminiobject.h:
16710
16711         Modify to be subclasses of GstMiniObject.
16712         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16713         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16714         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16715         (gst_subbuffer_get_type), (gst_subbuffer_init),
16716         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16717         (gst_buffer_span):
16718         * gst/gstbuffer.h:
16719         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16720         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16721         (_gst_event_copy), (gst_event_new):
16722         * gst/gstevent.h:
16723         * gst/gstmessage.c: (_gst_message_initialize),
16724         (gst_message_get_type), (gst_message_class_init),
16725         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16726         (gst_message_new), (gst_message_new_error),
16727         (gst_message_new_warning), (gst_message_new_tag),
16728         (gst_message_new_state_changed), (gst_message_new_application):
16729         * gst/gstmessage.h:
16730         * gst/gstprobe.c: (gst_probe_perform),
16731         (gst_probe_dispatcher_dispatch):
16732         * gst/gstprobe.h:
16733         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16734         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16735         (_gst_query_copy), (gst_query_new):
16736
16737         Update elements for GstData -> GstMiniObject changes
16738         * gst/gstquery.h:
16739         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16740         (gst_queue_chain), (gst_queue_loop):
16741         * gst/elements/gstbufferstore.c:
16742         (gst_buffer_store_add_buffer_func),
16743         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16744         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16745         (gst_fakesink_render):
16746         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16747         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16748         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16749         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16750         (gst_filesrc_create_read):
16751         * gst/elements/gstidentity.c: (gst_identity_class_init):
16752         * gst/elements/gsttypefindelement.c:
16753         (gst_type_find_element_src_event), (free_entry_buffers),
16754         (gst_type_find_element_handle_event):
16755         * libs/gst/dataprotocol/dataprotocol.c:
16756         (gst_dp_header_from_buffer):
16757         * libs/gst/dataprotocol/dataprotocol.h:
16758         * libs/gst/dataprotocol/dp-private.h:
16759
16760 2005-05-15  David Schleef  <ds@schleef.org>
16761
16762         * gst/elements/gstelements.c: Don't include headers that were
16763         just removed.
16764
16765 2005-05-15  David Schleef  <ds@schleef.org>
16766
16767         * gst/elements/Makefile.am: Remove some elements that don't
16768         need to be in the core (or even exist at all).
16769         * gst/elements/gstaggregator.c:
16770         * gst/elements/gstaggregator.h:
16771         * gst/elements/gstmd5sink.c:
16772         * gst/elements/gstmd5sink.h:
16773         * gst/elements/gstmultifilesrc.c:
16774         * gst/elements/gstmultifilesrc.h:
16775         * gst/elements/gstpipefilter.c:
16776         * gst/elements/gstpipefilter.h:
16777         * gst/elements/gstshaper.c:
16778         * gst/elements/gstshaper.h:
16779         * gst/elements/gststatistics.c:
16780         * gst/elements/gststatistics.h:
16781         * po/POTFILES.in: Remove above files.
16782
16783 2005-05-14  Andy Wingo  <wingo@pobox.com>
16784
16785         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16786         so as to get the refs right.
16787         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16788         unreffing objects that don't pass the filter.
16789
16790         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16791         gst_element_set_bus.
16792         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16793         normal cases, this will destroy the bus.
16794
16795         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16796         object.
16797
16798         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16799         has no sinks.
16800
16801 2005-05-13  Andy Wingo  <wingo@pobox.com>
16802
16803         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16804         gst_pad_link, call pad_link_maybe_ghosting,
16805         (pad_link_maybe_ghosting): Links pads, making sure that the
16806         elements being linked are in the same bin.
16807         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16808         Helpers for pad_link_maybe_ghosting.
16809
16810 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16811
16812         * configure.ac:
16813           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16814
16815 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16816
16817         * docs/design/part-element-source.txt:
16818           Mention GstPushSrc
16819
16820 2005-05-12  Wim Taymans  <wim@fluendo.com>
16821
16822         * gst/base/gstbasesink.c: (gst_basesink_init),
16823         (gst_basesink_activate):
16824         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16825         (gst_basesrc_is_seekable):
16826         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16827         (bin_element_is_sink), (gst_bin_change_state):
16828         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16829         * gst/gstelement.h:
16830         Identify sinks by their flag to avoid overly complicated
16831         checks (fow now).
16832         Do state changes even for elements not reachable from the
16833         sinks.
16834         BaseSink is a sink now :)
16835         Some more debugging info in the basesrc.
16836
16837
16838 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16839
16840         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16841           Implement _query on a bin, similar to _send_event.
16842
16843 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16844
16845         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16846           Discont event offset format should be GST_FORMAT_BYTES,
16847           not GST_FORMAT_TIME.
16848
16849 2005-05-12  Wim Taymans  <wim@fluendo.com>
16850
16851         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16852         Same fix as Ronald's but without the signal. 
16853
16854 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16855
16856         * gst/gstutils.c: (gst_element_query_position):
16857           No, an element is not a pad.
16858
16859 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16860
16861         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16862         (gst_bin_get_state):
16863           If a child is removed from a bin while we remove the child from
16864           the bin and while we're retrieving its state, signal this to the
16865           get_state function so we abort the wait (instead of waiting for
16866           a timeout) and can immediately re-iterate over all other elements.
16867
16868 2005-05-12  Wim Taymans  <wim@fluendo.com>
16869
16870         * gst/base/Makefile.am:
16871         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16872         (gst_basesrc_start):
16873         * gst/base/gstbasesrc.h:
16874         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16875         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16876         (gst_pushsrc_init), (gst_pushsrc_create):
16877         * gst/base/gstpushsrc.h:
16878         Added is_seekable to BaseSrc
16879         Added simple PushSrc.
16880
16881 2005-05-11  Wim Taymans  <wim@fluendo.com>
16882
16883         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16884         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16885         (gst_element_link_pads), (gst_element_query_position),
16886         (gst_element_query_convert), (intersect_caps_func),
16887         (gst_pad_query_position), (gst_pad_query_convert):
16888         Fix refcounting in utils function.
16889         No point in trying to activate a pad when it's added, it could
16890         be added from the state change function and then we deadlock, the
16891         element has to decide what to do.
16892
16893 2005-05-10  Andy Wingo  <wingo@pobox.com>
16894
16895         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16896         *all* the arguments.
16897
16898         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16899         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16900         lock (according to the docs -- if this is wrong change the docs).
16901
16902         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16903         flush messages in the NULL state.
16904
16905         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16906         message immediately and return.
16907         (gst_bus_set_flushing): New function. If a bus is flushing, it
16908         flushes out any queued messages and immediately unrefs new
16909         messages. This is so when an element goes to NULL, all of the
16910         unhandled messages coming from it can be freed, and their
16911         references to the element dropped. In other words: message source
16912         ref considered harmful :P
16913
16914         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16915         we're finished with it.
16916
16917         * gst/gstmessage.c (gst_message_new_state_changed): 
16918
16919 2005-05-10  Wim Taymans  <wim@fluendo.com>
16920
16921         * gst/gstvalue.c: (gst_value_compare_flags),
16922         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16923         (_gst_value_initialize):
16924         Added flags serialize/deserialize/compare code.
16925
16926 2005-05-09  Andy Wingo  <wingo@pobox.com>
16927
16928         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16929         Intersect the peer's caps with our caps.
16930
16931 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16932
16933         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16934         * gst/elements/gsttypefindelement.c: (find_peek):
16935           Handle negative offsets better. Fixes decodebin.
16936
16937 2005-05-09  Wim Taymans  <wim@fluendo.com>
16938
16939         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16940         (gst_base_transform_event):
16941         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16942         Implement accept_caps.
16943         Fix silly lock/unlock mismatch in base class.
16944
16945 2005-05-09  Wim Taymans  <wim@fluendo.com>
16946
16947         * docs/design/draft-push-pull.txt:
16948         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16949         * gst/elements/gstfilesink.c: (gst_filesink_init),
16950         (gst_filesink_query):
16951         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16952         (gst_type_find_handle_src_query), (find_element_get_length):
16953         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16954         * gst/gstelement.h:
16955         * gst/gstmessage.c:
16956         * gst/gstmessage.h:
16957         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16958         (gst_real_pad_get_caps_unlocked),
16959         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16960         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16961         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16962         (gst_real_pad_dispose), (gst_real_pad_finalize),
16963         (gst_pad_load_and_link), (gst_pad_save_thyself),
16964         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16965         (gst_pad_check_pull_range), (gst_pad_pull_range),
16966         (gst_pad_template_get_type), (gst_pad_template_class_init),
16967         (gst_pad_template_init), (gst_pad_template_dispose),
16968         (name_is_valid), (gst_static_pad_template_get),
16969         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16970         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16971         (gst_pad_get_element_private), (gst_pad_start_task),
16972         (gst_pad_pause_task), (gst_pad_stop_task),
16973         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16974         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16975         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16976         (gst_ghost_pad_new):
16977         * gst/gstpad.h:
16978         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16979         (gst_query_new_position), (gst_query_set_position),
16980         (gst_query_parse_position), (gst_query_new_convert),
16981         (gst_query_set_convert), (gst_query_parse_convert):
16982         * gst/gstquery.h:
16983         * gst/gstqueryutils.c:
16984         * gst/gstqueryutils.h:
16985         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16986         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16987         (gst_queue_handle_src_query):
16988         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16989         (gst_element_query_position), (gst_element_query_convert),
16990         (intersect_caps_func), (gst_pad_query_position),
16991         (gst_pad_query_convert):
16992         * gst/gstutils.h:
16993         * tools/gst-inspect.c: (print_pad_info):
16994         * tools/gst-xmlinspect.c: (print_element_info):
16995         Remove old query functions. Ported old code.
16996         Added position/convert helper functions to gstutils.
16997         Reordered gstpad.c code, grouping relevant things.
16998         Remove gst_message_new(), always need to speficy a specific
16999         message.
17000
17001
17002 2005-05-09  Andy Wingo  <wingo@pobox.com>
17003
17004         * gst/gstiterator.h: Add some includes.
17005
17006         * gst/gstqueryutils.h: Include more headers.
17007
17008         * gst/gstpad.h:
17009         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17010         some uses of gst_pad_query.
17011
17012         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17013         NULL out parameters.
17014         (gst_query_new_position): New proc, allocates a new position
17015         query.
17016
17017         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17018         gstqueryutils.c to the build.
17019
17020         * gst/gststructure.c (gst_structure_set_valist): Implement with
17021         the generic G_VALUE_COLLECT.
17022         
17023 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17024
17025         * gst/Makefile.am: (gst_headers):
17026         Added gstqueryutils.h to the list of headers to install, that was
17027         a 'nachty' move wingo :)
17028
17029 2005-05-06  Andy Wingo  <wingo@pobox.com>
17030
17031         * gst/gstquery.h
17032         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17033         GstData, init a memchunk.
17034         (standard_definitions): Add a few query types, deprecate a few.
17035         (gst_query_get_type): New proc.
17036         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17037         implementation.
17038         (gst_query_new_application, gst_query_get_structure): New public
17039         procs.
17040
17041         * docs/design/draft-query.txt: Removed LINKS from the query types,
17042         because all the rest can be dispatched to other pads -- seemed
17043         ugly to have a query that couldn't be dispatched. internal_links
17044         is fine as a pad method.
17045
17046         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17047         in gstpad.c, but maintain binary compatibility for the moment.
17048         Will fix before 0.9 is out.
17049
17050         * gst/gstqueryutils.c: 
17051         * gst/gstqueryutils.h: New files, implement 3 methods for each
17052         query type: parse_query, parse_response, and set. Probably need an
17053         allocator as well.
17054
17055         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17056
17057         * gst/elements/gstfilesink.c (gst_filesink_query2):
17058         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17059         query_types, and formats methods.
17060
17061         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17062         (gst_pad_set_query2_function): New functions.
17063         (gst_real_pad_init): Set query2_default as the default query2
17064         function. Basically just dispatches to internally linked pads.
17065
17066         Needs review!
17067         
17068         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17069         without using the atomic operations. Only one thread can possibly
17070         be accessing the data at this point. Changed so as to avoid
17071         gst_atomic operations.
17072
17073 2005-05-06  Wim Taymans  <wim@fluendo.com>
17074
17075         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17076         Also set caps if we use the fallback buffer alloc.
17077
17078 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17079
17080         * docs/gst/Makefile.am:
17081         * docs/gst/gstreamer-docs.sgml:
17082         * docs/gst/gstreamer-sections.txt:
17083         * docs/gst/tmpl/gstatomic.sgml:
17084         * docs/gst/tmpl/gstmemchunk.sgml:
17085         * testsuite/elements/struct_i386.h:
17086         * win32/GStreamer.vcproj:
17087         * win32/Makefile:
17088           Purge GstAtomic stuff from docs and win32 makefiles as well
17089
17090 2005-05-06  Wim Taymans  <wim@fluendo.com>
17091
17092         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17093         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17094         * gst/gstpad.c: (gst_pad_peer_get_caps):
17095         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17096         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17097         (gst_queue_src_activate), (gst_queue_change_state):
17098         * gst/gstqueue.h:
17099         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17100         (intersect_caps_func):
17101         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17102         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17103         Some fixes for the peer_get_caps() change.
17104
17105 2005-05-06  Wim Taymans  <wim@fluendo.com>
17106
17107         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17108         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17109         (gst_basesink_activate):
17110         Actually do something with error codes returned from the push
17111         functions.
17112
17113 2005-05-06  Wim Taymans  <wim@fluendo.com>
17114
17115         * docs/design/part-element-sink.txt:
17116         * docs/design/part-element-source.txt:
17117         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17118         (gst_basesink_event), (gst_basesink_activate):
17119         * gst/base/gstbasesink.h:
17120         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17121         (gst_basesrc_activate):
17122         * gst/base/gstbasesrc.h:
17123         * gst/gstelement.c: (gst_element_pads_activate):
17124         Some more documentation.
17125         Fixed scheduling decision in _pads_activate().
17126
17127 2005-05-05  Andy Wingo  <wingo@pobox.com>
17128
17129         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17130         the test suite.
17131
17132 2005-05-05  Wim Taymans  <wim@fluendo.com>
17133
17134         * gst/base/Makefile.am:
17135         * gst/base/gstbasesink.h:
17136         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17137         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17138         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17139         (gst_collectpads_class_init), (gst_collectpads_init),
17140         (gst_collectpads_finalize), (gst_collectpads_new),
17141         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17142         (find_pad), (gst_collectpads_remove_pad),
17143         (gst_collectpads_is_active), (gst_collectpads_collect),
17144         (gst_collectpads_collect_range), (gst_collectpads_start),
17145         (gst_collectpads_stop), (gst_collectpads_peek),
17146         (gst_collectpads_pop), (gst_collectpads_available),
17147         (gst_collectpads_read), (gst_collectpads_flush),
17148         (gst_collectpads_chain):
17149         * gst/base/gstcollectpads.h:
17150         * gst/elements/Makefile.am:
17151         * gst/elements/gstelements.c:
17152         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17153         (gst_fakesink_get_times), (gst_fakesink_event),
17154         (gst_fakesink_preroll), (gst_fakesink_render):
17155         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17156         (gst_filesink_init), (gst_filesink_set_location),
17157         (gst_filesink_open_file), (gst_filesink_close_file),
17158         (gst_filesink_pad_query), (gst_filesink_event),
17159         (gst_filesink_render), (gst_filesink_change_state):
17160         * gst/elements/gstfilesink.h:
17161         Added object to help in making collect pad based elements.
17162         Ported filesink.
17163         Make event function in sink baseclass return gboolean.
17164
17165 2005-05-05  Wim Taymans  <wim@fluendo.com>
17166
17167         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17168         (gst_bin_get_by_name):
17169         * gst/gstbuffer.h:
17170         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17171         (gst_clock_finalize):
17172         * gst/gstdata.c: (gst_data_replace):
17173         * gst/gstdata.h:
17174         * gst/gstelement.c: (gst_element_request_pad),
17175         (gst_element_pads_activate):
17176         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17177         (gst_object_unref):
17178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17179         (gst_pad_set_checkgetrange_function),
17180         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17181         (gst_pad_check_pull_range), (gst_pad_pull_range),
17182         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17183         (gst_pad_pause_task), (gst_pad_stop_task):
17184         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17185         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17186         Fix name lookup in GstBin.
17187         Added _data_replace() function and _buffer_replace()
17188         Use finalize method to clean up clock.
17189         Fix refcounting on request pads.
17190         Fix pad schedule mode error.
17191         Some more object refcounting debug info,
17192
17193
17194 2005-05-04  Andy Wingo <wingo@pobox.com>
17195
17196         * check/Makefile.am:
17197         * docs/gst/tmpl/gstatomic.sgml:
17198         * docs/gst/tmpl/gstplugin.sgml:
17199         * gst/base/gstbasesink.c: (gst_basesink_activate):
17200         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17201         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17202         (gst_basesrc_query), (gst_basesrc_set_property),
17203         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17204         (gst_basesrc_activate):
17205         * gst/base/gstbasesrc.h:
17206         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17207         (gst_base_transform_src_activate):
17208         * gst/elements/gstelements.c:
17209         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17210         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17211         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17212         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17213         (gst_type_find_element_checkgetrange),
17214         (gst_type_find_element_activate):
17215         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17216         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17217         (gst_caps_load_thyself):
17218         * gst/gstelement.c: (gst_element_pads_activate),
17219         (gst_element_save_thyself), (gst_element_restore_thyself):
17220         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17221         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17222         * gst/gstpad.h:
17223         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17224         (gst_xml_parse_file), (gst_xml_parse_memory),
17225         (gst_xml_get_element), (gst_xml_make_element):
17226         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17227         (_file_index_id_save_xml), (gst_file_index_commit):
17228         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17229         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17230         (load_paths):
17231         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17232         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17233         * tools/gst-complete.c: (main):
17234         * tools/gst-compprep.c: (main):
17235         * tools/gst-inspect.c: (print_element_properties_info):
17236         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17237         * tools/gst-xmlinspect.c: (print_element_properties):
17238         GCC 4 fixen.
17239         
17240 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17241
17242         * gst/gstplugin.c: (gst_plugin_check_module),
17243         (gst_plugin_check_file), (gst_plugin_load_file):
17244             apply patch from #172526 to make register work on MacOSX
17245
17246 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17247
17248         * docs/gst/tmpl/gstconfig.sgml:
17249         * gst/gstconfig.h.in:
17250           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17251         * testsuite/debug/printf_extension.c: (main):
17252           Do not use GST_PTR_FORMAT on pointers to types with
17253           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17254         * testsuite/elements/property.h:
17255           use correct printf format
17256
17257 2005-05-02  Wim Taymans  <wim@fluendo.com>
17258
17259         * docs/design/draft-push-pull.txt:
17260         * docs/design/draft-query.txt:
17261         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17262         (gst_basesrc_start):
17263         Added draft for new query API.
17264         Added draft for better selecting scheduling methods.
17265         Make basesrc ignore length if the subclass does not support
17266         it.
17267
17268 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17269
17270         * gst/Makefile.am:
17271           possible fixes for automake-1.5 - _LIBADD is reserved
17272
17273 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17274
17275         * docs/faq/Makefile.am:
17276         * docs/manual/Makefile.am:
17277         * docs/manuals.mak:
17278         * docs/pwg/Makefile.am:
17279         * gst/Makefile.am:
17280           possible fixes for automake-1.5
17281
17282 2005-04-28  Wim Taymans  <wim@fluendo.com>
17283
17284         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17285         (gst_basesink_pad_getcaps), (gst_basesink_init),
17286         (gst_basesink_do_sync):
17287         * gst/gstclock.c: (gst_clock_entry_new):
17288         * gst/gstevent.c: (gst_event_discont_get_value):
17289         * gst/gstpipeline.c: (pipeline_bus_handler),
17290         (gst_pipeline_change_state):
17291         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17292         Better debugging of clocking info.
17293         Allow NULL values when getting discont values.
17294
17295 2005-04-27  Wim Taymans  <wim@fluendo.com>
17296
17297         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17298         * check/gst/gstpad.c: (gst_pad_suite):
17299         Increase timeout for checks.
17300
17301 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17302
17303         * check/Makefile.am:
17304           fix the broken rule for cleanup.  Apparently this rule is
17305           only needed on FC2, so maybe this warrants further autotool
17306           inspection.
17307
17308 2005-04-26  Wim Taymans  <wim@fluendo.com>
17309
17310         * gst/gsttrashstack.h:
17311         Ooohh. a nasty one! After having a failed pop() from the stack,
17312         it's possible that the stack is empty. In that case, don't
17313         follow the NULL pointer.
17314
17315 2005-04-25  Wim Taymans  <wim@fluendo.com>
17316
17317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17318         (gst_pad_set_checkgetrange_function),
17319         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17320         (gst_pad_check_pull_range), (gst_pad_pull_range),
17321         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17322         (gst_pad_pause_task), (gst_pad_stop_task):
17323         * gst/gstplugin.c: (gst_plugin_load):
17324         * gst/gstplugin.h:
17325         Remove gst_library_load as it does more harm than good with
17326         the new g_module flags.
17327         Revert bogus caps template check in pad linking, pad caps
17328         are important when linking not the template, which is more
17329         general than the current caps.
17330
17331 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17332
17333         * gst/autoplug/.cvsignore:
17334         * gst/autoplug/Makefile.am:
17335         * gst/autoplug/gstsearchfuncs.c:
17336         * gst/autoplug/gstsearchfuncs.h:
17337         * gst/autoplug/gstspider.c:
17338         * gst/autoplug/gstspider.h:
17339         * gst/autoplug/gstspideridentity.c:
17340         * gst/autoplug/gstspideridentity.h:
17341         * gst/autoplug/spidertest.c:
17342           Die, spider, die.
17343
17344 2005-04-25  Wim Taymans  <wim@fluendo.com>
17345
17346         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17347         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17348         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17349         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17350         * gst/gstpad.h:
17351         Added stubs for unimplemented functions. 
17352
17353 2005-04-24  David Schleef  <ds@schleef.org>
17354
17355         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17356         please fix.
17357
17358 2005-04-24  David Schleef  <ds@schleef.org>
17359
17360         Convert everything from GstAtomicInt to g_atomic_int_*, and
17361         remove gstatomic.
17362         * gst/Makefile.am:
17363         * gst/gstatomic.c:
17364         * gst/gstatomic.h:
17365         * gst/gstatomic_impl.h:
17366         * gst/gstbuffer.c:
17367         * gst/gstcaps.c:
17368         * gst/gstcaps.h:
17369         * gst/gstclock.c:
17370         * gst/gstclock.h:
17371         * gst/gstdata.c:
17372         * gst/gstdata.h:
17373         * gst/gstdata_private.h:
17374         * gst/gstevent.c:
17375         * gst/gstinfo.c:
17376         * gst/gstinfo.h:
17377         * gst/gstmessage.c:
17378         * gst/gstobject.c:
17379         * gst/gstobject.h:
17380         * gst/gststructure.c:
17381         * gst/gststructure.h:
17382         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17383         * gst/gstutils.h:
17384
17385 2005-04-24  David Schleef  <ds@schleef.org>
17386
17387         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17388         make the regressions tests work.  Remove some code that is no
17389         longer true.
17390         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17391         Disable warning for pads without templates.
17392
17393 2005-04-24  David Schleef  <ds@schleef.org>
17394
17395         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17396         functions that handle filtered links.
17397         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17398         removed functions.
17399         * gst/gstutils.c: Fix/remove utility functions that handle
17400         filtered caps.
17401         * gst/gstutils.h:
17402         * gst/gstvalue.c: Add serialization/deserialization of caps
17403         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17404         requires fixing so that the filter caps notation creates
17405         a capsfilter element and sets the filter_caps property.  I
17406         think everyone probably wants to keep the shorthand notation.
17407         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17408         * docs/gst/tmpl/gstpad.sgml:
17409
17410         * gst/elements/gstelements.c: Register capsfilter element.
17411         * gst/Makefile.am: fix spacing
17412         * docs/random/ds/0.9-suggested-changes: random
17413
17414 2005-04-23  David Schleef  <ds@schleef.org>
17415
17416         * gst/elements/Makefile.am:
17417         * gst/elements/gstcapsfilter.c: New element that acts like an
17418         identity, but filters caps.  Will eventually replace filtered
17419         caps in pad linking.
17420         * gst/gstutils.c: (gst_element_create_all_pads): New function
17421         to create all the ALWAYS pads that are registered with an
17422         element class.  This functionality should eventually be
17423         merged in with GstElement initialization.
17424         * gst/gstutils.h:
17425         * testsuite/trigger/README: part of trigger test code that should
17426         have been checked in a long time ago.
17427
17428 2005-04-23  David Schleef  <ds@schleef.org>
17429
17430         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17431         needed with new versions of libtool (nobody will confirm this),
17432         and hard to carry around.
17433         * gst/autoplug/Makefile.am:
17434         * gst/base/Makefile.am:
17435         * gst/elements/Makefile.am:
17436         * gst/indexers/Makefile.am:
17437         * gst/schedulers/Makefile.am:
17438         * libs/gst/bytestream/Makefile.am:
17439         * libs/gst/control/Makefile.am:
17440         * libs/gst/dataprotocol/Makefile.am:
17441         * libs/gst/getbits/Makefile.am:
17442
17443 2005-04-21  Wim Taymans  <wim@fluendo.com>
17444
17445         * docs/design/draft-push-pull.txt:
17446         * docs/design/part-MT-refcounting.txt:
17447         * docs/design/part-TODO.txt:
17448         * docs/design/part-caps.txt:
17449         * docs/design/part-events.txt:
17450         * docs/design/part-gstbus.txt:
17451         * docs/design/part-gstpipeline.txt:
17452         * docs/design/part-messages.txt:
17453         * docs/design/part-push-pull.txt:
17454         * docs/design/part-query.txt:
17455         Some more docs.
17456
17457 2005-04-21  Wim Taymans  <wim@fluendo.com>
17458
17459         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17460         (gst_message_new), (gst_message_new_error),
17461         (gst_message_new_warning), (gst_message_new_tag),
17462         (gst_message_new_state_changed), (gst_message_new_application),
17463         (gst_message_get_structure):
17464         * gst/gstmessage.h:
17465         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17466         (gst_structure_copy_conditional):
17467         Use parent refcount in GstMessage to ensure GstStructure
17468         consistency.
17469         Cleaned up headers a bit.
17470         
17471
17472 2005-04-20  Wim Taymans  <wim@fluendo.com>
17473
17474         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17475         (gst_basesink_pad_getcaps), (gst_basesink_init),
17476         (gst_basesink_chain_unlocked):
17477         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17478         (gst_type_find_helper):
17479         * gst/elements/gsttypefindelement.c:
17480         (gst_type_find_element_have_type), (gst_type_find_element_init),
17481         (stop_typefinding), (gst_type_find_element_handle_event),
17482         (find_suggest), (gst_type_find_element_chain),
17483         (gst_type_find_element_checkgetrange),
17484         (gst_type_find_element_getrange), (do_typefind),
17485         (gst_type_find_element_activate):
17486         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17487         (gst_buffer_default_free), (gst_buffer_default_copy),
17488         (gst_buffer_set_caps):
17489         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17490         (gst_caps_replace):
17491         * gst/gstmessage.c: (gst_message_new),
17492         (gst_message_new_state_changed):
17493         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17494         (gst_pad_set_checkgetrange_function),
17495         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17496         (gst_pad_set_caps), (gst_pad_check_pull_range),
17497         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17498         * gst/gstpad.h:
17499         * gst/gsttypefind.c: (gst_type_find_register):
17500         Make gst_caps_replace() work like other _replace() functions.
17501         Use _caps_replace() where possible.
17502         Make sure _message_new() initialises its field.
17503         Add gst_static_pad_template_get_caps()
17504
17505
17506 2005-04-18  Andy Wingo  <wingo@pobox.com>
17507
17508         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17509         on the peer, not the pad. I think that was a typo. Pass an extra
17510         arg to see if random access is possible. Activate the pads as
17511         PULL_RANGE if possible.
17512
17513         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17514
17515         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17516         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17517         to PROP_....
17518
17519 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17520
17521         * docs/faq/using.xml:
17522           Add note on gstreamer-properties (#154996).
17523
17524 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17525
17526         * docs/random/bbb/optional-properties:
17527           Some analysis on optional properties.
17528
17529 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17530
17531         * docs/gst/tmpl/gstelementfactory.sgml:
17532         * gst/gstelement.h:
17533         * gst/gstelementfactory.c: (gst_element_factory_init),
17534         (gst_element_factory_cleanup), (gst_element_register),
17535         (__gst_element_factory_add_static_pad_template),
17536         (gst_element_factory_get_static_pad_templates),
17537         (gst_element_factory_can_src_caps),
17538         (gst_element_factory_can_sink_caps):
17539         * gst/registries/Makefile.am:
17540         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17541         (gst_xml_registry_class_init), (gst_xml_registry_init),
17542         (gst_xml_registry_new), (gst_xml_registry_set_property),
17543         (gst_xml_registry_get_property), (get_time), (make_dir),
17544         (gst_xml_registry_get_perms_func),
17545         (plugin_times_older_than_recurse), (plugin_times_older_than),
17546         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17547         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17548         (add_to_char_array), (read_string), (read_uint), (read_enum),
17549         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17550         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17551         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17552         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17553         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17554         (gst_xml_registry_rebuild):
17555         * gst/registries/gstlibxmlregistry.h:
17556         * tools/gst-compprep.c: (main):
17557         * tools/gst-inspect.c: (print_pad_templates_info):
17558         * tools/gst-xmlinspect.c: (print_element_info):
17559           Use libxml2 for registry parsing, use staticpadtemplates in
17560           elementfactories. Makes gst_init() +/- 10x faster.
17561
17562 2005-04-12  Wim Taymans  <wim@fluendo.com>
17563
17564         * gst/base/Makefile.am:
17565         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17566         (gst_basesink_pad_getcaps), (gst_basesink_init),
17567         (gst_basesink_event), (gst_basesink_change_state):
17568         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17569         (gst_basesrc_init), (gst_basesrc_query),
17570         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17571         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17572         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17573         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17574         (gst_basesrc_stop), (gst_basesrc_activate),
17575         (gst_basesrc_change_state):
17576         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17577         (helper_find_suggest), (gst_type_find_helper):
17578         * gst/base/gsttypefindhelper.h:
17579         * gst/elements/Makefile.am:
17580         * gst/elements/gstelements.c:
17581         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17582         (gst_fakesink_get_times), (gst_fakesink_event),
17583         (gst_fakesink_preroll), (gst_fakesink_render):
17584         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17585         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17586         (gst_fakesrc_get_property), (gst_fakesrc_create),
17587         (gst_fakesrc_start), (gst_fakesrc_stop):
17588         * gst/elements/gstfakesrc.h:
17589         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17590         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17591         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17592         (gst_filesrc_create_read), (gst_filesrc_create),
17593         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17594         (gst_filesrc_start):
17595         * gst/elements/gsttypefindelement.c:
17596         (gst_type_find_element_have_type), (gst_type_find_element_init),
17597         (start_typefinding), (stop_typefinding), (push_buffer_store),
17598         (gst_type_find_element_handle_event),
17599         (gst_type_find_element_chain),
17600         (gst_type_find_element_checkgetrange),
17601         (gst_type_find_element_getrange), (do_typefind),
17602         (gst_type_find_element_activate),
17603         (gst_type_find_element_change_state):
17604         * gst/elements/gsttypefindelement.h:
17605         * gst/gstpipeline.c: (pipeline_bus_handler):
17606         Added typefind helper.
17607         Small preroll fix in the base sink.
17608         Disable typefind code in basesrc.
17609         Crude port of typefindelement.
17610         Fakesrc cleanups.
17611
17612
17613 2005-04-11  Wim Taymans  <wim@fluendo.com>
17614
17615         * check/gst/gstbus.c: (gstbus_suite):
17616         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17617         * check/gstcheck.h:
17618           Fix up the timeout so that the test does not fail.
17619
17620 2005-04-06  Wim Taymans  <wim@fluendo.com>
17621
17622         * gst/base/README:
17623         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17624         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17625         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17626         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17627         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17628         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17629         (gst_basesrc_stop), (gst_basesrc_activate),
17630         (gst_basesrc_change_state), (basesrc_find_peek),
17631         (basesrc_find_suggest), (gst_basesrc_type_find):
17632         * gst/base/gstbasesrc.h:
17633         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17634         (gst_filesrc_class_init), (gst_filesrc_init),
17635         (gst_filesrc_finalize), (gst_filesrc_set_location),
17636         (gst_filesrc_set_property), (gst_filesrc_get_property),
17637         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17638         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17639         (gst_filesrc_create_read), (gst_filesrc_create),
17640         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17641         * gst/elements/gstfilesrc.h:
17642         * gst/gstelement.c: (gst_element_get_state_func),
17643         (gst_element_lost_state), (gst_element_pads_activate):
17644         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17645         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17646         (gst_pad_pull_range):
17647         * gst/gstpad.h:
17648         More work on the generic source base class, implement seeking,
17649         query.
17650         Make filesrc extend the base source class.
17651         Added gst_pad_set_checkgetrange_function to GstPad.
17652
17653 2005-04-06  Andy Wingo  <wingo@pobox.com>
17654
17655         * pkgconfig/gstreamer-base.pc.in:
17656         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17657
17658         * pkgconfig/Makefile.am:
17659         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17660
17661 2005-04-04  Wim Taymans  <wim@fluendo.com>
17662
17663         * gst/base/Makefile.am:
17664         * gst/base/README:
17665         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17666         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17667         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17668         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17669         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17670         (gst_basesrc_base_init), (gst_basesrc_class_init),
17671         (gst_basesrc_init), (gst_basesrc_get_formats),
17672         (gst_basesrc_get_query_types), (gst_basesrc_query),
17673         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17674         (gst_basesrc_set_property), (gst_basesrc_get_property),
17675         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17676         (gst_basesrc_loop), (gst_basesrc_activate),
17677         (gst_basesrc_change_state):
17678         * gst/base/gstbasesrc.h:
17679         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17680         (gst_fakesrc_class_init), (gst_fakesrc_init),
17681         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17682         (gst_fakesrc_get_property), (gst_fakesrc_create):
17683         * gst/elements/gstfakesrc.h:
17684         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17685         (gst_filesrc_open_file), (gst_filesrc_loop),
17686         (gst_filesrc_activate), (filesrc_find_peek),
17687         (gst_filesrc_type_find):
17688         Made base source class, make fakesrc extend it.
17689         Add comments to basesink class.
17690         Some filesrc cleanup.
17691
17692 2005-03-31  David Schleef  <ds@schleef.org>
17693
17694         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17695         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17696         expected to link against libgstreamer.
17697         * gst/base/Makefile.am: link against libgstreamer
17698         * gst/elements/Makefile.am: same
17699
17700 2005-03-31  Andy Wingo  <wingo@pobox.com>
17701
17702         * tests/instantiate/Makefile.am:
17703         * tests/instantiate/caps.c: Add test to test speed of caps copy
17704         and free.
17705
17706         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17707         GMemChunk to be fair.
17708
17709         * gst/gsttrashstack.h: Remove warning about using the fallback
17710         trash stack implementation, it's still faster than malloc.
17711
17712 2005-03-30  Andy Wingo  <wingo@pobox.com>
17713
17714         * tests/complexity.c: Add a copyright.
17715
17716 2005-03-31  Wim Taymans  <wim@fluendo.com>
17717
17718         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17719         (gst_base_transform_class_init), (gst_base_transform_init),
17720         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17721         (gst_base_transform_get_property),
17722         (gst_base_transform_sink_activate),
17723         (gst_base_transform_src_activate),
17724         (gst_base_transform_change_state):
17725         * gst/base/gstbasetransform.h:
17726         * gst/elements/gstidentity.c: (gst_identity_class_init),
17727         (gst_identity_event), (gst_identity_check_perfect),
17728         (gst_identity_transform), (gst_identity_start),
17729         (gst_identity_stop):
17730         Added start/stop methods to transform base class so subclasses 
17731         don't need to deal with state changes even.
17732
17733 2005-03-31  Wim Taymans  <wim@fluendo.com>
17734
17735         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17736         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17737         * gst/gstevent.h:
17738         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17739         (gst_pad_pull_range):
17740         Added rate to the discont event to prepare for variable speed
17741         and reverse playback.
17742
17743 2005-03-29  David Schleef  <ds@schleef.org>
17744
17745         * configure.ac:
17746         * testsuite/trigger/Makefile.am:
17747         * testsuite/trigger/trigger.c: A little example program to show
17748         how trigger-based elements can work.
17749
17750 2005-03-29  Wim Taymans  <wim@fluendo.com>
17751
17752         * gst/base/Makefile.am:
17753         * gst/base/README:
17754         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17755         (gst_basesink_base_init), (gst_basesink_class_init),
17756         (gst_basesink_pad_getcaps), (gst_basesink_init),
17757         (gst_basesink_activate), (gst_basesink_change_state):
17758         * gst/base/gstbasesink.h:
17759         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17760         (gst_base_transform_base_init), (gst_base_transform_finalize),
17761         (gst_base_transform_class_init), (gst_base_transform_init),
17762         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17763         (gst_base_transform_event), (gst_base_transform_getrange),
17764         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17765         (gst_base_transform_set_property),
17766         (gst_base_transform_get_property),
17767         (gst_base_transform_sink_activate),
17768         (gst_base_transform_src_activate),
17769         (gst_base_transform_change_state):
17770         * gst/base/gstbasetransform.h:
17771         * gst/elements/gstidentity.c: (gst_identity_finalize),
17772         (gst_identity_class_init), (gst_identity_init),
17773         (gst_identity_event), (gst_identity_check_perfect),
17774         (gst_identity_transform), (gst_identity_set_property),
17775         (gst_identity_get_property), (gst_identity_change_state):
17776         * gst/elements/gstidentity.h:
17777         * gst/gstelement.c: (gst_element_get_state_func),
17778         (gst_element_lost_state), (gst_element_pads_activate):
17779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17780         (gst_pad_check_pull_range), (gst_pad_pull_range):
17781         * gst/gstpad.h:
17782         Simplify pad activation.
17783         Added function to check if pull_range can be performed.
17784         Error out when pulling inactive or flushing pads.
17785         Removed const from refcounted types as it does not make sense.
17786         Simplify pad templates in basesink
17787         Added base class for simple 1-to-1 transforms.
17788         Make identity subclass the base transform.
17789
17790 2005-03-29  Andy Wingo  <wingo@pobox.com>
17791
17792         * docs/libs/gstreamer-libs-overrides.txt: 
17793         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17794         really don't understand what's going on, but like whatever. I want
17795         green buildbot!
17796
17797         * docs/gst/Makefile.am:
17798         * docs/libs/Makefile.am: Dist the overrides files.
17799
17800         * check/Makefile.am (clean-local): Remove .libs directories.
17801
17802         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17803         elements to EXTRA_DIST, so po/ files are happy.
17804
17805         * po/POTFILES.in: Er, remove it here.
17806
17807         * po/POTFILES: Remove gstspider.c.
17808
17809         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17810
17811         * docs/libs/gstreamer-libs-docs.sgml: 
17812         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17813         bytestream.
17814
17815         * tests/complexity.c (main): Set the length of the preroll queue
17816         on the sinks to prevent a lockup.
17817
17818         * libs/gst/dataprotocol/Makefile.am: 
17819         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17820         the same as the one in check/gst-libs/gdp.c.
17821
17822         * po/, docs/gst/: Commit automatic changes to docs and po files.
17823
17824         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17825         the versioned libgstbase.
17826
17827         * check/Makefile.am: Depend on an unversioned gst-register, seems
17828         to make autoconf happier.
17829
17830         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17831
17832 2005-03-28  Wim Taymans  <wim@fluendo.com>
17833
17834         * configure.ac:
17835         * docs/design/part-gstelement.txt:
17836         * docs/design/part-negotiation.txt:
17837         * docs/design/part-preroll.txt:
17838         * docs/design/part-scheduling.txt:
17839         * docs/design/part-states.txt:
17840         * gst/Makefile.am:
17841         * gst/base/Makefile.am:
17842         * gst/base/README:
17843         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17844         (gst_basesink_base_init), (gst_basesink_class_init),
17845         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17846         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17847         (gst_basesink_set_pad_functions),
17848         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17849         (gst_basesink_set_property), (gst_basesink_get_property),
17850         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17851         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17852         (gst_basesink_preroll_queue_push),
17853         (gst_basesink_preroll_queue_empty),
17854         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17855         (gst_basesink_event), (gst_basesink_get_times),
17856         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17857         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17858         (gst_basesink_loop), (gst_basesink_activate),
17859         (gst_basesink_change_state):
17860         * gst/base/gstbasesink.h:
17861         * gst/elements/Makefile.am:
17862         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17863         (gst_fakesink_class_init), (gst_fakesink_init),
17864         (gst_fakesink_set_property), (gst_fakesink_get_property),
17865         (gst_fakesink_get_times), (gst_fakesink_event),
17866         (gst_fakesink_preroll), (gst_fakesink_render),
17867         (gst_fakesink_change_state):
17868         * gst/elements/gstfakesink.h:
17869         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17870         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17871         * gst/gstelement.c: (gst_element_add_pad),
17872         (gst_element_get_state_func), (gst_element_abort_state),
17873         (gst_element_commit_state), (gst_element_lost_state),
17874         (gst_element_set_state), (gst_element_pads_activate):
17875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17876         * gst/gstpipeline.c: (gst_pipeline_send_event),
17877         (gst_pipeline_change_state):
17878         Added state change code.
17879         Added/updated docs.
17880         Added sink base class, make fakesink extend the base class.
17881         Small cleanups in GstPipeline.
17882
17883 2005-03-26  David Schleef  <ds@schleef.org>
17884
17885         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17886         is broken and should be implemented in a different library.
17887         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17888         * gst/gst.h: remove gstcpu.h
17889         * gst/gstcpu.c: remove
17890         * gst/gstcpu.h: remove
17891         * gst/Makefile.am.future: Remove this file.  It's ancient.
17892
17893 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17894
17895         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17896         (gst_bin_send_event):
17897           Add default event/set_manager handlers. The set_manager handler
17898           takes care that the manager is distributed over kids that were
17899           already in the bin before the manager was set. The event handler
17900           is a utility virtual function that sends the event over all sinks,
17901           so that gst_element_send_event (bin, event); has the expected
17902           behaviour.
17903         * gst/gstpad.c: (gst_pad_event_default):
17904           Re-install default event handling for discontinuities, so that
17905           seeking works without requiring hacks in applications or extra
17906           code in sinks.
17907         * gst/gstpipeline.c: (gst_pipeline_class_init),
17908         (gst_pipeline_send_event):
17909           Half hack, half utility: set a pipeline to PAUSED for seek events,
17910           since that is the only way we can guarantee a/v sync. Means that
17911           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17912           and it "just works".
17913
17914 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17915
17916         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17917           Lock/unlock mismatch.
17918
17919 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17920
17921         * docs/faq/gst-uninstalled:
17922           add gst-plugins-base
17923         * docs/gst/Makefile.am:
17924           don't error out until docs are fixed
17925         * docs/gst/gstreamer.types:
17926           remove thread
17927
17928 2005-03-22  Wim Taymans  <wim@fluendo.com>
17929
17930         * check/Makefile.am:
17931         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17932         * gst/gststructure.c: (gst_structure_set_valist),
17933         (gst_structure_copy_conditional):
17934         Activated more tests.
17935         Added message test.
17936         Added G_TYPE_POINTER to GstStructure.
17937         
17938
17939 2005-03-22  Wim Taymans  <wim@fluendo.com>
17940
17941         * docs/design/part-TODO.txt:
17942         * docs/design/part-events.txt:
17943         * docs/design/part-gstbin.txt:
17944         * docs/design/part-gstbus.txt:
17945         * docs/design/part-gstpipeline.txt:
17946         * docs/design/part-messages.txt:
17947         * gst/gstbus.c:
17948         * gst/gstmessage.c:
17949         Docs updates
17950
17951 2005-03-21  Wim Taymans  <wim@fluendo.com>
17952
17953         * gst/gstbus.c: (gst_bus_post):
17954         Fix copy-and-paste error.
17955
17956 2005-03-21  Wim Taymans  <wim@fluendo.com>
17957
17958         * check/Makefile.am:
17959         * gst/Makefile.am:
17960         * gst/elements/Makefile.am:
17961         * gst/elements/gstelements.c:
17962         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17963         (gst_fakesink_event), (gst_fakesink_chain):
17964         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17965         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17966         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17967         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17968         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17969         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17970         (gst_fakesrc_loop), (gst_fakesrc_activate),
17971         (gst_fakesrc_change_state):
17972         * gst/elements/gstfakesrc.h:
17973         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17974         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17975         (gst_filesrc_open_file), (gst_filesrc_loop),
17976         (gst_filesrc_activate), (gst_filesrc_change_state),
17977         (filesrc_find_peek), (filesrc_find_suggest),
17978         (gst_filesrc_type_find):
17979         * gst/elements/gstidentity.c: (gst_identity_finalize),
17980         (gst_identity_class_init), (gst_identity_init),
17981         (gst_identity_proxy_getcaps), (identity_queue_push),
17982         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17983         (gst_identity_getrange), (gst_identity_chain),
17984         (gst_identity_sink_loop), (gst_identity_src_loop),
17985         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17986         (gst_identity_set_property), (gst_identity_get_property),
17987         (gst_identity_change_state):
17988         * gst/elements/gstidentity.h:
17989         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17990         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17991         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17992         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17993         (gst_tee_sink_activate):
17994         * gst/elements/gsttee.h:
17995         * gst/gst.c: (gst_register_core_elements), (init_post):
17996         * gst/gst.h:
17997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17998         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17999         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18000         (gst_bin_change_state):
18001         * gst/gstbin.h:
18002         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18003         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18004         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18005         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18006         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18007         (bus_watch_callback), (bus_watch_destroy),
18008         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18009         (poll_timeout), (gst_bus_poll):
18010         * gst/gstbus.h:
18011         * gst/gstcaps.h:
18012         * gst/gstdata.h:
18013         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18014         (gst_element_post_message), (gst_element_message_full),
18015         (gst_element_get_state_func), (gst_element_get_state),
18016         (gst_element_abort_state), (gst_element_commit_state),
18017         (gst_element_lost_state), (gst_element_set_state),
18018         (gst_element_pads_activate), (gst_element_change_state),
18019         (gst_element_dispose), (gst_element_set_manager_func),
18020         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18021         (gst_element_set_manager), (gst_element_get_manager),
18022         (gst_element_set_bus), (gst_element_get_bus),
18023         (gst_element_set_scheduler), (gst_element_get_scheduler):
18024         * gst/gstelement.h:
18025         * gst/gstevent.c: (gst_event_new_segment_seek),
18026         (gst_event_new_flush):
18027         * gst/gstevent.h:
18028         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18029         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18030         (gst_message_new_eos), (gst_message_new_error),
18031         (gst_message_new_warning), (gst_message_new_tag),
18032         (gst_message_new_state_changed), (gst_message_new_application),
18033         (gst_message_get_structure), (gst_message_parse_tag),
18034         (gst_message_parse_state_changed), (gst_message_parse_error),
18035         (gst_message_parse_warning):
18036         * gst/gstmessage.h:
18037         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18038         (gst_real_pad_set_property), (gst_pad_set_active),
18039         (gst_pad_is_active), (gst_pad_set_blocked_async),
18040         (gst_pad_set_blocked), (gst_pad_is_blocked),
18041         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18042         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18043         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18044         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18045         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18046         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18047         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18048         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18049         (gst_pad_set_caps), (gst_pad_configure_sink),
18050         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18051         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18052         (gst_real_pad_dispose), (gst_real_pad_finalize),
18053         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18054         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18055         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18056         * gst/gstpad.h:
18057         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18058         (pipeline_bus_handler), (gst_pipeline_change_state),
18059         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18060         * gst/gstpipeline.h:
18061         * gst/gstprobe.h:
18062         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18063         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18064         (gst_queue_link_src), (gst_queue_bufferalloc),
18065         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18066         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18067         (gst_queue_loop), (gst_queue_handle_src_event),
18068         (gst_queue_handle_src_query), (gst_queue_src_activate),
18069         (gst_queue_change_state):
18070         * gst/gstqueue.h:
18071         * gst/gstscheduler.c: (gst_scheduler_init),
18072         (gst_scheduler_dispose), (gst_scheduler_create_task),
18073         (gst_scheduler_factory_create):
18074         * gst/gstscheduler.h:
18075         * gst/gststructure.c: (gst_structure_get_type),
18076         (gst_structure_copy_conditional):
18077         * gst/gststructure.h:
18078         * gst/gsttaginterface.h:
18079         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18080         (gst_task_init), (gst_task_dispose), (gst_task_create),
18081         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18082         (gst_task_pause):
18083         * gst/gsttask.h:
18084         * gst/gstthread.c:
18085         * gst/gstthread.h:
18086         * gst/gsttypes.h:
18087         * gst/schedulers/Makefile.am:
18088         * gst/schedulers/cothreads_compat.h:
18089         * gst/schedulers/entryscheduler.c:
18090         * gst/schedulers/faircothreads.c:
18091         * gst/schedulers/faircothreads.h:
18092         * gst/schedulers/fairscheduler.c:
18093         * gst/schedulers/gstbasicscheduler.c:
18094         * gst/schedulers/gstoptimalscheduler.c:
18095         * gst/schedulers/gthread-cothreads.h:
18096         * gst/schedulers/threadscheduler.c:
18097         (gst_thread_scheduler_task_get_type),
18098         (gst_thread_scheduler_task_class_init),
18099         (gst_thread_scheduler_task_init),
18100         (gst_thread_scheduler_task_start),
18101         (gst_thread_scheduler_task_stop),
18102         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18103         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18104         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18105         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18106         (plugin_init):
18107         * libs/gst/Makefile.am:
18108         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18109         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18110         (gst_file_pad_parent_set):
18111         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18112         (gst_dp_event_from_packet):
18113         * tests/complexity.c: (main):
18114         * tests/mass_elements.c: (main):
18115         * testsuite/states/locked.c: (message_received), (main):
18116         * testsuite/states/parent.c: (main):
18117         * tools/gst-inspect.c: (print_element_flag_info),
18118         (print_implementation_info), (print_pad_info):
18119         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18120         (main):
18121         * tools/gst-md5sum.c: (event_loop), (main):
18122         * tools/gst-typefind.c: (main):
18123         * tools/gst-xmlinspect.c: (print_element_info):
18124         Next big merge.
18125         Added GstBus for mainloop integration.
18126         Added GstMessage for sending notifications on the bus.
18127         Added GstTask as an abstraction for pipeline entry points.
18128         Removed GstThread.
18129         Removed Schedulers.
18130         Simplified GstQueue for multithreaded core.
18131         Made _link threadsafe, removed old capsnego.
18132         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18133         Added pad blocking functions.
18134         Reworked scheduling functions in GstPad to prepare for
18135         scheduling updates soon.
18136         Moved events out of data stream.
18137         Simplified GstEvent types.
18138         Added return values to push/pull.
18139         Removed clocking from GstElement.
18140         Added prototypes for state change function for next merge.
18141         Removed iterate from bins and state change management.
18142         Fixed some elements, disabled others for now.
18143         Fixed -inspect and -launch.
18144         Added check for GstBus.
18145
18146 2005-03-10  Wim Taymans  <wim@fluendo.com>
18147
18148         * docs/design/part-MT-refcounting.txt:
18149         * docs/design/part-clocks.txt:
18150         * docs/design/part-gstelement.txt:
18151         * docs/design/part-gstobject.txt:
18152         * docs/design/part-standards.txt:
18153         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18154         (gst_bin_remove_func), (gst_bin_remove):
18155         * gst/gstbin.h:
18156         * gst/gstbuffer.c:
18157         * gst/gstcaps.h:
18158         * testsuite/clock/clock1.c: (main):
18159         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18160         (main):
18161         * testsuite/dlopen/loadgst.c: (do_test):
18162         * testsuite/refcounting/bin.c: (add_remove_test1),
18163         (add_remove_test2), (main):
18164         * testsuite/refcounting/element.c: (main):
18165         * testsuite/refcounting/element_pad.c: (main):
18166         * testsuite/refcounting/pad.c: (main):
18167         * tools/gst-launch.c: (sigint_handler_sighandler):
18168         * tools/gst-typefind.c: (main):
18169         Doc updates.
18170         Added doc about clock.
18171         removed gst_bin_iterate_recurse_up(), marked methods
18172         for removal.
18173         Fix more testsuites.
18174
18175 2005-03-09  Wim Taymans  <wim@fluendo.com>
18176
18177         * gst/gstpad.c: (gst_pad_get_direction),
18178         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18179         (gst_pad_collect_valist):
18180         * testsuite/bins/interface.c: (main):
18181         * testsuite/caps/audioscale.c: (test_caps):
18182         * testsuite/caps/caps.c: (test1), (test2), (test3):
18183         * testsuite/caps/deserialize.c: (main):
18184         * testsuite/caps/enumcaps.c: (main):
18185         * testsuite/caps/filtercaps.c: (main):
18186         * testsuite/caps/intersect2.c: (main):
18187         * testsuite/caps/random.c: (main):
18188         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18189         * testsuite/caps/sets.c: (check_caps):
18190         * testsuite/caps/simplify.c: (check_caps), (main):
18191         * testsuite/caps/subtract.c: (check_caps):
18192         Fix _pad_get_direction wrt ghostpads.
18193         Fix caps testsuite.
18194
18195 2005-03-09  Wim Taymans  <wim@fluendo.com>
18196
18197         * check/Makefile.am:
18198         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18199         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18200         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18201         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18202         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18203         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18204         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18205         (bin_element_is_sink), (gst_bin_iterate_sinks),
18206         (gst_bin_iterate_all_by_interface):
18207         * gst/gstbin.h:
18208         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18209         (gst_element_change_state), (gst_element_dispose),
18210         (gst_element_finalize), (gst_element_set_loop_function):
18211         * gst/gstelement.h:
18212         * gst/gstiterator.c: (find_custom_fold_func):
18213         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18214         (gst_pad_collectv), (gst_pad_collect_valist),
18215         (gst_pad_template_new):
18216         * gst/gstpipeline.c: (gst_pipeline_class_init),
18217         (gst_pipeline_dispose), (gst_pipeline_set_property),
18218         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18219         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18220         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18221         * gst/gstutils.h:
18222         * gst/schedulers/entryscheduler.c:
18223         * gst/schedulers/gstbasicscheduler.c:
18224         (gst_basic_scheduler_cothreaded_chain),
18225         (gst_basic_scheduler_chain_add_element):
18226         * testsuite/bins/interface.c: (main):
18227         Added GstBin test.
18228         Added GstSystemClock test.
18229         Implemented clock distribution code in GstBin.
18230         Implemented iterate sinks method for future use.
18231         Rearranged gstelement.h
18232         Fix GstIterator comparison bug.
18233         Moved some code to GstPipeline, mostly clocking related.
18234
18235 2005-03-09  Wim Taymans  <wim@fluendo.com>
18236
18237         * configure.ac:
18238         * gst/gst_private.h:
18239         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18240         (gst_bin_remove_func), (gst_bin_remove),
18241         (gst_bin_get_by_name_recurse_up):
18242         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18243         (gst_clock_id_compare_func), (gst_clock_id_wait),
18244         (gst_clock_id_wait_async), (gst_clock_init),
18245         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18246         * gst/gstelement.h:
18247         * gst/gstinfo.c: (_gst_debug_init):
18248         * gst/gstobject.h:
18249         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18250         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18251         * gst/gstpad.h:
18252         Bump version number, we're now 0.9.0
18253         Add future debugging category.
18254         Fix NULL _unref() in _get_by_name_recurse_up
18255         Rearrange gstpad.h.
18256         Update some docs.
18257
18258 2005-03-08  Wim Taymans  <wim@fluendo.com>
18259
18260         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18261         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18262         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18263         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18264         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18265         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18266         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18267         * gst/elements/gstidentity.c: (gst_identity_class_init):
18268         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18269         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18270         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18271         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18272         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18273         (gst_tee_link):
18274         * gst/gstelement.c: (gst_element_class_init),
18275         (gst_element_base_class_init), (gst_element_init),
18276         (gst_element_get_random_pad), (gst_element_wait_state_change),
18277         (gst_element_change_state), (gst_element_dispose),
18278         (gst_element_finalize), (gst_element_set_loop_function):
18279         * gst/gstelement.h:
18280         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18281         * gst/gstthread.c: (gst_thread_class_init),
18282         (gst_thread_release_children_locks), (gst_thread_change_state):
18283         * gst/schedulers/gstbasicscheduler.c:
18284         (gst_basic_scheduler_loopfunc_wrapper),
18285         (gst_basic_scheduler_chain_wrapper),
18286         (gst_basic_scheduler_src_wrapper),
18287         (gst_basic_scheduler_remove_element):
18288         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18289         Remove threadsafe properties. Fix elements because GObject
18290         complains when installing a property before declaring a
18291         set/get_property handler.
18292         Rearrange gstelement.h file, use STATE macros for state locks.
18293         Free mutexes in the finalize method instead of dispose.
18294
18295 2005-03-08  Wim Taymans  <wim@fluendo.com>
18296
18297         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18298         * gst/gstthread.c: (gst_thread_release_children_locks):
18299         Added parentage check.
18300         Fix build og GstThread again.
18301
18302 2005-03-08  Wim Taymans  <wim@fluendo.com>
18303
18304         * docs/design/part-MT-refcounting.txt:
18305         * docs/design/part-conventions.txt:
18306         * docs/design/part-gstobject.txt:
18307         * docs/design/part-relations.txt:
18308         * docs/design/part-standards.txt:
18309         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18310         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18311         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18312         (gst_bin_iterate_all_by_interface):
18313         * gst/gstbuffer.h:
18314         * gst/gstclock.h:
18315         * gst/gstelement.c: (gst_element_class_init),
18316         (gst_element_change_state), (gst_element_set_loop_function):
18317         * gst/gstelement.h:
18318         * gst/gstiterator.c:
18319         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18320         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18321         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18322         (gst_object_set_parent), (gst_object_unparent),
18323         (gst_object_check_uniqueness):
18324         * gst/gstobject.h:
18325         Docs updates, clean up some headers.
18326
18327 2005-03-07  Wim Taymans  <wim@fluendo.com>
18328
18329         * check/.cvsignore:
18330         * check/Makefile.am:
18331         * check/gst-libs/.cvsignore:
18332         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18333         * check/gst/.cvsignore:
18334         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18335         (START_TEST), (gstbus_suite), (main):
18336         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18337         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18338         (gst_data_suite), (main):
18339         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18340         (add_fold_func), (gstiterator_suite), (main):
18341         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18342         (thread_name_object), (thread_name_object_default),
18343         (gst_object_name_compare), (gst_object_suite), (main):
18344         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18345         (gst_pad_suite), (main):
18346         * check/gstcheck.c: (gst_check_log_message_func),
18347         (gst_check_log_critical_func), (gst_check_init):
18348         * check/gstcheck.h:
18349         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18350         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18351         Added checks.
18352
18353 2005-03-07  Wim Taymans  <wim@fluendo.com>
18354
18355         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18356         (gst_list_iterator_next), (gst_list_iterator_resync),
18357         (gst_list_iterator_free), (gst_iterator_new_list),
18358         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18359         (gst_iterator_free), (gst_iterator_push), (filter_next),
18360         (filter_resync), (filter_uninit), (filter_free),
18361         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18362         (gst_iterator_foreach), (find_custom_fold_func),
18363         (gst_iterator_find_custom):
18364         * gst/gstiterator.h:
18365         Added missing files.
18366
18367 2005-03-07  Wim Taymans  <wim@fluendo.com>
18368
18369         * Makefile.am:
18370         * configure.ac:
18371         * docs/design/part-MT-refcounting.txt:
18372         * docs/design/part-conventions.txt:
18373         * docs/design/part-gstobject.txt:
18374         * docs/design/part-relations.txt:
18375         * examples/mixer/mixer.c: (main):
18376         * examples/thread/thread.c: (eos), (main):
18377         * gst/Makefile.am:
18378         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18379         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18380         (gst_spider_plug_from_srcpad):
18381         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18382         (gst_spider_identity_change_state),
18383         (gst_spider_identity_sink_loop_type_finding):
18384         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18385         * gst/elements/gstidentity.c: (gst_identity_init):
18386         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18387         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18388         * gst/elements/gsttypefindelement.c: (free_entry):
18389         * gst/gst.c:
18390         * gst/gst.h:
18391         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18392         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18393         (gst_bin_set_index), (gst_bin_set_element_sched),
18394         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18395         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18396         (gst_bin_iterate_elements), (iterate_child_recurse),
18397         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18398         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18399         (compare_interface), (gst_bin_get_by_interface),
18400         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18401         * gst/gstbin.h:
18402         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18403         (gst_buffer_default_free), (gst_buffer_default_copy),
18404         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18405         (gst_buffer_create_sub):
18406         * gst/gstbuffer.h:
18407         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18408         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18409         (gst_caps_unref), (gst_static_caps_get),
18410         (gst_caps_remove_and_get_structure), (gst_caps_append),
18411         (gst_caps_append_structure), (gst_caps_remove_structure),
18412         (gst_caps_copy_nth), (gst_caps_set_simple),
18413         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18414         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18415         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18416         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18417         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18418         (gst_caps_structure_figure_out_union),
18419         (gst_caps_switch_structures), (gst_caps_do_simplify),
18420         (gst_caps_replace), (gst_caps_from_string),
18421         (gst_caps_copy_conditional):
18422         * gst/gstcaps.h:
18423         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18424         (_gst_clock_id_free), (gst_clock_id_unref),
18425         (gst_clock_id_compare_func), (gst_clock_id_wait),
18426         (gst_clock_id_wait_async), (gst_clock_class_init),
18427         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18428         (gst_clock_get_time), (gst_clock_set_time_adjust),
18429         (gst_clock_set_property), (gst_clock_get_property):
18430         * gst/gstclock.h:
18431         * gst/gstcompat.h:
18432         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18433         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18434         * gst/gstdata.h:
18435         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18436         (gst_element_requires_clock), (gst_element_provides_clock),
18437         (gst_element_set_clock), (gst_element_clock_wait),
18438         (gst_element_wait), (gst_element_set_time_delay),
18439         (gst_element_is_indexable), (gst_element_add_pad),
18440         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18441         (pad_compare_name), (gst_element_get_static_pad),
18442         (gst_element_request_pad), (gst_element_get_request_pad),
18443         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18444         (gst_element_class_get_pad_template_list),
18445         (gst_element_class_get_pad_template), (gst_element_error_func),
18446         (gst_element_get_random_pad), (gst_element_get_event_masks),
18447         (gst_element_send_event), (gst_element_seek),
18448         (gst_element_get_query_types), (gst_element_query),
18449         (gst_element_get_formats), (gst_element_convert),
18450         (gst_element_is_locked_state), (gst_element_set_locked_state),
18451         (gst_element_sync_state_with_parent), (gst_element_change_state),
18452         (gst_element_finalize), (gst_element_yield),
18453         (gst_element_interrupt), (gst_element_set_scheduler),
18454         (gst_element_get_scheduler), (gst_element_set_loop_function):
18455         * gst/gstelement.h:
18456         * gst/gstevent.h:
18457         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18458         (gst_format_get_by_nick), (gst_format_get_details),
18459         (gst_format_iterate_definitions):
18460         * gst/gstformat.h:
18461         * gst/gstindex.c: (gst_index_gtype_resolver):
18462         * gst/gstinfo.c:
18463         * gst/gstinfo.h:
18464         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18465         (gst_mem_chunk_free):
18466         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18467         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18468         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18469         (gst_object_dispatch_properties_changed),
18470         (gst_object_set_name_default), (gst_object_set_name),
18471         (gst_object_get_name), (gst_object_set_name_prefix),
18472         (gst_object_get_name_prefix), (gst_object_set_parent),
18473         (gst_object_get_parent), (gst_object_unparent),
18474         (gst_object_check_uniqueness), (gst_object_save_thyself),
18475         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18476         (gst_object_set_property), (gst_object_get_property),
18477         (gst_object_get_path_string):
18478         * gst/gstobject.h:
18479         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18480         (gst_real_pad_init), (gst_real_pad_get_property),
18481         (gst_pad_custom_new), (gst_pad_get_direction),
18482         (gst_pad_set_active), (gst_pad_is_active),
18483         (gst_pad_set_event_function), (gst_pad_is_linked),
18484         (gst_pad_link_free), (gst_pad_link_intersect),
18485         (gst_pad_link_fixate), (gst_pad_set_caps),
18486         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18487         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18488         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18489         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18490         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18491         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18492         (gst_pad_realize), (gst_pad_get_allowed_caps),
18493         (gst_real_pad_dispose), (gst_real_pad_finalize),
18494         (gst_pad_collectv), (gst_pad_collect_valist),
18495         (gst_pad_template_dispose), (gst_pad_template_new),
18496         (gst_pad_get_internal_links):
18497         * gst/gstpad.h:
18498         * gst/gstpipeline.c: (gst_pipeline_dispose),
18499         (gst_pipeline_change_state):
18500         * gst/gstpipeline.h:
18501         * gst/gstplugin.c:
18502         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18503         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18504         * gst/gstpluginfeature.h:
18505         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18506         * gst/gstquery.c: (_gst_query_type_initialize),
18507         (gst_query_type_register), (gst_query_type_get_by_nick),
18508         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18509         * gst/gstquery.h:
18510         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18511         * gst/gstscheduler.c: (gst_scheduler_add_element),
18512         (gst_scheduler_factory_create):
18513         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18514         (gst_structure_free), (gst_structure_set_name),
18515         (gst_structure_id_set_value), (gst_structure_set_value),
18516         (gst_structure_set_valist), (gst_structure_remove_field),
18517         (gst_structure_remove_fields),
18518         (gst_structure_remove_fields_valist),
18519         (gst_structure_remove_all_fields), (gst_structure_foreach),
18520         (gst_structure_map_in_place),
18521         (gst_caps_structure_fixate_field_nearest_int),
18522         (gst_caps_structure_fixate_field_nearest_double):
18523         * gst/gststructure.h:
18524         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18525         (gst_system_clock_init), (gst_system_clock_dispose),
18526         (gst_system_clock_async_thread),
18527         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18528         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18529         * gst/gstsystemclock.h:
18530         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18531         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18532         * gst/gsttaginterface.c:
18533         * gst/gstthread.c: (gst_thread_dispose),
18534         (gst_thread_release_children_locks), (gst_thread_change_state),
18535         (gst_thread_main_loop):
18536         * gst/gsttrashstack.h:
18537         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18538         * gst/gsttypes.h:
18539         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18540         (gst_element_request_pad), (gst_element_get_pad_from_template),
18541         (gst_element_request_compatible_pad),
18542         (gst_element_get_compatible_pad_filtered),
18543         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18544         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18545         (gst_element_link_many), (gst_element_link),
18546         (gst_element_link_pads), (gst_element_unlink_pads),
18547         (gst_element_unlink_many), (gst_element_unlink),
18548         (gst_pad_can_link_filtered), (gst_pad_can_link),
18549         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18550         (gst_object_default_error), (gst_bin_add_many),
18551         (gst_bin_remove_many), (gst_element_populate_std_props),
18552         (gst_element_class_install_std_props), (gst_buffer_merge),
18553         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18554         (link_fold_func), (gst_pad_proxy_setcaps):
18555         * gst/gstutils.h:
18556         * gst/gstvalue.c: (gst_value_deserialize_string):
18557         * gst/parse/grammar.y:
18558         * gst/schedulers/gstbasicscheduler.c:
18559         (gst_basic_scheduler_cothreaded_chain),
18560         (gst_basic_scheduler_chain_recursive_add),
18561         (gst_basic_scheduler_pad_link):
18562         * gst/schedulers/gstoptimalscheduler.c:
18563         (get_group_schedule_function),
18564         (gst_opt_scheduler_state_transition),
18565         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18566         * libs/gst/bytestream/bytestream.c:
18567         * libs/gst/dataprotocol/dataprotocol.c:
18568         (gst_dp_header_from_buffer):
18569         * po/nb.po:
18570         * po/ru.po:
18571         * tests/threadstate/threadstate2.c: (eos):
18572         * tools/gst-compprep.c: (main):
18573         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18574         (print_pad_info), (print_children_info):
18575         * tools/gst-launch.c: (idle_func), (main):
18576         * tools/gst-md5sum.c: (idle_func), (main):
18577         * tools/gst-xmlinspect.c: (print_element_info):
18578         First THREADED backport attempt, focusing on adding locks and
18579         making sure the API is threadsafe. Needs more work. More docs
18580         follow this week.
18581
18582 2005-02-24  Andy Wingo  <wingo@pobox.com>
18583
18584         * tests/bench-complexity.scm:
18585         * tests/complexity.gnuplot: New files, good for running complexity
18586         benchmarks.
18587
18588         * tests/Makefile.am:
18589         * tests/complexity.c: New test, sets up N elements, at each level
18590         teeing into M streams per element. Eeeenteresting.
18591
18592         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18593         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18594         running bench-mass_elements.scm.
18595
18596         * tests/bench-mass_elements.scm: New script, runs mass_elements
18597         for various numbers of identities, outputting the results to a
18598         file. Requires guile 1.6. Just for testing.
18599
18600 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18601
18602         * gst/schedulers/fairscheduler.c:
18603           compile with debug disabled
18604
18605 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18606
18607         * configure.ac:
18608           hunting season on 0.9 is now OPEN