2a838750fdf231ef5ea5da2f43a6ec18b3d2a9d4
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-27  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4         Fix useless assert, a uint is always positive.
5
6         * gst/gststructure.c: (gst_structure_nth_field_name),
7         (gst_structure_foreach), (gst_structure_map_in_place):
8         Check input arguments for public functions to avoid obvious crashes.
9
10         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11         * plugins/elements/gstfakesink.h:
12         Do less useless typechecking.
13
14 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
15
16         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
17           Do not use mmap() by default since there are a number of error
18           conditions that we would like to handle in a non-fatal way that
19           will result in a SIGBUS if we use mmap(). Examples: external
20           devices (USB harddrive, portable music player) being unplugged
21           while in use; file on mounted CD/DVD that can't be read because
22           the medium is partly damaged. Fixes #348455 and #348475.
23
24 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
25
26         * gst/gstquery.h:
27         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
28         rates are a gdouble
29
30 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
31
32         * gst/gstregistry.c:
33           Move big documentation comment into class section header, so that it
34           appears in the API docs.
35
36 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
37
38         * docs/gst/gstreamer-sections.txt:
39         Oops. Commit the docs additions too for new API.
40         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
41
42 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
43
44         * gst/gststructure.c: (gst_structure_id_set),
45         (gst_structure_id_set_valist):
46         * gst/gststructure.h:
47         Add API for setting values into structures without performing
48         a quark lookup, if the appropriate quark is already known.
49
50         API: gst_structure_id_set
51         API: gst_structure_id_set_valist
52
53         * gst/parse/grammar.y:
54         * gst/parse/parse.l:
55         Remove some dead code shown by the coverage information.
56         Don't throw a critical g_warning when encountering a syntax error,
57         just warn and let the normal error path handle it.
58
59         * plugins/elements/gstelements.c:
60         Bump the rank of filesink up to PRIMARY so that it is preferred over
61         gnomevfssink for file:// sink uri's
62
63         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
64         (GST_START_TEST), (run_delayed_test),
65         (gst_parse_test_element_base_init),
66         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
67         (gst_parse_test_element_change_state),
68         (gst_register_parse_element), (parse_suite):
69         Beef up the tests for parse syntax to check that more error cases
70         fail as they are supposed to. Increases the test coverage a bit.
71
72 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
73
74         * docs/manual/basics-elements.xml:
75           Fix gst_element_link() example.
76
77         * gst/gstutils.c:
78           Mention in API docs that one should usually gst_bin_add()
79           elements to a bin or pipeline before doing the linking.
80           
81 2006-07-26  Wim Taymans  <wim@fluendo.com>
82
83         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
84         (gst_subbuffer_get_type), (gst_buffer_create_sub):
85         Avoid function call for known types by keeping the buffer and
86         subbuffer GType global.
87
88         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
89         Random silly optimisations in read() path.
90
91 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
92
93         * tools/gst-launch.c: (main):
94           If the top-level of the parse is a normal bin, it doesn't do the
95           right logic to run as a top-level element, so place it inside a
96           pipeline.
97
98 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
99
100         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
101           Remove superfluous g_object_notify() calls, GObject does
102           that for us automatically.
103
104 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
105
106         * gst/gstinfo.h:
107           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
108           here.
109
110 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
111
112         * gst/gsttaglist.c: (_gst_tag_initialize):
113           Allow more than one GST_TAG_IMAGE per taglist.
114
115 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * gst/gstminiobject.c:
118           update docs
119         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
120         (gst_fd_src_create):
121           log recurring events at LOG level
122           add more debug for when the fd gets set
123
124 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
125
126         * gst/gstparse.c: (gst_parse_launch):
127           Also remove reentrance checks if flex is MT save (#348179)
128          Fix my empty ChangeLog entry below
129
130 2006-07-21  Andy Wingo  <wingo@pobox.com>
131
132         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
133
134         * libs/gst/check/Makefile.am
135         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
136         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
137         * libs/gst/check/gstbufferstraw.h:
138         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
139         functions, thus proving I am still a GStreamer haxor. OK I wrote
140         them a long time ago, but anyways.
141
142 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
143
144         * configure.ac:
145         * gst/gstparse.c: (gst_parse_launch):
146           Check for flex version and omit mutex if we have a MT save flex
147           (fixes #348179)
148
149 2006-07-21  Wim Taymans  <wim@fluendo.com>
150
151         * gst/gstparse.c: (gst_parse_launch):
152         Protect recursive calls to _parse with a recursive mutex
153         and busy flag.
154
155 2006-07-21  Wim Taymans  <wim@fluendo.com>
156
157         * tests/check/gst/gstpad.c: (GST_START_TEST):
158         Fix leak in test.
159
160 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
161
162         * gst/gstparse.c: (gst_parse_launch):
163           Do not hange on recursive uasge of gst_parse_launch()
164
165 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
166
167         * gst/gsttaglist.c:
168           Add some more docs, comments and FIXME 0.11s here and there
169           and  also fix some typos.
170
171 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
172
173         * gst/gstsegment.h:
174           Convert tabs to spaces for better readability. 
175
176 2006-07-20  Edward Hervey  <edward@fluendo.com>
177
178         * tests/check/libs/gdp.c: (gst_dp_suite):
179         the test_buffer test fails at line 140 on ppc64 at the following
180         check:
181         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
182                 "GST_BUFFER_IN_CAPS flag should have been copied !");
183         See bug #348114 for more details.
184
185 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
186
187         * docs/pwg/advanced-scheduling.xml:
188         * gst/gstpad.c:
189           Fix typos (#348000).
190
191 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
192
193         * docs/pwg/intro-basics.xml:
194           Fix wrong links (#347927).
195
196 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
197
198         * gst/gstregistry.h:
199         * gst/gstregistryxml.c: (load_feature),
200         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
201         * win32/common/config.h:
202         make --disable-index work (#342564)
203
204 2006-07-18  Wim Taymans  <wim@fluendo.com>
205
206         Patch by: Peter Kjellerstedt <pkj at axis dot com>
207
208         * gst/Makefile.am:
209         * gst/gsttrace.h:
210         The attached patch adds two missing defines to gsttrace.h when tracing
211         is disabled.  It also corrects one existing define.
212         Fixes #347756.
213
214 2006-07-17  Wim Taymans  <wim@fluendo.com>
215
216         * docs/gst/gstreamer-sections.txt:
217         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
218         * gst/gst.h:
219         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
220         Add two functions to check and change the SIGSEGV behaviour
221         when loading plugins.
222         Don't mess with the SIGSEGV handler when we were told not to.
223         Fixes #347794.
224         API: gst_segtrap_is_enabled
225         API: gst_segtrap_set_enabled
226
227 2006-07-14  Wim Taymans  <wim@fluendo.com>
228
229         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
230         * tests/check/elements/filesrc.c: (GST_START_TEST):
231         Revert fix for regression in #347408 after release.
232
233 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
234
235         Patch by: Antoine Tremblay <hexa00 at gmail com>
236
237         * gst/gstutils.c: (gst_element_unlink):
238           Free iterator when done (#347311).
239
240         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
241           And add a test case for this.
242
243 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
244
245         * configure.ac:
246         Bump nano back to CVS
247
248 === release 0.10.9 ===
249
250 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
251
252         * configure.ac:
253           releasing 0.10.9, "On the road again"
254
255 2006-07-13  Wim Taymans  <wim@fluendo.com>
256
257         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
258         * tests/check/elements/filesrc.c: (GST_START_TEST):
259         Revert pull-0 fix for release. Disable check. Fixes #347408.
260
261 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
262
263         * libs/gst/dataprotocol/dataprotocol.c:
264         (gst_dp_event_from_packet_1_0):
265           Fixes #347337: failure to deserialize event packets with
266           empty payload (only event type)
267
268 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         * gst/Makefile.am:
271           do not install a .c file in the header directory
272
273 2006-07-13  Edward Hervey  <edward@fluendo.com>
274
275         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
276         GhostPad no longer implicitely use the padtemplates of the targets.
277         Fixes #347384
278
279 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
280
281         * gst/gstvalue.c: (gst_value_compare_list),
282         (gst_value_compare_array), (_gst_value_initialize):
283         * tests/check/gst/gstvalue.c: (GST_START_TEST):
284         Make GstValueArray comparison be order dependent as designed.
285         Add checks for value lists and value array comparisons.
286         Fixes #347221
287
288 2006-07-11  Edward Hervey  <edward@fluendo.com>
289
290         * gst/gstbin.c: (activate_pads),
291         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
292         (gst_bin_change_state_func):
293         (de)activate src pads before calling state_change on the childs.
294         This is to avoid the case where a src ghostpad is blocked (holding the
295         stream lock), which would block the deactivation of the ghostpad's
296         target pad.
297         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
298         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
299         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
300         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
301         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
302         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
303         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
304         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
305         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
306         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
307         (gst_ghost_pad_class_init),
308         (gst_ghost_pad_internal_do_activate_push),
309         (gst_ghost_pad_internal_do_activate_pull),
310         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
311         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
312         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
313         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
314         GhostPads now create their internal GstProxyPad at creation (and not
315         when they're linked, as it was being done previously).
316         The internal and target pads are linked straight away.
317         The data will also travel through the other pad in order to make
318         pad blocking and probes non-hackish (the probe/block now really happens
319         on the GhostPad and not on the target).
320         * gst/gstpad.c: (gst_pad_set_blocked_async),
321         (gst_pad_link_prepare), (gst_pad_push_event):
322         Remove previous ghostpad cruft.
323         * gst/gstutils.c: (gst_pad_add_data_probe),
324         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
325         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
326         (gst_pad_remove_buffer_probe):
327         Remove previous ghost pad cruft.
328         Added more detailed debug statements.
329         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
330         Fix the testsuite for refcounting changes.
331         The comments about who has references were correct, but the refcount
332         being checked wasn't the same (!?!).
333
334         Fixes #341029
335
336 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
337
338         * docs/gst/gstreamer-sections.txt:
339         * gst/gstconfig.h.in:
340         More docs for configuration options, add docs to gtk-doc.
341
342 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
343
344         * gst/Makefile.am:
345         * gst/gstconfig.h.in:
346         * win32/common/config.h:
347         Fix build when disabling tracing (fixes #344016). Also start to document
348         the defines that disable the sub-systems.
349
350 2006-07-10  Edward Hervey  <edward@fluendo.com>
351
352         * gst/gst.c: (ensure_current_registry_forking):
353         let's make valgrind happy...
354
355 2006-07-09  Wim Taymans  <wim@fluendo.com>
356
357         * gst/gstelement.c: (activate_pads),
358         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
359         Better pad activation code: Reset the collect value too on resync.
360         Add some comments.
361
362 2006-07-09  Wim Taymans  <wim@fluendo.com>
363
364         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
365         (gst_pad_activate_push):
366         Use some more macros where it makes sense.
367         Allow pad mode switching instead of asserting. When a pad
368         is activated in one mode and we activate it in another, 
369         deactivate it first before activating it in a different mode.
370         Fixes #329198.
371
372 2006-07-08  Andy Wingo  <wingo@pobox.com>
373
374         * tools/gst-launch.c (main): Handle err == NULL.
375
376         * gst/gst.c (init_post, ensure_current_registry)
377         (ensure_current_registry_forking)
378         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
379         factoring out the registry scanning into separate functions. Don't
380         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
381         Better environment var name/interface suggestions accepted.
382
383 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
384
385         * gst/gstobject.c: (gst_object_set_name_default),
386         (gst_object_set_name):
387           Random micro-optimisation: don't use a hash table
388           with strings as keys and the usual strdup/strcmp
389           involved, but rather just use the GQuark of the
390           type name as key, since it needs to be looked up
391           anyway to get the type name string.
392
393         * tests/check/gst/gstobject.c: (GST_START_TEST):
394           Fix various leaks.
395
396 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
399         (gst_bin_iterate_all_by_interface):
400           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
401           GTypes are gulongs and thus the top 4 bytes might be cut
402           off on some platforms when doing GPOINTER_TO_INT, leading
403           to invalid GTypes and bad things happening (see RH bug #179654).
404           Also add a check to make sure the type passed in is really
405           an interface type.
406
407 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
408
409         * .cvsignore:
410           Ignore more.
411
412 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
413
414         * Makefile.am:
415         * configure.ac:
416         * gst-element-check.m4:
417         * gst-element-check.m4.in:
418           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
419           instead of the unversioned gst-inspect (#324176, #168659).
420
421 2006-07-06  Wim Taymans  <wim@fluendo.com>
422
423         * gst/gstmessage.h:
424         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
425         warnings.
426
427 2006-07-06  Wim Taymans  <wim@fluendo.com>
428
429         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
430         (gst_base_src_wait), (gst_base_src_update_length),
431         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
432         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
433         (gst_base_src_loop), (gst_base_src_start),
434         (gst_base_src_activate_pull):
435         Update docs.
436         blocksize == 0 now means the default blocksize when working in push
437         based mode.
438         Remove some pointless asserts in _wait function.
439         Fix offset/length calculations and EOS handling. We can now pull 0
440         bytes as well, which is allowed.
441         use _check_get_range() to decide if we can operate in _pull based
442         mode.
443         Fix refcounting leak when check_get_range function was not 
444         implemented.
445         API GstBaseSrc::blocksize range can be 0 too now (default)
446
447         * tests/check/elements/filesrc.c: (GST_START_TEST),
448         (filesrc_suite):
449         Added check to test _get_range() behaviour.
450
451 2006-07-06  Wim Taymans  <wim@fluendo.com>
452
453         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
454         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
455         (gst_pad_pull_range):
456         * gst/gstpad.h:
457         Lots of comments and docs added to the pad functions.
458         Flesh out the expected behaviour of the get_range() functions.
459
460 2006-07-06  Wim Taymans  <wim@fluendo.com>
461
462         * gst/gstbus.h:
463         * gst/gstclock.h:
464         * gst/gstevent.h:
465         * gst/gstiterator.h:
466         * gst/gstpad.h:
467         * gst/gstplugin.h:
468         * gst/gsttask.h:
469         Remove comma at end of enumerator list. 
470
471 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
472
473         * win32/common/libgstbase.def:
474         * win32/common/libgstdataprotocol.def:
475         * win32/common/libsgtreamer.def:
476         Add new exported functions.
477
478 2006-07-05  Wim Taymans  <wim@fluendo.com>
479
480         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
481         Add some more docs here and there.
482
483 2006-07-05  Wim Taymans  <wim@fluendo.com>
484
485         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
486         (gst_base_sink_loop), (gst_base_sink_get_position):
487         When operating in pull mode update the offset so that we
488         read sequentially.
489
490 2006-07-05  Wim Taymans  <wim@fluendo.com>
491
492         * gst/gstregistryxml.c: (read_string):
493         Avoid strdup. (will happen in libxml, but hey!)
494
495         * gst/gsturi.c:
496         Add some more docs.
497
498 2006-07-05  Wim Taymans  <wim@fluendo.com>
499
500         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
501         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
502         (gst_buffer_suite):
503         No point in checking if the size of the subbuffer > 0, the
504         code handles it correclty as demonstrated by unit test.
505         Also add a unit test for the zero sized _new_and_alloc and
506         _copy. Fixes #346663.
507
508 2006-07-05  Wim Taymans  <wim@fluendo.com>
509
510         * libs/gst/base/gstbasetransform.c:
511         (gst_base_transform_prepare_output_buffer),
512         (gst_base_transform_buffer_alloc),
513         (gst_base_transform_handle_buffer):
514         Make sure the buffer we pass to transform_ip has a refcount of
515         1 and thus is writable. Fixes #343196
516
517 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
518
519         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
520         (gst_file_src_init), (gst_file_src_set_property),
521         (gst_file_src_get_property), (gst_file_src_map_region):
522         * plugins/elements/gstfilesrc.h:
523         Add "sequential" property, off by default, to use madvise and hint
524         to the kernel that sequential access is desired.
525         Touch all retrieved pages by default to ensure they are pulled
526         into memory. (Closes #345720)
527
528 2006-07-03  Wim Taymans  <wim@fluendo.com>
529
530         * docs/design/part-block.txt:
531         * docs/design/part-dynamic.txt:
532         Small docs updates.
533
534 2006-07-03  Wim Taymans  <wim@fluendo.com>
535
536         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
537         (gst_caps_unref), (gst_static_caps_get),
538         (gst_caps_append_structure):
539         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
540         Use GSlice when the glib we build against is >= 2.10
541
542 2006-07-03  Wim Taymans  <wim@fluendo.com>
543
544         * gst/gstelement.c: (gst_element_pads_activate):
545         Small cleanup in pad activation code.
546
547 2006-07-03  Wim Taymans  <wim@fluendo.com>
548
549         Patch by: Peter Kjellerstedt <pkj at axis dot com>
550
551         * gst/gst-i18n-app.h:
552         * gst/gst-i18n-lib.h:
553         * tools/gst-inspect.c: (print_signal_info):
554         The attached patch will make the inclusion of gettext.h unconditional in
555         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
556         libintl.h in tools/gst-inspect.c.
557         This allows use of --disable-nls again and fixes #344642.
558
559 2006-07-03  Edward Hervey  <edward@fluendo.com>
560
561         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
562         Implement pad blocking on events according to part-block.txt.
563         More comments on behaviour.
564         * tests/check/gst/gstevent.c: (test_event):
565         Send event to peer pad of blocked pad (else it will block).
566
567 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * libs/gst/check/gstcheck.c: (gst_check_message_error),
570         (gst_check_run_suite):
571           if we get the wrong message, give us the types as string
572         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
573           Fix a translatable
574         * tests/check/elements/filesrc.c: (GST_START_TEST):
575           add a test for trying to open a non-existing file
576
577 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
578
579         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
580           add a test for adding self
581
582 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * libs/gst/check/gstcheck.h:
585           add some assert_ as alias for fail_unless_*
586         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
587           increase test coverage
588
589 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * Makefile.am:
592           include lcov.mak for lcov coverage generation
593         * tools/Makefile.am:
594           add to CLEANFILES
595
596 2006-07-02  Edward Hervey  <edward@fluendo.com>
597
598         * tests/check/elements/.cvsignore:
599         moaping
600
601 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * configure.ac:
604           don't set CFLAGS and friends for gcov, done from GST_GCOV now
605         * tests/check/Makefile.am:
606           clean up gcov files
607
608 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
609
610         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
611           remove gst_caps_simplify; it was not declared and not used
612           and deprecated in 0.8
613
614 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
615
616         * docs/faq/gst-uninstalled:
617           don't put empty paths on PYTHONPATH
618         * docs/gst/gstreamer-sections.txt:
619           remove some symbols that are not there
620
621 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
622
623         * gst/gstcaps.c: (gst_caps_compare_structures):
624           whitespace fixes
625         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
626         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
627           add more tests
628
629 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
630
631         * libs/gst/dataprotocol/Makefile.am:
632           build dataprotocol test by linking to the lib, instead of
633           compiling the source, so we get coverage
634         * tests/check/Makefile.am:
635         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
636         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
637           add a test for filesrc
638
639 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
640
641         * tests/check/gst/gststructure.c: (GST_START_TEST),
642         (gst_structure_suite):
643           Push coverage from 59.04% to 70.00%
644
645 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * tests/check/Makefile.am:
648           gst-inspect every element; this makes sure that we also get
649           coverage on element's get/set functions
650
651 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * configure.ac:
654           set CFLAGS and friends to -O0 if gcov is being used
655           add GCOV LIBS
656         * gst/Makefile.am:
657         * libs/gst/base/Makefile.am:
658         * libs/gst/check/Makefile.am:
659         * libs/gst/controller/Makefile.am:
660         * libs/gst/dataprotocol/Makefile.am:
661         * libs/gst/net/Makefile.am:
662         * plugins/elements/Makefile.am:
663         * plugins/indexers/Makefile.am:
664           add makefile rules to generate gcov data and clean up
665         * tests/check/Makefile.am:
666           add a coverage target that generates an html overview
667           of coverage data
668
669 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
670
671         * tests/check/elements/fakesink.c:
672         * tests/check/elements/fakesrc.c:
673         * tests/check/elements/fdsrc.c:
674         * tests/check/elements/identity.c:
675         * tests/check/generic/sinks.c: (gst_sinks_suite):
676         * tests/check/generic/states.c:
677         * tests/check/gst/gst.c:
678         * tests/check/gst/gstabi.c:
679         * tests/check/gst/gstbin.c:
680         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
681         * tests/check/gst/gstbus.c: (gst_bus_suite):
682         * tests/check/gst/gstcaps.c: (GST_START_TEST):
683         * tests/check/gst/gstelement.c:
684         * tests/check/gst/gstevent.c: (gst_event_suite):
685         * tests/check/gst/gstghostpad.c:
686         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
687         * tests/check/gst/gstmessage.c: (gst_message_suite):
688         * tests/check/gst/gstminiobject.c:
689         * tests/check/gst/gstobject.c:
690         * tests/check/gst/gstpad.c:
691         * tests/check/gst/gstpipeline.c:
692         * tests/check/gst/gstplugin.c:
693         * tests/check/gst/gstquery.c: (gst_query_suite):
694         * tests/check/gst/gstsegment.c: (gst_segment_suite):
695         * tests/check/gst/gststructure.c:
696         * tests/check/gst/gstsystemclock.c:
697         * tests/check/gst/gsttag.c:
698         * tests/check/gst/gsttask.c: (gst_task_suite):
699         * tests/check/gst/gstutils.c:
700         * tests/check/gst/gstvalue.c:
701         * tests/check/libs/adapter.c:
702         * tests/check/libs/basesrc.c:
703         * tests/check/libs/collectpads.c:
704         * tests/check/libs/controller.c:
705         * tests/check/libs/gdp.c: (gst_dp_suite):
706         * tests/check/libs/gstnetclientclock.c:
707         * tests/check/libs/gstnettimeprovider.c:
708         * tests/check/libs/libsabi.c: (libsabi_suite):
709         * tests/check/libs/typefindhelper.c:
710         * tests/check/pipelines/cleanup.c:
711         * tests/check/pipelines/parse-launch.c:
712         * tests/check/pipelines/simple-launch-lines.c:
713         * tests/check/pipelines/stress.c: (stress_suite):
714           use the new macro
715
716 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
717
718         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
719         * libs/gst/check/gstcheck.h:
720           create a macro and function so that the simple unit test
721           case can be just one macro to create main()
722
723 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstbin.c: (gst_bin_restore_thyself):
726         * gst/gstxml.c: (gst_xml_make_element):
727           Fix deserialisation from XML. Set parent manually
728           instead of using gst_bin_add(), since gst_bin_add()
729           will unlink all pads of the element being added.
730           Fixes #341667.
731
732 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
733
734         Patch by: Peter Kjellerstedt <pkj at axis com>
735
736         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
737           Fix missing g_strdup() and double free when using the
738           --gst-plugin-load command line option (#346097).
739
740 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * gst/gstinfo.c:
743           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
744
745         * libs/gst/net/gstnetclientclock.c:
746         * libs/gst/net/gstnettimeprovider.c:
747           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
748
749 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
750
751         * docs/manual/advanced-dataaccess.xml:
752           Fix buffer probe example compilation in
753           ADM (#345708).
754         
755 2006-06-22  Edward Hervey  <edward@fluendo.com>
756
757         * gst/gstelement.c: (gst_element_pads_activate):
758         We need to deactivate src pads first and then sink pads.
759         The reason is the src pads might be blocking while holding the streaming
760         lock, so we need to deactivate them first so that deactivating the sink
761         pads doesn't block (since it will require the streaming lock).
762
763 2006-06-22  Wim Taymans  <wim@fluendo.com>
764
765         * libs/gst/base/gstbasetransform.c:
766         (gst_base_transform_buffer_alloc):
767         Forgot to remove two unneeded unrefs.
768         Simplify a check _is_equal allready checks the obvious case.
769
770 2006-06-22  Wim Taymans  <wim@fluendo.com>
771
772         * docs/design/part-block.txt:
773         Some docs about what pad_block should do.
774
775 2006-06-22  Wim Taymans  <wim@fluendo.com>
776
777         * gst/gstcaps.c: (gst_caps_replace):
778         Fix crasher when passed NULL. Doc clarification.
779         Optimize for the trivial case.
780
781         * gst/gstpipeline.c: (gst_pipeline_change_state):
782         Small cleanups.
783
784         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
785         Small documentation cleanup.
786
787         * libs/gst/base/gstbasetransform.c:
788         (gst_base_transform_buffer_alloc):
789         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
790         is what we need and it avoids a whole lot of redundant 
791         refcount operations.
792
793 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
794
795         Patch by: Philip Jägenstedt  <philip at lysator liu se>
796
797         * docs/manual/advanced-dataaccess.xml:
798           Fix 'Embedding static elements' section to use
799           GST_PLUGIN_DEFINE_STATIC (#345607).
800
801 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
802
803         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
804           Attempt to 'fix' spuriously failing test case: it seems like the
805           timeout of half a second is simply too small when the system is under
806           load otherwise, and the timeout doesn't really seem to serve any
807           particular purpose here. Give the pipeline a few seconds to preroll
808           first, and then give it another half a second to go from PAUSED to
809           PLAYING and marshal the message into the main thread.
810
811 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * tools/gst-feedback-m.m:
814           Don't only use unversioned tools, try versioned tools as well
815           (#345086).
816
817 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
818
819         * gst/gstbus.c: (gst_bus_class_init):
820           Fix some typos, make docs more explicit.
821
822 2006-06-20  Wim Taymans  <wim@fluendo.com>
823
824         * tests/check/gst/gstghostpad.c: (block_callback),
825         (GST_START_TEST), (gst_ghost_pad_suite):
826         Added some more ghostpad tests, mainly blocking
827         and probes.
828
829 2006-06-16  Wim Taymans  <wim@fluendo.com>
830
831         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
832         (gst_file_sink_close_file), (gst_file_sink_do_seek),
833         (gst_file_sink_event), (gst_file_sink_render):
834         * plugins/elements/gstfilesink.h:
835         Check if we can seek in the file instead of assuming
836         we always can. Post an error when we are asked to seek in a
837         non-seekable file (like a fifo). Fixes #343312.
838         Some cleanups.
839
840 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
841
842         * tools/gst-launch.1.in:
843           Un-garble (fourcc) bit in filtered caps section.
844
845 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
846
847         * docs/manual/advanced-autoplugging.xml:
848         * docs/manual/basics-helloworld.xml:
849         * docs/manual/highlevel-components.xml:
850           Don't leak bus reference in sample code.
851
852 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
853
854         * autogen.sh:
855           Add default for new --enable-plugin-docs switch.
856
857         * configure.ac:
858           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
859           Fixes #344039.
860
861         * docs/Makefile.am:
862           Use new ENABLE_PLUGIN_DOCS conditional.
863
864 2006-06-14  Wim Taymans  <wim@fluendo.com>
865
866         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
867         Make it clear with a FIXME and a real define what the #if 0
868         previously disabled.
869
870 2006-06-14  Wim Taymans  <wim@fluendo.com>
871
872         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
873         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
874         * libs/gst/base/gstbasetransform.c:
875         (gst_base_transform_sink_eventfunc):
876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
877         Don't randomly and silently reset a segment when the format 
878         changes as this is a bug somewhere upstream. Fixes #330379.
879
880 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
881
882         Patch by: Wouter Paesen  <wouter at kangaroot net>
883
884         * libs/gst/controller/gstcontroller.c:
885         (gst_controlled_property_new):
886           Fix controlling of float properties (#344849).
887
888         * tests/check/libs/controller.c:
889         (gst_test_mono_source_get_property),
890         (gst_test_mono_source_set_property),
891         (gst_test_mono_source_class_init), (GST_START_TEST):
892           While we're at it, add some float stuff to unit test.
893
894 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
895
896         * docs/README:
897         * docs/images/gdp-header.svg:
898           add a gdp image
899         * docs/libs/Makefile.am:
900         * docs/libs/gdp-header.png:
901         * libs/gst/dataprotocol/dataprotocol.c:
902           add it to the API docs
903         * docs/manual/intro-motivation.xml:
904           fix typo
905
906 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/gst.c: (scan_and_update_registry), (init_post):
909           If the fork()'ed child process can't write the updated registry cache
910           file to disk for some reason, make it exit with a failure exit code,
911           so that the parent can then re-scan the plugins itself and update the
912           registry structures in memory and work with that (rather than failing
913           when creating elements because seemingly no plugins are available).
914           Refactor registry scanning code into separate function for this and
915           also separate fork() and non-fork() code paths. Fixes #344748.
916
917 2006-06-13  Wim Taymans  <wim@fluendo.com>
918
919         * docs/manual/advanced-dataaccess.xml:
920         Fix wrong PluginDesc. Fixes #344755.
921
922 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
925           Fix silly bug that prevented us from creating
926           ~/.gstreamer-0.10 and writing the registry in one
927           go (the first call to g_mkstemp() would overwrite the
928           placeholder in the template string, so the second call
929           to g_mkstemp() after creating the missing directory
930           would then error out with 'invalid argument').
931
932 2006-06-13  Edward Hervey  <edward@fluendo.com>
933
934         * gst/gst.c: (init_post):
935         Free string.
936
937 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
938
939         * gst/glib-compat-private.h:
940         * gst/glib-compat.c:
941         * gst/glib-compat.h:
942         * gst/gstvalue.c: (gst_value_serialize_flags):
943           remove GLib 2.6 compatibility code
944
945 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
946
947         * gst/parse/Makefile.am:
948           Fix build with 'make -j N' even more (#340016).
949
950 2006-06-12  Wim Taymans  <wim@fluendo.com>
951
952         * docs/gst/gstreamer-sections.txt:
953         Fix docs.
954
955 2006-06-12  Wim Taymans  <wim@fluendo.com>
956
957         * gst/gstsegment.c: (gst_segment_set_duration),
958         (gst_segment_set_last_stop), (gst_segment_set_seek),
959         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
960         (gst_segment_to_running_time), (gst_segment_clip):
961         Use G_UNLIKELY to help the compiler a bit.
962
963 2006-06-12  Wim Taymans  <wim@fluendo.com>
964
965         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
966
967         * gst/gstevent.c: (gst_event_get_type):
968         * gst/gstmessage.c:
969         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
970         (gst_pad_push):
971         constify quark registration strings. Fixes #344115
972         Avoid unneeded type checking is _pad_push() by internally
973         calling gst_pad_chain_unchecked().
974
975 2006-06-12  Wim Taymans  <wim@fluendo.com>
976
977         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
978         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
979         (gst_subbuffer_finalize), (gst_buffer_create_sub),
980         (gst_buffer_is_span_fast), (gst_buffer_span):
981         Init _type for consistency.
982         Use _FLAGS macro to avoid type check.
983         Avoid unneeded type checks in subbufer code.
984
985 2006-06-12  Wim Taymans  <wim@fluendo.com>
986
987         * gst/gst.c: (gst_debug_help):
988         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
989         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
990         (gst_plugin_feature_list_free):
991         * gst/gstregistry.c: (gst_registry_add_plugin),
992         (gst_registry_add_feature), (gst_registry_plugin_filter),
993         (gst_registry_feature_filter), (gst_registry_find_plugin),
994         (gst_registry_find_feature), (gst_registry_get_plugin_list),
995         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
996         * gst/gstregistryxml.c: (load_feature),
997         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
998         * gst/gstminiobject.c: (gst_mini_object_unref),
999         (gst_mini_object_replace), (gst_value_mini_object_free),
1000         (gst_value_mini_object_copy):
1001         Use _CAST macros to avoid unneeded type checking.
1002         Added some more G_UNLIKELY.
1003
1004 2006-06-12  Wim Taymans  <wim@fluendo.com>
1005
1006         * gst/gstbuffer.h:
1007         Avoid unneeded type checking.
1008         API: GST_BUFFER_IS_DISCONT
1009
1010         * gst/gstminiobject.h:
1011         Avoid type check in flag accessor.
1012
1013         * gst/gstelementfactory.h:
1014         * gst/gstplugin.h:
1015         * gst/gstpluginfeature.h:
1016         Add _CAST macros.
1017         API: GST_ELEMENT_FACTORY_CAST
1018         API: GST_PLUGIN_CAST
1019         API: GST_PLUGIN_FEATURE_CAST
1020
1021 2006-06-12  Wim Taymans  <wim@fluendo.com>
1022
1023         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1024         (gst_object_unref):
1025         Add G_UNLIKELY in type registration.
1026         Avoid type check in _ref/_unref since that is also
1027         done in glib.
1028
1029 2006-06-12  Wim Taymans  <wim@fluendo.com>
1030
1031         * gst/gsterror.c: (gst_g_error_get_type):
1032         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1033         (gst_static_pad_template_get_type):
1034         * gst/gsttaglist.c: (gst_tag_list_get_type):
1035         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1036         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1037         * gst/gsturi.c: (gst_uri_handler_get_type):
1038         * gst/gstvalue.c: (gst_date_get_type):
1039         * gst/gstxml.c: (gst_xml_get_type):
1040         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1041         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1042         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1043         Add G_UNLIKELY in type registration.
1044
1045 2006-06-12  Wim Taymans  <wim@fluendo.com>
1046
1047         * tools/gst-inspect.c: (print_signal_info):
1048         Properly print enum values.
1049
1050 2006-06-12  Wim Taymans  <wim@fluendo.com>
1051
1052         * gst/gstinfo.c: (gst_debug_set_active),
1053         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1054         * gst/gstinfo.h:
1055         Add some G_[UN]LIKELY.
1056         Maintain __gst_debug_min to avoid formatting the arguments of
1057         debug messages that will be dropped anyway to avoid a lot of 
1058         overhead from the debugging system.
1059
1060 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1061
1062         * po/POTFILES.in:
1063         * po/POTFILES.skip:
1064           add missing files containing translatable strings, tell intltool about
1065           one exception
1066
1067 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1068
1069         * tests/check/libs/.cvsignore:
1070         add test-binary to ignore list
1071
1072 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1073
1074         * docs/libs/gstreamer-libs-docs.sgml:
1075         reorder (put dp into a chapter) and indent
1076
1077 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         * configure.ac:
1080           back to HEAD
1081
1082 === release 0.10.8 ===
1083
1084 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1085
1086         * configure.ac:
1087           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1088
1089 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * gst/gst.c: (init_post):
1092           move pid declaration to declaration block
1093
1094 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * gst/gst.c: (init_post):
1097           use _exit() instead of exit() in our forked child; this ensures
1098           that none of the registered exit handlers from whatever is using
1099           GStreamer get executed.  This fixes gnome-mixer-applet failing
1100           to load, because ORBit would shut down.
1101           Spotted by: Edward Hervey  <edward@fluendo.com>
1102           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1103           Fixes #344474
1104
1105 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * configure.ac:
1108           back to TRUNK
1109
1110 === release 0.10.7 ===
1111
1112 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1113
1114         * configure.ac:
1115           releasing 0.10.7, "Soepeke, ik zie ou"
1116
1117 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1118
1119         * configure.ac:
1120         * po/af.po:
1121         * po/az.po:
1122         * po/bg.po:
1123         * po/ca.po:
1124         * po/cs.po:
1125         * po/de.po:
1126         * po/en_GB.po:
1127         * po/fr.po:
1128         * po/it.po:
1129         * po/nb.po:
1130         * po/nl.po:
1131         * po/ru.po:
1132         * po/sq.po:
1133         * po/sr.po:
1134         * po/sv.po:
1135         * po/tr.po:
1136         * po/uk.po:
1137         * po/vi.po:
1138         * po/zh_CN.po:
1139         * po/zh_TW.po:
1140         * win32/common/config.h:
1141           0.10.6.2 prerelease
1142
1143 2006-06-07  Wim Taymans  <wim@fluendo.com>
1144
1145         * gst/gstindex.c: (gst_index_gtype_resolver):
1146         * tools/gst-xmlinspect.c: (print_plugin_info):
1147         Fix leak spotted by coverity checker. Fixes #343827
1148         Fix another other leak found by paolo borelli.
1149
1150 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1151
1152         * libs/gst/dataprotocol/dataprotocol.c:
1153         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1154         (gst_dp_version_get_type), (gst_dp_init),
1155         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1156         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1157         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1158         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1159         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1160         (gst_dp_packetizer_free):
1161         * libs/gst/dataprotocol/dataprotocol.h:
1162           API: add a GstDPPacketizer object, and create/free functions
1163           API: add GstDPVersion enum
1164           Add 1.0 event function that uses the string serialization
1165           Serialize more useful buffer flags
1166           Fixes #343988
1167
1168 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * tests/check/Makefile.am:
1171         * tests/check/gst/gstabi.c:
1172         * tests/check/gst/struct_ppc64.h:
1173         * tests/check/libs/libsabi.c:
1174         * tests/check/libs/struct_ppc64.h:
1175           add ppc64 structure sizes
1176
1177 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * tests/check/Makefile.am:
1180         * tests/check/gst/gstabi.c:
1181         * tests/check/gst/struct_x86_64.h:
1182         * tests/check/libs/libsabi.c:
1183         * tests/check/libs/struct_x86_64.h:
1184           generate and add structure size lists for x86_64
1185
1186 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1187
1188         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1189         * libs/gst/check/gstcheck.h:
1190           factor out the method from tests that checks size of structures,
1191           and add code to generate the header containing these sizes
1192         * tests/check/gst/gstabi.c: (GST_START_TEST):
1193         * tests/check/gst/struct_i386.h:
1194         * tests/check/libs/libsabi.c: (GST_START_TEST):
1195         * tests/check/libs/struct_i386.h:
1196           use it
1197
1198 2006-06-06  Michael Smith  <msmith@fluendo.com>
1199
1200         * gst/gstsegment.h:
1201           Don't use c++-style comments, fixes #343929
1202
1203 2006-06-05  Edward Hervey  <edward@fluendo.com>
1204
1205         * gst/gst.c:
1206         plugin_paths is not used if we build without registry support.
1207
1208         * gst/gstsegment.c: (gst_segment_copy): 
1209         _copy() was always returning NULL...
1210
1211 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1212
1213         * libs/gst/dataprotocol/dataprotocol.c:
1214         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1215         (gst_dp_packet_from_event):
1216           factor out CRC code
1217
1218 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1219
1220         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1221           make sure we unset caps
1222
1223 2006-06-02  Michael Smith  <msmith@fluendo.com>
1224
1225         * libs/gst/check/gstcheck.c: (gst_check_init),
1226         (gst_check_chain_func):
1227         * libs/gst/check/gstcheck.h:
1228           Add a cond/mutex to the check support lib, signal this whenever we
1229           add to the buffers list. This will allow tests to not busy-wait on
1230           the buffer-list.
1231
1232 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1233
1234         * libs/gst/dataprotocol/dataprotocol.c:
1235         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1236         (gst_dp_packet_from_event):
1237           factor out some common header init code
1238
1239 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * docs/libs/gstreamer-libs-sections.txt:
1242         * docs/libs/tmpl/gstdataprotocol.sgml:
1243         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1244         * libs/gst/dataprotocol/dataprotocol.h:
1245           API: make gst_dp_crc() public
1246
1247 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1248
1249         * plugins/indexers/gstindexers.c: (plugin_init):
1250         conditionally register fileindexer (fixes #343598)
1251
1252 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1253
1254         * gst/gsttagsetter.h:
1255         Can't cast ifaces to a class
1256
1257         * libs/gst/net/gstnetclientclock.h:
1258         * libs/gst/net/gstnettimeprovider.h:
1259         * plugins/elements/gstfakesink.h:
1260         * plugins/elements/gstfakesrc.h:
1261         * plugins/elements/gstfdsink.h:
1262         * plugins/elements/gstfdsrc.h:
1263         * plugins/elements/gstfilesink.h:
1264         * plugins/elements/gstfilesrc.h:
1265         * plugins/elements/gstidentity.h:
1266         * plugins/elements/gstqueue.h:
1267         * plugins/elements/gsttee.h:
1268         * plugins/indexers/gstfileindex.c:
1269         * plugins/indexers/gstmemindex.c:
1270         * tests/old/examples/plugins/example.h:
1271         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1272
1273 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1274
1275         * libs/gst/dataprotocol/dataprotocol.c:
1276         (gst_dp_header_from_buffer):
1277           make sure we zero the whole ABI-compatible area
1278
1279 2006-06-01  Wim Taymans  <wim@fluendo.com>
1280
1281         Patch by: Alessandro Decina <alessandro at nnva dot org>
1282
1283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1284         Make sure the EOS flag is cleared from pads after a flush
1285         or stop. Fixes #343538.
1286
1287         * tests/check/libs/collectpads.c: (GST_START_TEST),
1288         (gst_collect_pads_suite):
1289         Added test for collectpads reusage after EOS.
1290
1291 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1292
1293         * gst/gst.c:
1294          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1295         * win32/common/libgstbase.def:
1296          export gst_collect_pads_set_flushing
1297         * win32/common/libgstreamer.def:
1298          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1299          gst_value_fraction_multiply
1300         * win32/vs6/gst_inspect.dsp:
1301          add a link to intl.lib
1302
1303 2006-05-30  Wim Taymans  <wim@fluendo.com>
1304
1305         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1306         (gst_collect_pads_chain):
1307         Handle the case where a pad is removed from the collection
1308         that could cause the other pads to become collectable.
1309
1310 2006-05-30  Wim Taymans  <wim@fluendo.com>
1311
1312         * gst/gstelement.c:
1313         Clarify the use of _release_request_pad() and
1314         _get_request_pad() a bit better.
1315
1316         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1317         (gst_adapter_take_buffer):
1318         Fix some doc and comment typos.
1319
1320 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1321
1322         * docs/gst/gstreamer-sections.txt:
1323         * docs/libs/gstreamer-libs-sections.txt:
1324           add declared symbols
1325
1326 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1327
1328         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1329         Add debug that can be enabled using a #define at the top of the file,
1330         for dumping stats about how late/early we were when waking up from
1331         waiting on the clock.
1332
1333 2006-05-30  Wim Taymans  <wim@fluendo.com>
1334
1335         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1336         When rebuilding the pad list, don't leak the previous list.
1337
1338 2006-05-30  Wim Taymans  <wim@fluendo.com>
1339
1340         Patch by: Lutz Mueller <lutz at topfrose dot de>
1341
1342         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1343         (gst_base_src_get_query_types), (gst_base_src_update_length):
1344         Publish supported query types.
1345         Update last_stop field in get_range mode so the position
1346         query works. Fixes #342321.
1347
1348 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1349
1350         * docs/gst/gstreamer-sections.txt:
1351         * gst/gsttaglist.c: (_gst_tag_initialize):
1352         * gst/gsttaglist.h:
1353           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1354
1355 2006-05-30  Wim Taymans  <wim@fluendo.com>
1356
1357         Patch by: Alessandro Decina <alessandro at nnva dot org>
1358
1359         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1360         Unlock mutex when removing an unknown pad.
1361         Fixes #343334.
1362
1363         * tests/check/Makefile.am:
1364         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1365         (push_event), (setup), (teardown), (GST_START_TEST),
1366         (gst_collect_pads_suite), (main):
1367         Added collecpads check, disabled for now as check crashes for
1368         some reason.
1369
1370 2006-05-29  Wim Taymans  <wim@fluendo.com>
1371
1372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1373         Don't leak pads lists.
1374
1375 2006-05-29  Wim Taymans  <wim@fluendo.com>
1376
1377         * docs/libs/gstreamer-libs-sections.txt:
1378         * libs/gst/base/gstcollectpads.c:
1379         (gst_collect_pads_set_flushing_unlocked),
1380         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1381         (gst_collect_pads_stop):
1382         * libs/gst/base/gstcollectpads.h:
1383         API: gst_collect_pads_set_flushing()
1384         Added api to set the pads to flushing, useful for seeking
1385         code in elements using collectpads.
1386         Clear segment when receiving a flush.
1387
1388 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1389
1390         * gst/gst.c: (add_path_func), (init_post):
1391           Don't scan registry paths passed via --gst-plugin-path immediately
1392           (will crash, because absolutely nothing is set up and no types are
1393           registered etc.); do this later in init_post(). Fixes #343057.
1394
1395 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1396
1397         * gst/gst.c: (init_post):
1398           if we have fork, fork while reading/rebuilding the registry
1399           so the parent doesn't take the hit of having all plugins loaded
1400           in memory.  Fixes #342777.
1401         * configure.ac:
1402           Check if we have fork()
1403         * win32/common/config.h.in:
1404           no fork() on win32
1405
1406 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1407
1408         * plugins/elements/gstelements.c:
1409         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1410         (gst_file_src_init), (gst_file_src_set_property),
1411         (gst_file_src_get_property), (gst_file_src_start):
1412         * plugins/elements/gstfilesrc.h:
1413           API: GstFileSrc::use-mmap
1414
1415         Add a use-mmap property to enable easier testing of all code paths.
1416         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1417         in the absence of gnomevfssrc. (Closes #340501)
1418
1419 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1420
1421         * tools/gst-inspect.c:
1422         Add missing include, removes warning of ngettext not being defined on
1423         some arches.
1424
1425 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1426
1427         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1428         Handle NULL input and output pointers silently as a failed conversion,
1429         rather than g_warnings.
1430
1431 2006-05-25  Wim Taymans  <wim@fluendo.com>
1432
1433         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1434         Initialize variable before using. Fixes #342820.
1435
1436 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1437
1438         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1439           Fix off-by-one bug that would only allow peeks of N-1 bytes
1440           from the start even if the buffer to typefind on contains
1441           in fact N bytes of data (makes vorbis typefinding from a
1442           vorbis identification header buffer work).
1443
1444         * tests/check/Makefile.am:
1445         * tests/check/libs/.cvsignore:
1446         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1447         (gst_typefindhelper_suite), (main), (foobar_typefind),
1448         (plugin_init):
1449           Add very basic unit test for gst_type_find_helper_for_buffer()
1450           that checks for the problem fixed above.
1451
1452 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1453
1454         * tools/gst-inspect.c: (print_interfaces),
1455         (print_element_properties_info), (print_element_list), (main):
1456           add more translatable strings
1457
1458 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1459
1460         Patch by: Julien Moutte  <julien at moutte net>
1461
1462         * docs/gst/gstreamer-sections.txt:
1463           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1464           
1465         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1466         (gst_fake_sink_preroll):
1467         * plugins/elements/gstfakesink.h:
1468           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1469
1470 2006-05-23  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1473         * gst/gstpad.h:
1474         Added _CUSTOM error and success GstFlowReturn that can be
1475         used be elements internally. 
1476         Added macro to check for SUCCESS flowreturns.
1477         API: GST_FLOW_CUSTOM_SUCCESS
1478         API: GST_FLOW_CUSTOM_ERROR
1479         API: GST_FLOW_IS_SUCCESS
1480
1481         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1482         Added check for GstFlowReturn sanity.
1483
1484 2006-05-23  Wim Taymans  <wim@fluendo.com>
1485
1486         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1487
1488         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1489         (gst_collect_pads_event):
1490         clear/reset segment info in FLUSH_STOP.
1491         Fixes #336929.
1492
1493 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1494
1495         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1496         (gst_collect_pads_check_collected):
1497         Flush queued buffer on _stop(), fixes playing again (#342454)
1498
1499 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1500
1501         * tests/check/gst/gststructure.c: (GST_START_TEST),
1502         (gst_structure_suite):
1503           add a test for a complete structure
1504
1505 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1506
1507         * docs/faq/developing.xml:
1508         * docs/faq/faq.xml:
1509         * docs/faq/troubleshooting.xml:
1510         * docs/faq/using.xml:
1511           Some minor FAQ updates that won't change the fact that
1512           our FAQ is badly structured, full of information hardly
1513           anyone new to GStreamer needs to know and lacking lots
1514           of information people constantly ask for.
1515           
1516 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1517
1518         * gst/gstpad.c: (gst_pad_set_caps):
1519           Short-circuit gst_pad_set_caps if setting the existing
1520           caps pointer again, and avoid printing debug and 
1521           reffing/unreffing the caps.
1522
1523         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1524           There's actually no need to set the caps before pushing -
1525           the acceptcaps method will handle it anyway.
1526
1527 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * docs/gst/gstreamer-sections.txt:
1530         * win32/common/libgstreamer.def:
1531         * gst/gstutils.c: (gst_element_seek_simple):
1532         * gst/gstutils.h:
1533           API: add gst_element_seek_simple() (#342238).
1534
1535 2006-05-18  Edward Hervey  <edward@fluendo.com>
1536
1537         * gst/gsttypefind.c: (gst_type_find_get_type):
1538         * gst/gsttypefind.h:
1539         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1540         registered for GstTypeFind pointers. This allows wrapping the structure
1541         in bindings (i.e. gst-python).
1542
1543 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1544
1545         * gst/gsttagsetter.c:
1546           Docs additions and fixes (see #339918).
1547
1548 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1549
1550         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1551         The caps intersection algorithm can produce multiple copies of the
1552         caps. Until that is fixed, we need to simplify the result to be
1553         sure whether the allowed caps are fixed or not.
1554
1555         * plugins/elements/gstqueue.c: (gst_queue_init),
1556         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1557         (gst_queue_push_one):
1558         Proxied buffer alloc should not set the caps on the source pad.
1559         When pushing buffers, we always accept the caps change that triggers.
1560         This prevents negotiation errors caused by caps changing mid-stream 
1561         and then being refused on our source pad (because upstream is now
1562         refusing those caps).
1563
1564 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * tests/examples/helloworld/helloworld.c: (main):
1567           Must plug audioconvert and audioresample between decoder
1568           and audio sink.
1569
1570 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1571
1572         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1573         (load_feature), (load_plugin):
1574         Allow empty strings for some of the plugin fields so we don't 
1575         drop valid plugin entries that were written out correctly
1576         (Fixes #341479)
1577
1578 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1579         
1580         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1581           Use g_remove and g_rename instead of remove and rename that don't 
1582           handle utf8 characters. rename was failing for users who had specific
1583           characters in their name then the registry was built at each 
1584           gstreamer init.
1585         * win32/vs6/gst_inspect.dsp:
1586         * win32/vs6/gst_launch.dsp:
1587         * win32/vs6/libgstbase.dsp:
1588         * win32/vs6/libgstcoreelements.dsp:
1589         * win32/vs6/libgstreamer.dsp:
1590           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1591           build of libgstreamer and clean unused libraries in projects link 
1592           settings.
1593
1594 2006-05-17  Edward Hervey  <edward@fluendo.com>
1595
1596         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1597         The queue is not responsible for pushing an EOS when receiving a fatal
1598         flow error. It's up to the real element driving the pipeline to do that.
1599
1600 2006-05-16  Edward Hervey  <edward@fluendo.com>
1601
1602         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1603         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1604         buffer returned a fatal error. It should just send an EOS and stop
1605         its task.
1606         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1607         when pushing buffers on the queue and will be able to handle the event.
1608
1609 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1610
1611         * docs/manual/basics-bins.xml:
1612         * docs/manual/basics-init.xml:
1613           Fix typos and minor errors in sample code (#341856).
1614
1615 2006-05-16  Wim Taymans  <wim@fluendo.com>
1616
1617         * docs/design/part-qos.txt:
1618         Fix indexes in formulas to make more sense.
1619
1620 2006-05-15  Wim Taymans  <wim@fluendo.com>
1621
1622         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1623         Don't report POSITION based on clock time if sync is
1624         disabled in a sink.
1625
1626 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * gst/gstobject.h:
1629           Add cast to make compiler happy - refcount variable was a gint
1630           in GstObject but is a guint in GObject and g_atomic_int_get()
1631           wants a gint *.
1632
1633 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1634
1635         * gst/parse/Makefile.am:
1636           chain commands using &&, which also makes parallel make work
1637
1638 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1639
1640         * docs/gst/gstreamer-sections.txt:
1641         * gst/gstevent.c:
1642         * gst/gstevent.h:
1643         * gst/gstmessage.h:
1644           Minor docs fixes.
1645
1646 === release 0.10.6 ===
1647
1648 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1649
1650         * configure.ac:
1651           releasing 0.10.6, "Take the cannoli"
1652
1653 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1654
1655         * tools/gst-launch.c: (print_tag):
1656           Fix use of uninitialized variable in the hypothetical
1657           case that some broken plugin creates a GST_TAG_IMAGE
1658           tag containing a NULL buffer (#341667).
1659
1660 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1661
1662         * tools/gst-launch.c: (print_tag):
1663           Print something more intelligible for image tags when
1664           using the -t switch (#341556).
1665
1666 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1667
1668         * Makefile.am:
1669           updates for win32
1670         * configure.ac:
1671           define GST_MAJORMINOR so we have it available in win32/common/config.h
1672           Possibly remove it from our Makefile.am files later
1673         * win32/common/config.h:
1674         * win32/common/config.h.in:
1675           added GST_MAJORMINOR
1676         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1677         * win32/common/gstversion.h:
1678           updated
1679
1680 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1681
1682         * win32/MANIFEST:
1683           Update win32 files listing.
1684         * win32/common/gstversion.h:
1685           Add GST_MAJORMINOR definition.
1686         * win32/common/libgstreamer.def:
1687           Add new exported functions.
1688           
1689 2006-05-12  Michael Smith  <msmith@fluendo.com>
1690
1691         * gst/gstplugin.c: (gst_plugin_load_file):
1692           If an so file has no plugin entry point, unload the module.
1693
1694 2006-05-11  Wim Taymans  <wim@fluendo.com>
1695
1696         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1697         (gst_queue_set_property):
1698         Don't forget to signal the _chain or _loop function 
1699         when the queue size or thresholds change since that might
1700         cause them to make progres again.
1701
1702 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * gst/gstclock.c: (gst_clock_class_init):
1705         * gst/gstindex.c: (gst_index_class_init):
1706         * gst/gstobject.c: (gst_object_class_init):
1707         * gst/gstpad.c: (gst_pad_class_init):
1708         * gst/gstpipeline.c: (gst_pipeline_class_init):
1709         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1710         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1711         * libs/gst/base/gstbasetransform.c:
1712         (gst_base_transform_class_init):
1713         * libs/gst/net/gstnetclientclock.c:
1714         (gst_net_client_clock_class_init):
1715         * libs/gst/net/gstnettimeprovider.c:
1716         (gst_net_time_provider_class_init):
1717         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1718         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1719         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1720         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1721         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1722         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1723         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1724         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1725         * plugins/elements/gsttee.c: (gst_tee_class_init):
1726         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1727         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1728           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1729
1730 2006-05-11  Wim Taymans  <wim@fluendo.com>
1731
1732         * gst/gstbuffer.c: (_gst_buffer_initialize):
1733         Register subbufer along with the buffer type so that
1734         it does not accidentally gets registered from N
1735         different streaming threads in a non threadsafe way.
1736
1737 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1738
1739         * gst/gstbuffer.h:
1740         * gst/gstevent.h:
1741         * gst/gstmessage.h:
1742           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1743           gst_event_ref() and gst_message_ref() functions again
1744           (ugly hack, please do fix if there's a better way besides
1745           overrides.txt, which doesn't seem to work).
1746
1747 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1748
1749         * libs/gst/check/gstcheck.h:
1750           add an assert for setting state to avoid lots of repetitive code
1751           in the future
1752
1753 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1754
1755         * gst/gstvalue.c: (gst_value_serialize_flags):
1756           fix a leak if no flags are set
1757         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1758           fix leak in tests
1759
1760 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1761
1762         * docs/manual/basics-pads.xml:
1763           Expand a bit on caps and filtered links and update
1764           examples that were still using the no longer existing
1765           gst_pad_link_filtered() (#338206).
1766
1767 2006-05-10  Wim Taymans  <wim@fluendo.com>
1768
1769         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1770         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1771         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1772         (gst_collect_pads_stop):
1773         * libs/gst/base/gstcollectpads.h:
1774         No need to call _stop in _finalize.
1775         Iterate the main pad list in _finalize.
1776         Added some more debug.
1777         Free lists and data in the right order.
1778         Also free data whem doing _remove_pad when stopped for
1779         backward compatibility protect ::started with PAD_LOCK as
1780         well.
1781
1782 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1783
1784         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1785         (gst_structure_parse_value):
1786           add some comments
1787           rename a method so that it actually says what it does better
1788
1789 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1790
1791         * gst/gstevent.c: (_gst_event_initialize):
1792         * gst/gstformat.c: (_gst_format_initialize):
1793           make sure some essential types used by events are registered
1794           as part of gst_init()
1795         * gst/gstvalue.c: (gst_value_serialize_flags):
1796           if no flags are set, serialize them to a value that represents NONE
1797           so that deserializing them works
1798         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1799           add tests for serialization and deserialization of flags
1800
1801 2006-05-10  Wim Taymans  <wim@fluendo.com>
1802
1803         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1804         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1805         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1806         (gst_collect_pads_event), (gst_collect_pads_chain):
1807         Update docs.
1808         Better debug info.
1809         Catch and return errors from the collect function
1810         Refuse data on eos pads.
1811
1812 2006-05-10  Edward Hervey  <edward@fluendo.com>
1813
1814         * gst/gstinterface.h:
1815         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1816         GInterface type checking.
1817         They were previously using non-defined macros.
1818
1819 2006-05-09  Wim Taymans  <wim@fluendo.com>
1820
1821         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1822         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1823         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1824         (gst_collect_pads_start), (gst_collect_pads_stop),
1825         (gst_collect_pads_peek), (gst_collect_pads_pop),
1826         (gst_collect_pads_available), (gst_collect_pads_read),
1827         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1828         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1829         (gst_collect_pads_chain):
1830         * libs/gst/base/gstcollectpads.h:
1831         Clean up the mess that is collectpads, add comments and
1832         FIXMEs where needed.
1833         Maintain a separate pad list so we can add pads while
1834         collecting the other ones. For this we need a new separate 
1835         lock (see comics).
1836         Fix memory leak in finalize.
1837         Refactor some weird code to set/unset pad flushing flags, mark
1838         with comments.
1839         Don't crash in _available, _read, _flush when we're EOS.
1840
1841         * tests/check/libs/.cvsignore:
1842         Ignore adapter check binary.
1843
1844 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1845
1846         * gst/gstindex.c: (gst_index_resolver_get_type):
1847         * plugins/elements/gstfakesink.c:
1848         (gst_fake_sink_state_error_get_type):
1849         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1850         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1851         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1852           Const-ify GEnumValue arrays.
1853
1854 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1855
1856         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1857           Add test case for flags + gst_buffer_make_metadata_writable().
1858
1859 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1860
1861         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1862           gst_buffer_make_metadata_writable() should maintain the
1863           buffer flags (those that make sense at least) (see #340859).
1864
1865 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1866
1867         * tools/gst-inspect.c:
1868         * tools/gst-launch.c:
1869         * tools/gst-typefind.c:
1870         * tools/gst-xmlinspect.c:
1871         * tools/tools.h:
1872           Fix up includes: need to include stdlib.h in tools.h for exit().
1873
1874 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1875
1876         * gst/gsttaglist.c: (_gst_tag_initialize):
1877         * gst/gsttaglist.h:
1878           API: add GST_TAG_IMAGE tag (#340721).
1879
1880 2006-05-08  Wim Taymans  <wim@fluendo.com>
1881
1882         * gst/gstquery.c:
1883         Added some docs for the segment query.
1884
1885 2006-05-08  Wim Taymans  <wim@fluendo.com>
1886
1887         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1888         (gst_base_src_loop), (gst_base_src_change_state):
1889         Always push non-flushing serialized events in the streaming 
1890         thread.
1891
1892 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1893
1894         * gst/gsterror.c: (_gst_stream_errors_init):
1895           Add a missing error string.
1896
1897 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1898
1899         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1900         Add applied_rate to the debug
1901
1902         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1903         Copy applied_rate into the outgoing NEWSEGMENT event
1904
1905 2006-05-08  Wim Taymans  <wim@fluendo.com>
1906
1907         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1908
1909         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1910         (gst_base_sink_change_state):
1911         call ::unlock before taking the PREROLL_LOCK so we can safely
1912         handle elements that lock in ::render.
1913         Fixes #340174.
1914
1915 2006-05-08  Edward Hervey  <edward@fluendo.com>
1916
1917         * autogen.sh: (CONFIGURE_DEF_OPT): 
1918         Darwin's libtoolize is in fact called glibtoolize.
1919         Adding glibtoolize to the list of accepted names for libtoolize.
1920
1921 2006-05-08  Wim Taymans  <wim@fluendo.com>
1922
1923         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1924         Unify error handling, don't post an error message
1925         when a push() returns EOS but perform our normal EOS
1926         handling code. Fixes #340772.
1927
1928 2006-05-08  Wim Taymans  <wim@fluendo.com>
1929
1930         * docs/design/part-overview.txt:
1931         Make upsteam/downstream concepts more clear.
1932         Give an example of serialized/non-serialized events.
1933
1934         * docs/design/part-events.txt:
1935         * docs/design/part-streams.txt:
1936         Mention applied_rate.
1937
1938         * docs/design/part-trickmodes.txt:
1939         Mention applied rate, flesh out some more use cases.
1940
1941         * gst/gstevent.c: (gst_event_new_new_segment),
1942         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1943         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1944         (gst_event_parse_tag), (gst_event_new_buffer_size),
1945         (gst_event_parse_buffer_size), (gst_event_new_qos),
1946         (gst_event_parse_qos), (gst_event_parse_seek),
1947         (gst_event_new_navigation):
1948         * gst/gstevent.h:
1949         Add applied_rate field to NEWSEGMENT event.
1950         API: gst_event_new_new_segment_full()
1951         API: gst_event_parse_new_segment_full()
1952
1953         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1954         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1955         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1956         * gst/gstsegment.h:
1957         Add applied_rate to GstSegment structure.
1958         Make calculation of stream_time and running_time more correct
1959         wrt rate/applied_rate.
1960         Add some more docs.
1961         API: GstSegment::applied_rate field
1962         API: gst_segment_set_newsegment_full();
1963
1964         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1965         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1966         * libs/gst/base/gstbasetransform.c:
1967         (gst_base_transform_sink_eventfunc),
1968         (gst_base_transform_handle_buffer):
1969         Parse and use applied_rate in the GstSegment field.
1970
1971         * tests/check/gst/gstevent.c: (GST_START_TEST):
1972         Add check for applied_rate field.
1973
1974         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1975         (gstsegments_suite):
1976         Add more checks for various GstSegment operations.
1977
1978 2006-05-08  Wim Taymans  <wim@fluendo.com>
1979
1980         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1981         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1982         (gst_base_sink_get_position), (gst_base_sink_change_state):
1983         Store the sync time of the buffer end position separatly in a
1984         new variable eos_rtime so we can properly sync the EOS event.
1985         Fixes #340697.
1986         Fix the docs for gst_base_sink_set_qos_enabled().
1987         Don't set segment start to invalid value when we receive a 
1988         non TIME newsegment.
1989         get closer to handling position reporting for negative rates 
1990         correctly.
1991
1992 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1993
1994         * gst/gstcaps.c:
1995         Docs about how to print caps for debug purposes.
1996
1997         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1998         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1999
2000 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2001
2002         * gst/gstelement.c:
2003           use full enum names and preprend a '%' in docs strings to make recent 
2004           gtk-doc turn that into a link
2005
2006 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * docs/manual/basics-bins.xml:
2009         * docs/manual/basics-bus.xml:
2010         * docs/manual/basics-pads.xml:
2011           Some typo fixes, some additions, some clarifications. 
2012
2013 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2014
2015         * tools/gst-inspect.c: (main):
2016         * tools/gst-launch.c: (main):
2017         * tools/gst-run.c: (main):
2018         * tools/gst-typefind.c: (main):
2019         * tools/gst-xmlinspect.c: (main):
2020           Use the string passed to g_option_context_new() for
2021           what it's intended for - the program name is already
2022           printed elsewhere.
2023
2024 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2025
2026         * tools/Makefile.am:
2027         * tools/gst-inspect.c: (main):
2028         * tools/gst-launch.c: (main):
2029         * tools/gst-xmlinspect.c: (main):
2030         * tools/tools.h:
2031           Add back --version command line option (#340460).
2032
2033         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2034           Add --version option and use GOption for argument parsing; refactor a
2035           bit; accept directories as arguments and recurse into them; lastly,
2036           print a decent error message when things go wrong.
2037
2038 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2039
2040         * docs/manual/basics-bins.xml:
2041         Don't mention GstThread (#340611)
2042         * docs/manual/basics-elements.xml:
2043         Update link to GObject tutorial (#340607)
2044         
2045 2006-05-05  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/gstbuffer.h:
2048         * gst/gstminiobject.c:
2049         Add note about refcounting and miniobject/buffer writeability
2050         to docs. Fixes #340604
2051
2052         * gst/gstelementfactory.h:
2053         Added some explanation about @klass.
2054
2055 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2056
2057         * docs/manual/intro-motivation.xml:
2058         * docs/manual/manual.xml:
2059         Avoid CORBA & Bonobo references (#340598)
2060
2061 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2062
2063         * docs/manual/basics-bus.xml:
2064         * docs/manual/basics-pads.xml:
2065         Fix up some inaccuracies and omissions (#340609)
2066         
2067 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2068
2069         * gst/gstghostpad.c:
2070           Small typo in docs (#340625)
2071
2072 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2073
2074         * gst/parse/Makefile.am:
2075           Make 'make -j' proof (see #340698).
2076
2077 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2078
2079         * configure.ac:
2080           Require GLib-2.8 here as well.
2081
2082 2006-05-05  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/glib-compat.c:
2085         * gst/gst.c: (init_pre):
2086         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2087         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2088         (gst_object_dispatch_properties_changed):
2089         * gst/gstobject.h:
2090         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2091         * gst/gststructure.c: (gst_structure_set_valist):
2092         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2093         Remove pre glib2.8 compatibility, fixes #340508
2094
2095 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2096
2097         * gst/gsttaglist.h:
2098           Mention type of tags in doc blurbs.
2099
2100 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2101
2102         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2103         (gst_pad_configure_src), (gst_pad_push):
2104         Restore acceptcaps checking behaviour now that good plugins have
2105         been released.
2106
2107 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2108
2109         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2110
2111         * gst/gst.c:
2112         * gst/gstbus.c:
2113         * gst/gstclock.c:
2114         * gst/gstevent.c:
2115         * gst/gstformat.c:
2116         * gst/gstmessage.c:
2117         * gst/gstparse.c:
2118         * gst/gstquery.c:
2119         * gst/gstutils.c:
2120         * gst/parse/Makefile.am:
2121         * libs/gst/base/gstadapter.c:
2122         * libs/gst/base/gstbasesrc.c:
2123         * libs/gst/base/gstpushsrc.c:
2124         * libs/gst/base/gsttypefindhelper.c:
2125         * plugins/elements/gstfakesrc.c:
2126         * plugins/elements/gstidentity.c:
2127           Make sure gstprivate.h and/or config.h are
2128           always included first, otherwise some of our
2129           defines (like _FILE_OFFSET_BITS) might be
2130           redefined in the system headers. Fixes build
2131           on opensolaris (#340016).
2132
2133 2006-05-04  Wim Taymans  <wim@fluendo.com>
2134
2135         * docs/libs/gstreamer-libs-sections.txt:
2136         API: addition: gst_adapter_take_buffer()
2137         
2138         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2139         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2140         (gst_adapter_available_fast):
2141         * libs/gst/base/gstadapter.h:
2142         Prepare for optimizing the hell out of this hugely inefficient
2143         piece of code. 
2144         Added gst_adapter_take_buffer() so we can at least start thinking
2145         about subbuffering and merging.
2146         Added some comments.
2147
2148         * tests/check/Makefile.am:
2149         * tests/check/libs/adapter.c: (GST_START_TEST),
2150         (gst_adapter_suite), (main):
2151         Added GstAdapter check.
2152
2153 2006-05-04  Wim Taymans  <wim@fluendo.com>
2154
2155         * docs/design/part-overview.txt:
2156         Fix some typos, add blurb about buffer flags.
2157
2158 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2159
2160         * docs/libs/gstreamer-libs-sections.txt:
2161           make sure GstBaseTransformClass shows up in the docs
2162         * libs/gst/base/gstbasetransform.c:
2163         * libs/gst/base/gstbasetransform.h:
2164           move docs so gtk-doc picks it up now
2165
2166 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2167
2168         * docs/libs/gstreamer-libs-sections.txt:
2169           add missing symbols to docs
2170
2171 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2174           back out the newsegment handling change, see #340060 for ongoing
2175           discussion
2176
2177 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2178
2179         * tools/gst-run.c: (get_candidates), (main):
2180           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2181           work); fix typo in error message. Fixes #340079.
2182
2183 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * common/Makefile.am:
2186         * docs/Makefile.am:
2187         * docs/faq/Makefile.am:
2188         * docs/gst/Makefile.am:
2189         * docs/libs/Makefile.am:
2190         * docs/manual/Makefile.am:
2191         * docs/plugins/Makefile.am:
2192         * docs/pwg/Makefile.am:
2193         * docs/slides/Makefile.am:
2194         * docs/upload.mak:
2195         * common/upload.mak:
2196           move upload.mak to common
2197
2198 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2201           add more asserts on refcounts
2202           do more cleanup at end of tests
2203           fix test leaks showing in FC5
2204
2205 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2206
2207         * plugins/elements/gsttypefindelement.c:
2208         (gst_type_find_element_handle_event):
2209         reverted wrong change and reflowed code to avoid others falling into
2210         this trap
2211
2212 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2213
2214         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2215           fix changelog entry about last collectpads change,
2216           add notes about proper fix
2217
2218 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2219
2220         * gst/gst.c:
2221         * gst/gstregistry.c: (gst_registry_scan_path_level),
2222         (gst_registry_scan_path):
2223         * gst/gstregistry.h:
2224           only write out registry if it has changed, fixes #338339
2225
2226 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2227
2228         * gst/gstbin.c:
2229         * gst/gstpipeline.c:
2230         * plugins/elements/gstcapsfilter.c:
2231         * plugins/elements/gstfakesink.c:
2232         * plugins/elements/gstfakesrc.c:
2233         * plugins/elements/gstfdsink.c:
2234         * plugins/elements/gstfdsrc.c:
2235         * plugins/elements/gstfilesink.c:
2236         * plugins/elements/gstfilesrc.c:
2237         * plugins/elements/gstidentity.c:
2238         * plugins/elements/gstqueue.c:
2239         * plugins/elements/gsttee.c:
2240         * plugins/elements/gsttypefindelement.c:
2241         (gst_type_find_element_handle_event):
2242           make GstElementDetails const
2243
2244 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2245
2246         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2247         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2248         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2249           more detailed debug and formatting cleanup,
2250           forward newsegments to src-pad (so that e.g. adder not eats them)
2251
2252 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2253
2254         * gst/gstutils.c: (gst_element_link_pads):
2255           cleanup double code
2256
2257 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2258
2259         * libs/gst/controller/gstcontroller.c:
2260         (gst_controller_sync_values):
2261           some little tuning
2262         * tests/check/libs/controller.c: (GST_START_TEST),
2263         (gst_controller_suite):
2264           a new test for live value handling
2265
2266 2006-04-28  Wim Taymans  <wim@fluendo.com>
2267
2268         * gst/gstutils.c: (push_and_ref):
2269         Added some more docs.
2270         Fix refcount issue whith gst_element_found_tags() helper 
2271         function. Fixes #338335
2272
2273         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2274         Added testsuite for gst_element_found_tags().
2275
2276 2006-04-28  Michael Smith  <msmith@fluendo.com>
2277
2278         * gst/gstvalue.c: (gst_value_serialize_flags):
2279           Avoid NULL dereference when trying to serialize flags containing
2280           invalid values.
2281
2282 2006-04-28  Michael Smith  <msmith@fluendo.com>
2283
2284         * plugins/elements/gsttypefindelement.c:
2285         (gst_type_find_element_handle_event):
2286           If we get EOS before any data is accumulated, don't use
2287           uninitialised local variables.
2288
2289 2006-04-28  Michael Smith  <msmith@fluendo.com>
2290
2291         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2292         (gst_dp_event_from_packet):
2293           Fixes in reading/writing events over GDP (not currently used?) - 
2294           dereferencing NULL events for unknown/invalid event types, memory
2295           leak, and change g_warning to GST_WARNING.
2296
2297 2006-04-28  Wim Taymans  <wim@fluendo.com>
2298
2299         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2300         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2301         (gst_base_sink_get_position), (gst_base_sink_change_state):
2302         When frame dropping is enabled, we should not ignore frames
2303         without a duration.
2304         Update some documentation.
2305
2306 2006-04-28  Wim Taymans  <wim@fluendo.com>
2307
2308         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2309         (gst_base_src_send_event), (gst_base_src_change_state):
2310         Documentation updates.
2311
2312 2006-04-28  Wim Taymans  <wim@fluendo.com>
2313
2314         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2315         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2316         handle EAGAIN, EINTR and short writes correctly. Also clean
2317         up some error cases, avoid a deadlock on bad file descriptors and
2318         use GST_DEBUG_OBJECT.
2319         Fixes #339843
2320
2321 2006-04-28  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/gstvalue.c: (gst_value_serialize_buffer),
2324         (gst_value_deserialize_buffer):
2325         Don't try to serialize a GValue with a NULL buffer. 
2326         Fixes #339821.
2327
2328         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2329         Added check for serialisation of NULL buffers.
2330
2331 2006-04-28  Wim Taymans  <wim@fluendo.com>
2332
2333         * gst/gstminiobject.c: (gst_value_take_mini_object):
2334         Taking a NULL miniobject is valid, fix the case where
2335         we try to unref the NULL miniobject.
2336
2337 2006-04-28  Wim Taymans  <wim@fluendo.com>
2338
2339         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2340
2341         * gst/gstbin.c: (gst_bin_handle_message_func):
2342         Update docs.
2343         Don't leak bin refcount when a state recalc is
2344         in progress and we delay another one #339808.
2345
2346 2006-04-28  Wim Taymans  <wim@fluendo.com>
2347
2348         * docs/design/part-TODO.txt:
2349         Mention QoS as an ongoing work item.
2350
2351         * docs/design/part-buffering.txt:
2352         New doc about buffering that needs to be fleshed out
2353         at some point.
2354
2355         * docs/design/part-qos.txt:
2356         More QoS policy for decoders/demuxers/transforms
2357
2358         * docs/design/part-trickmodes.txt:
2359         Small update.
2360
2361 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2362
2363         * configure.ac:
2364           back to HEAD
2365
2366 === release 0.10.5 ===
2367
2368 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2369
2370         * configure.ac:
2371           releasing 0.10.5, "Fogo"
2372
2373 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         patch by: Wim Taymans
2376
2377         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2378         (gst_pad_configure_src), (gst_pad_push):
2379         * gst/gstpipeline.c: (gst_pipeline_init):
2380           Fix internal data flow errors.  Fixes #338711.
2381
2382 2006-04-12  Wim Taymans  <wim@fluendo.com>
2383
2384         * tests/check/gst/gstelement.c: (GST_START_TEST):
2385         Don't leak the factory.
2386
2387 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2388
2389         * configure.ac:
2390         * win32/common/config.h:
2391           prerelease
2392
2393 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2394
2395         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2396         (gst_controller_unset_all):
2397           Free allocated GstTimedValues when freeing list nodes.
2398           Should fix leaks 'make check-valgrind' complains about.
2399
2400         * win32/common/libgstcontroller.def:
2401           Add gst_controller_unset_all.
2402
2403 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2404
2405         * docs/libs/gstreamer-libs-sections.txt:
2406         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2407         (gst_controller_unset_all):
2408         * libs/gst/controller/gstcontroller.h:
2409         API: Added new method gst_controller_unset_all()
2410         fixed gst_controller_unset()
2411         * tests/check/libs/controller.c: (GST_START_TEST),
2412         (gst_controller_suite):
2413         Added two testcases for new and fixed method
2414
2415 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2418           MSG_DONTWAIT is not defined on Cygwin, so work
2419           around that (fixes #317048).
2420           
2421 2006-04-11  Wim Taymans  <wim@fluendo.com>
2422
2423         * gst/gstelementfactory.c: (gst_element_register),
2424         (gst_element_factory_create), (gst_element_factory_make):
2425         Some cleanups.
2426         Fixed a FIXME.
2427         Updated docs (Fixes #131079)
2428
2429         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2430         Small cleanups.
2431
2432         * tests/check/gst/gstelement.c: (GST_START_TEST),
2433         (gst_element_suite):
2434         Added testcase for elementfactory class field.
2435
2436 2006-04-10  Wim Taymans  <wim@fluendo.com>
2437
2438         * gst/gstsegment.c:
2439         Added some more docs.
2440
2441         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2442         (gst_base_sink_reset_qos):
2443         Calculate more accurate rate values.
2444
2445 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2446
2447         * gst/gst_private.h:
2448           add a new #ifdef to use __declspec(dllimport) only for
2449           other modules and not for gstreamer core
2450         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2451           use gst_guint64_to_gdouble for conversion
2452         * win32/common/libgstreamer.def:
2453           add new exported functions
2454         * win32/vs6/gst_inspect.dsp:
2455         * win32/vs6/gst_launch.dsp:
2456         * win32/vs6/libgstbase.dsp:
2457         * win32/vs6/libgstcontroller.dsp:
2458         * win32/vs6/libgstcoreelements.dsp:
2459         * win32/vs6/libgstdataprotocol.dsp:
2460         * win32/vs6/libgstnet.dsp:
2461           update project files
2462
2463 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2464
2465         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2466         * gst/gstclock.c: (gst_clock_class_init):
2467         * gst/gstelement.c: (gst_element_class_init):
2468         * gst/gstindex.c: (gst_index_class_init):
2469         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2470         * gst/gstobject.c: (gst_object_class_init),
2471         (gst_signal_object_class_init):
2472         * gst/gstpad.c: (gst_pad_class_init):
2473         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2474         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2475         * gst/gstregistry.c: (gst_registry_class_init):
2476         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2477         * gst/gsttask.c: (gst_task_class_init):
2478         * gst/gstxml.c: (gst_xml_class_init):
2479         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2480         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2481         (gst_base_src_loop):
2482         * libs/gst/controller/gstcontroller.c:/
2483         (_gst_controller_class_init):
2484         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2485         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2486         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2487         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2488         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2489         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2490
2491 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2492
2493         * gst/gstpad.c: (gst_pad_link):
2494           Must set peer pads before calling the link function, otherwise
2495           a task started from a link function might get a flow-not-linked
2496           result when trying to push because the other thread where the
2497           linking happens hasn't had a chance to set the peers yet. This
2498           might happen for example when a queue gets linked to a downstream
2499           element, as queue starts a streaming task when its source pad
2500           gets linked. Happens in real life when playing back flac/musepack
2501           files in playbin (#332390).
2502           
2503 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2504
2505         * gst/gstindex.h:
2506         * gst/gstxml.h:
2507         * libs/gst/base/gstadapter.h:
2508         * libs/gst/base/gstbasesink.h:
2509         * libs/gst/base/gstbasesrc.h:
2510         * libs/gst/base/gstbasetransform.h:
2511         * libs/gst/base/gstcollectpads.h:
2512         * libs/gst/base/gstpushsrc.h:
2513         Fix broken GObject macros
2514
2515 2006-04-07  Wim Taymans  <wim@fluendo.com>
2516
2517         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2518         Initialize start and stop times, thanks valgrind.
2519
2520 2006-04-07  Wim Taymans  <wim@fluendo.com>
2521
2522         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2523         Be a bit nicer to badly behaving upstream elements that expect
2524         us to deal with non TIME segments and timestamps (such as fakesrc
2525         in the testsuite).
2526
2527 2006-04-07  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/gstbus.c:
2530         Small documentation clarification about the signal watch.
2531
2532         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2533         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2534         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2535         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2536         (gst_base_sink_get_position_last),
2537         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2538         Convert and store timestamps in stream time and running time, the
2539         raw timestamps are not usefull, also document this better.
2540         Use different window sizes for good and bad QoS observations so
2541         we react to badness a little quicker.
2542         Keep track of the amount of rendered and dropped buffers.
2543         Send QoS timestamps in running time.
2544
2545         * libs/gst/base/gstbasetransform.c:
2546         (gst_base_transform_sink_eventfunc),
2547         (gst_base_transform_handle_buffer):
2548         Compare QoS timestamps against running time.
2549
2550 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2551
2552         * gst/gstpad.c:
2553           Typo fixes in docs.
2554
2555 2006-04-06  Michael Smith  <msmith@fluendo.com>
2556
2557         * gst/gstpad.c: (gst_pad_set_property):
2558           Use g_value_get_object() instead of g_value_dup_gst_object(),
2559           to avoid double-reffing the pad template (which we then sink,
2560           so this worked previously if (and only if) the pad template
2561           was floating.
2562
2563         * gst/gstpadtemplate.c: (gst_pad_template_init),
2564         (gst_pad_template_pad_created):
2565           Never return floating references to pad templates, create
2566           them as initially-sunken.
2567
2568           Document an extra function (and make this stop sinking our
2569           pad template, since that is now guaranteed to do nothing,
2570           since we created it sunken).
2571
2572         * gst/gstghostpad.c:
2573           Fix docs typo.
2574
2575 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2576
2577         * gst/gstinfo.c: (__gst_in_valgrind):
2578           Add some newlines.
2579
2580         * plugins/elements/gsttypefindelement.c:
2581         (gst_type_find_element_chain):
2582           Don't leak buffer caps.
2583
2584 2006-04-06  Michael Smith  <msmith@fluendo.com>
2585
2586         * gst/parse/grammar.y:
2587           Fix a leak in parse-launch for any source-or-sink named element 
2588           references used.
2589
2590         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2591           Unref the pipeline if it exists after we've failed parsing.
2592
2593 2006-04-05  Michael Smith  <msmith@fluendo.com>
2594
2595         * gst/gstpipeline.c: (gst_pipeline_init):
2596           When we create a pipeline bus, initially create it in flushing mode.
2597           Fixes leaks in at least one test, and makes a new pipeline work the
2598           same as one that has gone to READY and then back to NULL.
2599
2600         * gst/gstelement.c:
2601           Typo fix in docs.
2602
2603 2006-04-05  Michael Smith  <msmith@fluendo.com>
2604
2605         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2606           Unref a pad we reffed.
2607         * tests/check/gst/gstutils.c: (GST_START_TEST):
2608           Unref bins
2609
2610 2006-04-05  Michael Smith  <msmith@fluendo.com>
2611
2612         * gst/gstquery.c: (gst_query_set_formats),
2613         (gst_query_set_formatsv):
2614           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2615
2616 2006-04-05  Michael Smith  <msmith@fluendo.com>
2617
2618         * tests/check/generic/sinks.c: (GST_START_TEST):
2619           Fix a variety of memleaks in sinks check, which are only sometimes 
2620           shown by running the tests under valgrind (weird?).
2621
2622 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2623
2624         * docs/version.entities.in:
2625           Fix the substituted entity name after thomas' changes on the
2626           weekend.
2627
2628 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2629
2630         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2631         VALGRIND_PRINTF
2632         
2633 2006-04-05  Andy Wingo  <wingo@pobox.com>
2634
2635         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2636
2637         * libs/gst/base/gstbasetransform.c
2638         (gst_base_transform_sink_eventfunc): When resetting our segment on
2639         FLUSH_STOP, also update the flag saying we haven't seen a
2640         newsegment.
2641
2642 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2643
2644         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2645
2646         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2647         (gst_plugin_check_license):
2648           minor clean-ups: G_DEFINE_TYPE already takes care of the
2649           parent_class stuff, no need to do it twice. Mark array of
2650           license strings as constant. (#337103)
2651           
2652 2006-04-04  Michael Smith  <msmith@fluendo.com>
2653
2654         * tools/gst-inspect.c: (print_element_list):
2655           Free the right plugin list; fixes a memory leak.
2656
2657 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2658
2659         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2660
2661         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2662           Don't error out on empty buffers (#336945).
2663           
2664 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2665
2666         * docs/libs/gstreamer-libs-sections.txt:
2667         * gst/gsttaglist.c:
2668         * libs/gst/base/gstbasesink.c:
2669         * libs/gst/base/gstbasesink.h:
2670         * libs/gst/base/gstbasesrc.c:
2671         * libs/gst/base/gstbasesrc.h:
2672           Documentation updates. Make BaseSink and BaseSrc docs contain the
2673           class structure so that people can actually see the prototypes for
2674           virtual functions they're supposed to be overriding.
2675
2676 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * plugins/elements/gsttypefindelement.c:
2679         (gst_type_find_element_chain):
2680           More debug info; when skipping typefinding, send cached
2681           events in all cases.
2682
2683 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2684
2685         * configure.ac:
2686           use new AS_VERSION and AS_NANO macros
2687         * gst/gst-i18n-lib.h:
2688         * gst/gst.c:
2689         * gst/gsterror.c:
2690         * gst/gstversion.h.in:
2691         * win32/common/config.h:
2692         * win32/common/config.h.in:
2693           update accordingly
2694
2695 2006-03-31  Michael Smith  <msmith@fluendo.com>
2696
2697         * plugins/elements/gsttypefindelement.c:
2698         (gst_type_find_element_chain):
2699           Do not typefind content if the buffers already have caps.
2700           Neccesary for icydemux (#333657), and the right thing to do anyway.
2701
2702 2006-03-30  Wim Taymans  <wim@fluendo.com>
2703
2704         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2705         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2706         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2707         (gst_base_sink_record_qos_observation),
2708         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2709         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2710         (gst_base_sink_change_state):
2711         More QoS measurements as described in the design doc.
2712         Get rid of ringbuffer with observations, running average is
2713         more simple and equally good.
2714         Calculates valid proportion now.
2715         Added beginning of flood measurement.
2716
2717 2006-03-29  Wim Taymans  <wim@fluendo.com>
2718
2719         * docs/design/part-qos.txt:
2720         * gst/gstclock.c:
2721         Small documentation updates and additions.
2722
2723 2006-03-29  Wim Taymans  <wim@fluendo.com>
2724
2725         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2726         (gst_base_src_send_event), (gst_base_src_loop),
2727         (gst_base_src_change_state):
2728         Perform the EOS logic when we reach the segment stop position.
2729         Fix compilation on gcc4.1
2730
2731 2006-03-29  Wim Taymans  <wim@fluendo.com>
2732
2733         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2734
2735         * plugins/elements/gstqueue.c: (gst_queue_init),
2736         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2737         (gst_queue_set_property):
2738         * plugins/elements/gstqueue.h:
2739         In queue, when EOS is received, if minimum threshold > max_size -
2740         current_level, there is chance that queue blocks forever in conditional
2741         item del wait. This is because the queue is not emptied completely due
2742         to minimum threshold.  Here is another approach. Instead of setting
2743         cur_levels to max in EOS, just zero all minimum threshold levels. This
2744         should make sure that queue gives out all data. When going to READY
2745         (stop) state, just reset the original minimum threshold levels.
2746         Fixes #336336.
2747
2748 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2751         (gst_type_find_element_handle_event),
2752         (gst_type_find_element_send_cached_events),
2753         (gst_type_find_element_change_state):
2754         * plugins/elements/gsttypefindelement.h:
2755           When typefinding is done in push mode, we should cache
2756           events we receive during typefinding instead of just
2757           dropping them (e.g. newsegment, custom events from
2758           dvdreadsrc etc.) and then send them out once we've
2759           determined the type of the stream (and decodebin
2760           has had a chance to plug in a decoder/demuxer).
2761           
2762 2006-03-27  Wim Taymans  <wim@fluendo.com>
2763
2764         * docs/design/part-qos.txt:
2765         First QoS ideas.
2766
2767 2006-03-27  Wim Taymans  <wim@fluendo.com>
2768
2769         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2770
2771         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2772         (gst_base_src_send_event), (gst_base_src_change_state):
2773         Handle element seek correctly when we are streaming.
2774         Fixes #326998.
2775
2776 2006-03-24  Michael Smith  <msmith@fluendo.com>
2777
2778         * docs/faq/gst-uninstalled:
2779           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2780           allow you to correctly run intalled applications built against old 
2781           core, using plugins that require updated core (e.g. running
2782           installed totem against a full uninstalled gstreamer stack)
2783
2784 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2785
2786         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2787         more debug details
2788
2789 2006-03-24  Wim Taymans  <wim@fluendo.com>
2790
2791         * docs/gst/gstreamer-sections.txt:
2792         Rearrange the order of the methods so that related methods
2793         are grouped together in sections.
2794
2795 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2796
2797         * gst/gstelement.c:
2798           Little clarification in the docs
2799
2800 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2801
2802         * docs/README:
2803         formatting fix
2804         * plugins/elements/gstidentity.c:
2805         * plugins/elements/gstqueue.c:
2806         * plugins/elements/gsttee.c:
2807         * plugins/elements/gsttypefindelement.c:
2808         GST_ELEMENT_DETAILS formatting
2809
2810 2006-03-24  Wim Taymans  <wim@fluendo.com>
2811
2812         * libs/gst/base/gstbasesink.h:
2813         Only add fields, not insert or we break ABI.
2814
2815 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2816
2817         * win32/common/libgstbase.def:
2818         * win32/common/libgstreamer.def:
2819           Update, add recently added functions.
2820
2821 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2822
2823         * docs/gst/gstreamer-sections.txt:
2824         * gst/gstutils.c: (gst_pad_query_peer_position),
2825         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2826         * gst/gstutils.h:
2827           API: add some new utility functions:
2828            - gst_pad_query_peer_position()
2829            - gst_pad_query_peer_duration()
2830            - gst_pad_query_peer_convert()
2831           
2832 2006-03-23  Wim Taymans  <wim@fluendo.com>
2833
2834         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2835         (gst_base_sink_init), (gst_base_sink_finalize),
2836         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2837         (gst_base_sink_set_property), (gst_base_sink_get_property),
2838         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2839         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2840         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2841         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2842         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2843         (gst_base_sink_preroll_object), (gst_base_sink_event),
2844         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2845         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2846         (gst_base_sink_query), (gst_base_sink_change_state):
2847         Decouple max-lateness and the fact that QoS messages are generated
2848         with a new property (qos).
2849         added API: GstBaseSink::async_play()
2850         Add vmethod so subclasses can be notified of ASYNC playing
2851         state changes.
2852         Collect timestamp start and stop to report better current
2853         position in EOS/PLAYING/PAUSED/READY/NULL.
2854         Refactor QoS/frame dropping and other measurements.
2855         API: GstBaseSrc::qos
2856         Fixes #326311
2857
2858         * libs/gst/base/gstbasesink.h:
2859         Added Private struct.
2860         API: gst_base_sink_set_qos_enabled()
2861         API: gst_base_sink_is_qos_enabled()
2862
2863 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2864
2865         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2866           If compiling against GLib-2.8 or newer, try to read the
2867           registry file using GMappedFile first before falling back
2868           to fopen() + fread() (#332151).
2869
2870 2006-03-22  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/gstinfo.c: (gst_debug_set_active),
2873         (gst_debug_category_set_threshold):
2874         Disable debugging unless explicitly activated.
2875         Fixes #335480.
2876
2877 2006-03-22  Wim Taymans  <wim@fluendo.com>
2878
2879         * gst/gstelement.c: (gst_element_set_locked_state),
2880         (gst_element_dispose):
2881         Cleanup the error case.
2882
2883         * gst/gstobject.c: (gst_object_dispose):
2884         print a critical when some object was disposed with
2885         a parent, also revive the object since it might
2886         crash the parent.
2887
2888 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2889
2890         * tools/gst-launch.1.in:
2891           Fix another typo.
2892
2893 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2894
2895         * configure.ac:
2896         * tests/check/Makefile.am:
2897           disable some tests when we don't have a registry
2898         * tests/check/gst/gstutils.c: (gst_utils_suite):
2899           don't build the part that needs parsing
2900
2901 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2902
2903         * gst/Makefile.am
2904         * tests/examples/Makefile.am:
2905           fix --disable-parse build
2906
2907 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * tools/gst-feedback.1.in:
2910           Fix typo: s/feeback/feedback/ (#133494).
2911
2912 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2913
2914         * tools/Makefile.am:
2915         * tools/gst-launch.1.in:
2916           Add FILES section and correct entry about GST_REGISTRY_PATH
2917           environment variable (#133495; #133494).
2918
2919 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2920
2921         * tools/Makefile.am:
2922         * tools/gst-md5sum.1.in:
2923         * tools/gst-md5sum.c:
2924           Remove gst-md5sum and man page (the md5sink element
2925           required was removed ages ago)
2926
2927 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2928
2929         * gst/gststructure.c: (gst_structure_id_set_value):
2930           Make sure that string fields in structures/taglists
2931           contain valid UTF-8 - we don't want to pass rubbish to
2932           applications because of a buggy plugin (cp. #334167).
2933
2934 2006-03-21  Edward Hervey  <edward@fluendo.com>
2935
2936         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2937         (gst_bin_handle_message_func):
2938         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2939         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2940         (gst_element_set_bus_func):
2941         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2942         * gst/gstminiobject.c: (gst_value_set_mini_object),
2943         (gst_value_take_mini_object):
2944         * gst/gstpad.c: (gst_pad_set_pad_template):
2945         * gst/gstpipeline.c: (gst_pipeline_dispose),
2946         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2947         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2948         (gst_collect_pads_chain):
2949         * libs/gst/net/gstnettimeprovider.c:
2950         (gst_net_time_provider_set_property):
2951         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2952         It's in fact all issues with gst_*object_replace().
2953
2954 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2955
2956         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2957         
2958         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2959         * pkgconfig/gstreamer-check.pc.in:
2960           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2961
2962 2006-03-21  Edward Hervey  <edward@fluendo.com>
2963
2964         * gst/gstbuffer.h:
2965         * gst/gstevent.h:
2966         * gst/gstmessage.h:
2967         gst_[buffer|event|message]_ref() macros are replaced by a static
2968         inline functions because gcc-4.1 will about if the return value
2969         isn't used.
2970         * tests/check/gst/gstevent.c: (event_probe):
2971         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2972
2973 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2974
2975         * gst/gstutils.h:
2976         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2977         the type' case. (Closes: #335195 for now). In the future, when we
2978         depend on GLib 2.10, we could also intern the type name using
2979         g_intern_static_string()
2980
2981 2006-03-20  Wim Taymans  <wim@fluendo.com>
2982
2983         * gst/gstbin.c: (gst_bin_handle_message_func),
2984         (bin_query_max_init), (bin_query_position_fold),
2985         (bin_query_position_done), (gst_bin_query):
2986         Position query should also take max of all streams.
2987
2988 2006-03-20  Wim Taymans  <wim@fluendo.com>
2989
2990         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2991         (gst_fake_src_finalize):
2992         Fix leaks in fakesrc.
2993
2994         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2995         Fix leaks in the testcase.
2996
2997 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2998
2999         * gst/gst_private.h:
3000           add win32 specific import decoration(__declspec(dllimport)) 
3001           for all extern GstDebugCategory * variables
3002         * win32/common/libgstbase.def:
3003         * win32/common/libgstcontroller.def:
3004         * win32/common/libgstreamer.def:
3005           Add some exports, remove empty lines
3006         * win32/common/libgstdataprotocol.def:
3007         * win32/common/libgstdataprotocol.dsp:
3008         * win32/common/libgstnet.def:
3009         * win32/common/libgstnet.dsp:
3010           new project files and exportation files added
3011         
3012 2006-03-19  Wim Taymans  <wim@fluendo.com>
3013
3014         * tests/check/libs/basesrc.c: (eos_event_counter):
3015         Use proper return value for probe.
3016
3017 2006-03-17  Wim Taymans  <wim@fluendo.com>
3018
3019         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3020         (gst_pad_push):
3021         Don't leak buffers, caps and pads on negotiation errors.
3022
3023 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3024
3025         * docs/faq/cvs.xml:
3026         * docs/faq/dependencies.xml:
3027         * docs/faq/developing.xml:
3028         * docs/faq/faq.xml:
3029         * docs/faq/general.xml:
3030         * docs/faq/getting.xml:
3031         * docs/faq/legal.xml:
3032         * docs/faq/troubleshooting.xml:
3033         * docs/faq/using.xml:
3034         Faq review and update.
3035
3036 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3037
3038         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3039         (gst_pad_push):
3040         Don't pound the cpu to pieces by checking get_caps when accept_caps
3041         is called with the same caps as the pad already has.
3042         Use GST_DEBUG_OBJECT when outputting caps change information.
3043
3044 2006-03-15  Wim Taymans  <wim@fluendo.com>
3045
3046         * gst/gstclock.c: (gst_clock_class_init):
3047         Fix docs.
3048
3049 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3050
3051         * gst/gstbuffer.h:
3052         Documentation fix.
3053
3054         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3055         (gst_pad_accept_caps), (gst_pad_configure_sink),
3056         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3057         Make the default acceptcaps behaviour be to check the requested 
3058         caps against the gst_pad_get_caps output. 
3059
3060         Ensure that gst_pad_accept_caps is used to check caps when a pad
3061         doesn't have a setcaps function, so that pads automatically refuse 
3062         caps that they don't allow in their pad template. (Fixes #332986)
3063
3064         When a buffer with attached caps is pushed, ensure that the source 
3065         pad receives those caps even if the element didn't call
3066         gst_pad_set_caps first.
3067
3068 2006-03-15  Wim Taymans  <wim@fluendo.com>
3069
3070         * libs/gst/base/gstadapter.c:
3071         Add some docs.
3072
3073 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * win32/common/libgstbase.def:
3076         * win32/common/libgstcontroller.def:
3077         * win32/common/libgstreamer.def:
3078           Add a whole bunch of missing functions (#334434).
3079
3080 2006-03-14  Wim Taymans  <wim@fluendo.com>
3081
3082         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3083         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3084         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3085         Better debug info when we receive a segment event.
3086         Reorganize a bit so we can pass the get_times() results around.
3087         Use the segment format when calculating the running time.
3088         Don't do QoS is sync is disabled or we have no clock or the
3089         element does not want us to sync to the clock.
3090         Don't drop buffers if QoS is disabled for now.
3091
3092 2006-03-14  Wim Taymans  <wim@fluendo.com>
3093
3094         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3095         Marked the stats property as unimplemented so people don't get
3096         wild ideas.
3097         Add debug message when regression goes wrong.
3098         Added some more docs.
3099
3100 2006-03-14  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/gstsegment.c: (gst_segment_to_stream_time):
3103         Return correct return type in case of errors.
3104
3105 2006-03-14  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3108           Don't segfault on invalid formats.
3109
3110 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3113           Can't use gst_segment_to_running_time() when the segment
3114           is not in GST_TIME_FORMAT (like with filesink, for example).
3115           Stops flac encoding pipelines from spewing critical warnings
3116           at EOS (#331248).
3117           
3118 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3119
3120         * gst/gstpipeline.c: (gst_pipeline_class_init):
3121           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3122
3123         * plugins/elements/gsttypefindelement.c:
3124         (gst_type_find_element_handle_event):
3125           Don't try to typefind empty streams.
3126
3127 2006-03-14  Wim Taymans  <wim@fluendo.com>
3128
3129         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3130         (gst_base_sink_do_qos):
3131         Separate QoS calculation.
3132         Only drop buffers when lateness is bigger than the 
3133         duration of the buffer.
3134
3135 2006-03-13  Wim Taymans  <wim@fluendo.com>
3136
3137         * gst/gstpipeline.c: (gst_pipeline_set_property),
3138         (gst_pipeline_get_property), (do_pipeline_seek),
3139         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3140         (gst_pipeline_get_delay):
3141         Don't deadlock when reading properties.
3142
3143 2006-03-13  Wim Taymans  <wim@fluendo.com>
3144
3145         * libs/gst/base/gstbasetransform.c:
3146         (gst_base_transform_class_init), (gst_base_transform_init),
3147         (gst_base_transform_sink_event),
3148         (gst_base_transform_sink_eventfunc),
3149         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3150         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3151         (gst_base_transform_set_property),
3152         (gst_base_transform_get_property),
3153         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3154         (gst_base_transform_set_qos_enabled),
3155         (gst_base_transform_is_qos_enabled):
3156         * libs/gst/base/gstbasetransform.h:
3157         Make basetransform virtual method for src events too.
3158         Handle QOS in basetransform.
3159         API: gst_base_transform_update_qos()
3160         API: gst_base_transform_set_qos_enabled()
3161         API: gst_base_transform_is_qos_enabled()
3162
3163 2006-03-13  Wim Taymans  <wim@fluendo.com>
3164
3165         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3166         (gst_base_sink_do_sync):
3167         Small cleanups.
3168         Use QOS debug category.
3169
3170 2006-03-13  Wim Taymans  <wim@fluendo.com>
3171
3172         * plugins/elements/gstqueue.c:
3173         Very small doc update.
3174
3175 2006-03-13  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gst_private.h:
3178         * gst/gstinfo.c: (_gst_debug_init):
3179         Added QOS debug category
3180
3181 2006-03-13  Wim Taymans  <wim@fluendo.com>
3182
3183         * docs/gst/gstreamer-sections.txt:
3184         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3185         * gst/gstbin.h:
3186         * gst/gstbus.c: (gst_bus_class_init):
3187         * gst/gstbus.h:
3188         * gst/gstclock.c:
3189         * gst/gstelement.c: (gst_element_set_locked_state):
3190         * gst/gstsegment.c:
3191         Documentation updates.
3192
3193         * gst/gstpipeline.c: (gst_pipeline_get_type),
3194         (gst_pipeline_class_init), (gst_pipeline_init),
3195         (gst_pipeline_dispose), (gst_pipeline_set_property),
3196         (gst_pipeline_get_property), (do_pipeline_seek),
3197         (gst_pipeline_send_event), (gst_pipeline_change_state),
3198         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3199         (gst_pipeline_get_delay):
3200         * gst/gstpipeline.h:
3201         Added methods for setting the delay.
3202         API: gst_pipeline_set_delay()
3203         API: gst_pipeline_get_delay()
3204         Add pipeline debug category
3205         Various cleanups.
3206         Updated docs.
3207         Don't reset stream time when seek failed.
3208
3209 2006-03-13  Wim Taymans  <wim@fluendo.com>
3210
3211         * docs/design/draft-klass.txt:
3212         * docs/design/part-clocks.txt:
3213         * docs/design/part-events.txt:
3214         * docs/design/part-gstbin.txt:
3215         * docs/design/part-gstpipeline.txt:
3216         * docs/design/part-messages.txt:
3217         * docs/design/part-negotiation.txt:
3218         * docs/design/part-overview.txt:
3219         * docs/design/part-preroll.txt:
3220         * docs/design/part-seeking.txt:
3221         * docs/design/part-states.txt:
3222         * docs/design/part-streams.txt:
3223         Documentation updates.
3224
3225 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3226
3227         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3228         us to leak strings...
3229
3230 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * libs/gst/net/gstnettimeprovider.c:
3233           fix docs
3234         * win32/common/config.h:
3235           update
3236
3237 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3240
3241         * configure.ac:
3242           Don't check for libgnomeui (leftover from old examples
3243           that aren't built or disted any longer) (#334303).
3244           
3245 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3246
3247         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3248         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3249           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3250           there's no space left on the device.
3251
3252 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gstclock.h:
3255           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3256           to cast the input to GstClockTime before comparing with
3257           another GstClockTime value.
3258
3259 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3260
3261         * configure.ac:
3262           back to trunk
3263
3264 === release 0.10.4 ===
3265
3266 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3267
3268         * configure.ac:
3269           releasing 0.10.4, "Light"
3270
3271 2006-03-10  Michael Smith  <msmith@fluendo.com>
3272
3273         * libs/gst/dataprotocol/dataprotocol.c:
3274           Fix docs for dataprocotol to not get the return types completely
3275           wrong for a few functions.
3276
3277 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3278
3279         * docs/gst/gstreamer-sections.txt:
3280         * gst/gstpipeline.c: (gst_pipeline_class_init),
3281         (gst_pipeline_init), (gst_pipeline_set_property),
3282         (gst_pipeline_get_property), (gst_pipeline_change_state),
3283         (gst_pipeline_set_auto_flush_bus),
3284         (gst_pipeline_get_auto_flush_bus):
3285         * gst/gstpipeline.h:
3286           Add new API: gst_pipeline_set_auto_flush_bus() and
3287           gst_pipeline_get_auto_flush_bus() to disable automatic
3288           flushing of the pipeline's GstBus when going from READY
3289           to NULL state (#332045).
3290
3291 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3292
3293         * docs/gst/gstreamer-sections.txt:
3294         * gst/gsturi.c: (gst_uri_has_protocol):
3295         * gst/gsturi.h:
3296            Add new API: gst_uri_has_protocol() (#333779).
3297
3298 2006-03-09  Wim Taymans  <wim@fluendo.com>
3299
3300         * gst/gstclock.c: (gst_clock_entry_new),
3301         (gst_clock_id_compare_func), (gst_clock_id_wait),
3302         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3303         (gst_clock_init), (gst_clock_get_internal_time),
3304         (gst_clock_set_master), (do_linear_regression),
3305         (gst_clock_add_observation), (gst_clock_set_property):
3306         * gst/gstclock.h:
3307         Review docs.
3308         Small cleanups.
3309         Fix a possible segfault when the window-size is made smaller.
3310         Calculate jitter before performing the clock wait. Ideally
3311         the clock implementation should calculate jitter but we need
3312         API breakage for that.
3313
3314         * gst/gstsystemclock.c: (gst_system_clock_init):
3315         Docs review.
3316         
3317         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3318         Remove leftover else
3319
3320         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3321         (gst_systemclock_suite):
3322         Added check to test GST_CLOCK_DIFF.
3323
3324 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3327         (gst_type_find_helper_get_range):
3328           If we are provided with the size, we should implement
3329           GstTypeFind::get_length, so that typefind functions who
3330           want to can actually peek at the middle of a file.
3331
3332 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3333
3334         * docs/manual/advanced-dataaccess.xml:
3335           Add some very very basic error checking.
3336
3337         * docs/pwg/appendix-checklist.xml:
3338           Some updates to the list of things to check when writing an element.
3339
3340 2006-03-08  Wim Taymans  <wim@fluendo.com>
3341
3342         * docs/design/part-element-transform.txt:
3343         Added some docs about the design of tranform elements.
3344
3345         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3346         (gst_base_src_loop), (gst_base_src_change_state):
3347         Mark buffers with the DISCONT flag.
3348
3349 2006-03-08  Michael Smith  <msmith@fluendo.com>
3350
3351         * gst/gstregistry.h:
3352         * gst/gstregistryxml.c: (gst_registry_save),
3353         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3354         (gst_registry_xml_save_pad_template),
3355         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3356         (gst_registry_xml_write_cache):
3357           Rewrite registry-saving to avoid race conditions and check for
3358           failed writes.
3359
3360 2006-03-08  Wim Taymans  <wim@fluendo.com>
3361
3362         * libs/gst/base/gstbasetransform.c:
3363         (gst_base_transform_transform_caps),
3364         (gst_base_transform_transform_size),
3365         (gst_base_transform_prepare_output_buffer),
3366         (gst_base_transform_get_unit_size),
3367         (gst_base_transform_buffer_alloc),
3368         (gst_base_transform_handle_buffer),
3369         (gst_base_transform_change_state):
3370         Cleanups, separate normal flow from errors, add sensible
3371         DEBUG lines.
3372         Don't try to renegotiate when allocating an output buffer.
3373         Also copy DISCONT buffer flag when copying a buffer.
3374         Reset the transform after we finish streaming, not during.
3375
3376 2006-03-08  Wim Taymans  <wim@fluendo.com>
3377
3378         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3379         Use last buffer timestamp in qos message.
3380
3381 2006-03-07  Wim Taymans  <wim@fluendo.com>
3382
3383         Patch by: Christophe Fergeau
3384
3385         * docs/pwg/advanced-tagging.xml:
3386         * docs/pwg/building-pads.xml:
3387           fixes #333416
3388
3389 2006-03-07  Wim Taymans  <wim@fluendo.com>
3390
3391         * docs/libs/gstreamer-libs-sections.txt:
3392         Added basesink new methods.
3393
3394         * gst/gstevent.c:
3395         * gst/gstevent.h:
3396         Docs updates. Flesh out the QoS docs.
3397
3398         * libs/gst/base/gstadapter.c:
3399         Small doc clarification about ownership and flushing.
3400
3401         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3402         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3403         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3404         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3405         * libs/gst/base/gstbasesink.h:
3406         API additions: 
3407         Added new methods to allow subclass to control max-lateness 
3408         and sync.
3409         Generate very basic QoS events based on last sync observation.
3410         Updated docs, fix typo, added some QoS blurb.
3411
3412         * libs/gst/base/gstbasesrc.c:
3413         Remove obsolete _get_state() calls from docs.
3414
3415 2006-03-07  Wim Taymans  <wim@fluendo.com>
3416
3417         * docs/libs/gstreamer-libs-sections.txt:
3418         * libs/gst/base/gstbasetransform.h:
3419         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3420         Fix docs for GstBaseSrc.
3421
3422 2006-03-07  Wim Taymans  <wim@fluendo.com>
3423
3424         * docs/gst/gstreamer-sections.txt:
3425         * gst/gstbuffer.h:
3426         * gst/gstvalue.c:
3427         * libs/gst/base/gstbasetransform.h:
3428         Small documentation fixes.
3429
3430 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3431
3432         * gst/gstvalue.c:
3433           Document thread-unsafety of gst_value_register_foo_func()
3434           when used at the same time as gst_value_foo() (#322628).
3435
3436 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3439         (gst_push_src_check_get_range):
3440           Push sources don't support pull mode by default.
3441
3442 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3443
3444         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3445         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3446         (gst_base_src_default_check_get_range):
3447         * libs/gst/base/gstbasesrc.h:
3448           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3449           provide default implementation, and rename
3450           gst_base_src_check_get_range() to
3451           gst_base_src_pad_check_get_range() for clarity.
3452
3453 2006-03-06  Wim Taymans  <wim@fluendo.com>
3454
3455         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3456         Make property overridable.
3457
3458 2006-03-06  Wim Taymans  <wim@fluendo.com>
3459
3460         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3461         (gst_base_sink_init), (gst_base_sink_set_property),
3462         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3463         * libs/gst/base/gstbasesink.h:
3464         API addition: Make max-lateness a property.
3465
3466 2006-03-06  Wim Taymans  <wim@fluendo.com>
3467
3468         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3469         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3470         Don't ever draw a frame that is >10ms late.
3471
3472 2006-03-06  Michael Smith  <msmith@fluendo.com>
3473
3474         * gst/gstmessage.c: (_gst_message_copy):
3475           When copying a message, set the parent_refcount of the enclosed
3476           structure to point at the copy, not the original message.
3477
3478 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3479
3480         Patch by: Christophe Fergeau
3481
3482         * gst/gstutils.h:
3483           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3484           usable in c++ code (#333417)
3485
3486 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * gst/gstclock.h:
3489           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3490
3491 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3492
3493         * libs/gst/base/gstbasetransform.c:
3494         (gst_base_transform_transform_caps):
3495           Make sure caps are writable before passing them to
3496           gst_caps_append().
3497
3498 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * gst/gsterror.h:
3501           Fix some minor docs errors.
3502
3503 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3504
3505           Patch by: Ross Burton <ross at burtonini dot com>
3506
3507         * gst/gsterror.c: (_gst_resource_errors_init):
3508         * gst/gsterror.h:
3509           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3510
3511 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3512
3513         * gst/gst.c:
3514         Add a check and output a g_warning when GStreamer is built
3515         against GLib 2.6 but running against 2.8 or higher, and vice 
3516         versa. (Closes: #323542)
3517
3518 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3519
3520         * gst/parse/parse.l:
3521           Commit patch for parse_launch syntax from #331255. Removes 
3522           support for quoted strings and mimetypes when writing filtered 
3523           caps. See the bug report for more details - I'm pretty sure this
3524           obscure feature is not in use by _anyone_ anywhere.
3525
3526           With this simple change, the size of the gstreamer.so here 
3527           drops from 2193KB to 1565KB.
3528
3529 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3530
3531         * plugins/elements/gsttypefindelement.h:
3532         * plugins/elements/gsttypefindelement.c:
3533         (gst_type_find_element_src_event), (start_typefinding),
3534         (stop_typefinding), (gst_type_find_element_handle_event),
3535         (gst_type_find_element_chain),
3536         (gst_type_find_element_chain_do_typefinding):
3537           Use gst_type_find_helper_for_buffer() for chain-based
3538           typefinding.
3539
3540 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         * plugins/elements/gsttypefindelement.c:
3543         (gst_type_find_element_class_init),
3544         (gst_type_find_element_set_property),
3545         (gst_type_find_element_get_property):
3546           Deprecate "maximum" property (not only was it only taken into
3547           account for typefinding in push-mode anyway, it also was never
3548           actually possible to set it in the first place because the
3549           property was registered with the numeric property ID for the
3550           "minimum" property). Register "maximum" property correctly,
3551           for the sake of future copy'n'pasters. Remove some cruft
3552           from property get/set functions.
3553
3554 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3555
3556         * plugins/elements/gsttypefindelement.c:
3557         (gst_type_find_element_activate):
3558           Use gst_type_find_helper_get_range() here, so we
3559           can honour the "minimum" property and also emit
3560           the signal with the correct probability of the found caps.
3561
3562 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * docs/libs/gstreamer-libs-sections.txt:
3565         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3566         (helper_find_suggest), (gst_type_find_helper_get_range),
3567         (gst_type_find_helper):
3568         * libs/gst/base/gsttypefindhelper.h:
3569           New API: gst_type_find_helper_get_range() (#333042).
3570
3571 2006-03-02  Michael Smith  <msmith@fluendo.com>
3572
3573         * gst/gstregistryxml.c: (load_feature):
3574           Asserting on a failure to read part of the registry is Not Cool.
3575           Just log a warning and return NULL (which is already handled)
3576
3577 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3578
3579         * win32/common/libgstbase.def:
3580           added export of gst_type_find_helper_for_buffer
3581         * win32/common/libgstbase.def:
3582           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3583           gst_ghost_pad_get_target
3584
3585 2006-02-28  Wim Taymans  <wim@fluendo.com>
3586
3587         * docs/design/draft-klass.txt:
3588         We use Filter now.
3589         Added Connector to mark elements that are only used to
3590         allow pipeline connections.
3591         Moved Debug to extra feature since most of them are 
3592         functionally something else.
3593
3594 2006-02-28  Wim Taymans  <wim@fluendo.com>
3595
3596         * docs/design/draft-klass.txt:
3597         Some updates and clarifications.
3598
3599 2006-02-28  Wim Taymans  <wim@fluendo.com>
3600
3601         * docs/design/draft-klass.txt:
3602         Proposal for klass field values.
3603
3604         * docs/design/part-streams.txt:
3605         Start of a doc describing stream anatomy.
3606
3607 2006-02-28  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3610         Help the compiler a bit with type registration.
3611         Use existing forward cod path instead of duplicating it when 
3612         handling a message.
3613         
3614         * gst/gstbus.c: (gst_bus_get_type):
3615         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3616         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3617         * gst/gstclock.c: (gst_clock_get_type):
3618         * gst/gstelement.c: (gst_element_get_type),
3619         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3620         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3621         * gst/gstminiobject.c: (gst_mini_object_get_type):
3622         * gst/gstpad.c: (gst_pad_get_type):
3623         * gst/gstsegment.c: (gst_segment_get_type):
3624         * gst/gststructure.c: (gst_structure_get_type):
3625         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3626         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3627         * gst/gstvalue.c:
3628         Help compiler with type registration.
3629
3630         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3631         Small doc update.
3632
3633 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * plugins/elements/gsttypefindelement.c:
3636         (gst_type_find_element_handle_event):
3637           When we get an EOS event and have not found a type yet
3638           (most likely because we had not yet accumulated
3639           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3640           type given the data we have so far. Fixes typefinding
3641           for very short streams again, most notably quicktime
3642           redirections as used on Apple's trailer site (#331701).
3643
3644 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3645
3646         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3647         (gst_type_find_helper):
3648           Try typefinding factories with the highest rank first.
3649
3650 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3651
3652         * docs/libs/gstreamer-libs-docs.sgml:
3653         * docs/libs/gstreamer-libs-sections.txt:
3654         * libs/gst/base/gsttypefindhelper.c:
3655           Add section for typefind helper and add documentation
3656           for the old and the new function.
3657
3658 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3661         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3662         (gst_type_find_helper_for_buffer):
3663         * libs/gst/base/gsttypefindhelper.h:
3664           New API: gst_type_find_helper_for_buffer() (#332723).
3665           
3666 2006-02-27  Michael Smith  <msmith@fluendo.com>
3667
3668         Patch by: Loïc Minier
3669
3670         * configure.ac:
3671         * docs/Makefile.am:
3672         * docs/slides/Makefile.am:
3673           prevent CVS directories getting disted.
3674
3675 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3678           Use the REFCOUNTING category for caps refcounting.
3679           
3680 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3683           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3684
3685 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * plugins/elements/gsttypefindelement.c:
3688         (gst_type_find_element_activate):
3689           Use gst_pad_check_pull_range() before _activate_pull()
3690           to avoid unnecessary open/close (see #331690).
3691
3692 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3693
3694         * gst/gstutils.c:
3695           Docs enhancement: make it crystal clear what the
3696           gst_pad_add_*_probe() callbacks should look like.
3697
3698 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         * libs/gst/base/gstbasesrc.c:
3701           Document how applications can stop recording from
3702           live sources (see #330996).
3703
3704 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3705
3706         * tests/check/Makefile.am:
3707         * tests/check/libs/basesrc.c: (eos_event_counter),
3708         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3709         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3710         (gst_basesrc_suite), (main):
3711           ... and add some tests for the base source EOS stuff.
3712
3713 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3714
3715         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3716           Test case originally showed the problem fixed below,
3717           but was then amended. Add checks back at the place
3718           where they used to be.
3719
3720 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3721
3722         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3723         (gst_base_src_init), (gst_base_src_loop),
3724         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3725         (gst_base_src_change_state):
3726         * libs/gst/base/gstbasesrc.h:
3727           Don't unconditionally send EOS when going from PAUSED to
3728           READY state, esp. make sure we don't send two EOS events
3729           in some cases (e.g. one when reaching EOS and one when
3730           going from PAUSED to READY). Also, we don't want to send
3731           EOS events when operating in pull mode. However, we do
3732           want to send an EOS event when shutting down a live
3733           source explicitly, for example (fixes #330996).
3734           
3735 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3736
3737         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3738           Update src->read_position after a seek when not using mmap.
3739           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3740
3741 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3742
3743         * gst/Makefile.am:
3744         * gst/gstparse.h:
3745         * gst/gstutils.c:
3746         * gst/gstutils.h:
3747         Make things work with --disable-parse as they do with 
3748         --disable-load-save - the symbols involved disappear, but the
3749         header is still installed and GST_DISABLE_PARSE is included via
3750         gstconfig.h
3751
3752 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3753
3754         * libs/gst/base/gstbasetransform.c:
3755         (gst_base_transform_change_state): Fix a stupid bug. I was 
3756         sure I compiled that.
3757
3758 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3759
3760         * gst/gstpad.c: (gst_pad_set_blocked_async):
3761         * gst/gstutils.c: (gst_pad_add_data_probe),
3762         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3763         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3764         (gst_pad_remove_buffer_probe): Make those function act on the
3765         ghostpad target when it's a ghostpad. (Closes #331727)
3766
3767 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3768
3769         * libs/gst/base/gstbasetransform.c:
3770         (gst_base_transform_change_state): Make basetransform reusable.
3771         (Closes #331898)
3772
3773 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3774
3775         * docs/random/release:
3776         Move the current documentation of how to do a release to the top
3777         of the file.
3778
3779         * gst/gstbin.c: (gst_bin_class_init),
3780         (gst_bin_handle_message_func):
3781         Allow multiple state-recalculation threads. (Closes #328873)
3782
3783 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3784
3785         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3786         * gst/gstpad.c: (gst_pad_set_event_function),
3787         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3788         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3789         2 strings. You can't use the STR_NULL macro on that.
3790
3791 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3792
3793         * gst/gstpad.c: (gst_pad_set_event_function),
3794         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3795         (gst_pad_set_getcaps_function)
3796         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3797           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3798           So now, we can use --gst-debug-level=5 on Windows
3799         * win32/common/libgstcontroller.def:
3800           Added export of gst_controller_init
3801         * win32/vs6/libgstcontroller.dsp:
3802           Fixed Release post build configuration
3803
3804 2006-02-17  Wim Taymans  <wim@fluendo.com>
3805
3806         * tests/check/gst/gstquery.c: (GST_START_TEST):
3807         Added another check.
3808
3809 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3810
3811         * plugins/elements/gsttypefindelement.c: (find_peek):
3812           We can do peeks at non-zero offsets, as long as they
3813           fall within the buffer we have.
3814
3815 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3816
3817         * tests/check/Makefile.am:
3818         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3819         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3820         (parse_suite), (main):
3821           Add testsuite for parse launch syntax
3822
3823 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3824
3825         * plugins/elements/gsttypefindelement.c:
3826         (gst_type_find_element_chain):
3827           When typefinding is unsuccessful in the chain function, don't
3828           error out immediately. Only error out with NO_CAPS_FOUND if
3829           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3830           otherwise simply wait for more data so we can try typefinding
3831           again with more data later. Also, don't attempt to typefind
3832           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3833           this should improve typefinding from network sources where the
3834           size of the first buffer can be somewhat random.
3835
3836 2006-02-14  Wim Taymans  <wim@fluendo.com>
3837
3838         * docs/gst/gstreamer-sections.txt:
3839         * gst/gstpadtemplate.c:
3840         * gst/gstpadtemplate.h:
3841         Fix padtemplate docs, fixes #328805.
3842
3843 2006-02-14  Wim Taymans  <wim@fluendo.com>
3844
3845         * tools/gst-launch.c: (main):
3846         NO_PREROLL is not an ERROR so don't send confusing messages
3847         to the user.
3848
3849 2006-02-14  Wim Taymans  <wim@fluendo.com>
3850
3851         Patch by: Torsten Schoenfeld
3852
3853         * gst/gstregistry.c: (gst_registry_get_default),
3854         (_gst_registry_cleanup):
3855         Protect default registry with lock and ref/sink it.
3856         Fixes #324818
3857
3858 2006-02-14  Wim Taymans  <wim@fluendo.com>
3859
3860         * gst/gstbuffer.c:
3861         * gst/gstquery.c: (gst_query_list_add_format),
3862         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3863         (gst_query_parse_formats_nth):
3864         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3865         Docs fixes.
3866
3867 2006-02-14  Wim Taymans  <wim@fluendo.com>
3868
3869         * docs/gst/gstreamer-sections.txt:
3870         Reworked query docs.
3871
3872         * gst/gstquery.c: (gst_query_new_formats),
3873         (gst_query_list_add_format), (gst_query_set_formats),
3874         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3875         (gst_query_parse_formats_nth):
3876         * gst/gstquery.h:
3877         Flesh out formats query, added some new methods.
3878         Fix part of #324398.
3879
3880         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3881         Added query creation tests.
3882
3883 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3884
3885         * gst/gstpad.c: (fixate_value):
3886         Add a default fixation for fraction lists.
3887
3888 2006-02-13  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3891         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3892         (gst_task_join):
3893         * gst/gsttask.h:
3894         Detect and warn for obvious deadlocks. fixes #320340
3895         Fix error case where lock was not released.
3896
3897         * tests/check/Makefile.am:
3898         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3899         (task_func), (gst_element_suite), (main):
3900         Add task check.
3901
3902 2006-02-13  Wim Taymans  <wim@fluendo.com>
3903
3904         * docs/gst/gstreamer-sections.txt:
3905         * gst/gstbus.c:
3906         Add new functions to docs.
3907
3908 2006-02-13  Wim Taymans  <wim@fluendo.com>
3909
3910         * docs/design/part-TODO.txt:
3911         Updated TODO list, basesrc supports seeking to non-bytes
3912         formats.
3913
3914         * docs/design/part-element-sink.txt:
3915         Update docs.
3916
3917         * gst/gstbin.c: (bin_replace_message),
3918         (gst_bin_handle_message_func):
3919         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3920         * gst/gstevent.c: (gst_event_finalize):
3921         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3922         (gst_pad_send_event):
3923         Use shiny new _TYPE_NAME macros.
3924
3925         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3926         Move debug statement up.
3927
3928         * gst/gstelement.c: (gst_element_set_locked_state):
3929         Add some debugging.
3930
3931 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         * docs/gst/gstreamer-sections.txt:
3934         * gst/gstmessage.h:
3935         * gst/gstquery.h:
3936           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3937           macros (#330906). Also, document the already existing
3938           GST_QUERY_TYPE macro.
3939
3940 2006-02-13  Wim Taymans  <wim@fluendo.com>
3941
3942         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3943         (event_probe), (GST_START_TEST):
3944         Only events up to the pipeline EOS are counted, there are
3945         some more when going to NULL currently which we don't care
3946         about for now.
3947
3948 2006-02-13  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/gstpad.c: (gst_pad_send_event):
3951         Correctly check flushing and emit probes. fixes #330125
3952
3953 2006-02-10  Andy Wingo  <wingo@pobox.com>
3954
3955         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3956         structure.
3957         (gst_bus_init): Cache the location of the private data in the
3958         instance structure.
3959         (gst_bus_enable_sync_message_emission) 
3960         (gst_bus_disable_sync_message_emission): Implement new public
3961         functions.
3962         (gst_bus_post): Emit the sync-message signal if the user asked for
3963         it. Fixes #330684.
3964
3965         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3966         location of the bus-private structure.
3967         (gst_bus_enable_sync_message_emission)
3968         (gst_bus_disable_sync_message_emission): API addition
3969
3970 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3971
3972         Patch by: Vincent Torri
3973
3974         * docs/pwg/building-boiler.xml:
3975         PWG patch from #326800
3976
3977 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3978
3979         * configure.ac:
3980         * docs/Makefile.am:
3981         * docs/design/Makefile.am:
3982           Dist design docs.
3983
3984 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3985
3986         * configure.ac:
3987           back to CVS
3988
3989 === release 0.10.3 ===
3990
3991 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3992
3993         * configure.ac:
3994           releasing 0.10.3, "Like a virgin"
3995
3996 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3997
3998         * configure.ac:
3999           2nd prerelease of 0.10.3
4000           Bump libtool versioning.
4001
4002 2006-02-07  Andy Wingo  <wingo@pobox.com>
4003
4004         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4005         update last_stop if we're in TIME format and the timestamp is
4006         valid.
4007
4008         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4009         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4010         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4011         If we get a new newsegment with a different format, adapt
4012         accordingly.
4013
4014         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4015         of 0. Not a problem, really.
4016
4017         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4018         warn if sync=true.
4019
4020 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4021
4022         * configure.ac:
4023           Prelease of 0.10.3
4024
4025 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4026
4027         * win32/vs7:
4028           project files updated to the default vs7 configuration
4029         * win32/common/libgstbase.def:
4030         * win32/common/libgstreamer.def:
4031           added new symbols,
4032           removed empty lines,
4033           sorted all exported symbols alphabetically
4034         * win32/common/dirent.c:
4035         * win32/common/dirent.h:
4036         * win32/common/gchar.h:
4037           use windows line end.
4038           
4039 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4040
4041         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4042           Send EOS event when stopping.
4043
4044 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4045
4046         * docs/README:
4047           Tell folks what to do if the plugin-foobar.xml file
4048           hasn't been generated for a newly-added plugin.
4049
4050 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4051
4052         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4053         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4054         (gst_collect_pads_start), (gst_collect_pads_stop),
4055         (gst_collect_pads_event): Collectpads now holds a reference
4056         to the GstPad that was added. Indeed we don't want to look
4057         at pads that might just go away with no warning...
4058
4059 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4060
4061         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4062         (gst_collect_pads_start), (gst_collect_pads_stop),
4063         (gst_collect_pads_event), (gst_collect_pads_chain):
4064         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4065         Mark Nauwelaerts's patch on bug #328491.
4066
4067 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4068
4069         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4070         (gst_utils_suite):
4071           Add some simple tests for gst_parse_bin_from_description() and
4072           gst_bin_find_unconnected_pad() (#329069).
4073
4074 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * tools/gst-launch.c: (event_loop), (main):
4077           Catch errors during preroll (#320084).
4078
4079 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * plugins/elements/gsttypefindelement.c:
4082         (gst_type_find_element_activate):
4083           Post TYPE_NOT_FOUND error message when typefinding
4084           is unsuccessful in the activate function as well.
4085
4086 2006-02-02  Wim Taymans  <wim@fluendo.com>
4087
4088         * docs/design/part-element-sink.txt:
4089         Updated doc.
4090
4091 2006-02-02  Wim Taymans  <wim@fluendo.com>
4092
4093         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4094         (gst_base_sink_render_object),
4095         (gst_base_sink_queue_object_unlocked):
4096         Only keep track of prerollable items when we are 
4097         prerolling.
4098         Before rendering after preroll, always check if we
4099         have queued items.
4100         Added some more debugging.
4101
4102 2006-02-02  Wim Taymans  <wim@fluendo.com>
4103
4104         * gst/gstelement.c: (gst_element_continue_state),
4105         (gst_element_set_state_func), (gst_element_change_state):
4106         Fixed #326576, been running this for quite some time with
4107         no regressions at all.
4108
4109 2006-02-02  Wim Taymans  <wim@fluendo.com>
4110
4111         * common/gst.supp:
4112         Added more suppressions
4113
4114 2006-02-02  Wim Taymans  <wim@fluendo.com>
4115
4116         * docs/design/part-element-sink.txt:
4117         Updated document.
4118
4119         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4120         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4121         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4122         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4123         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4124         (gst_base_sink_preroll_object),
4125         (gst_base_sink_queue_object_unlocked),
4126         (gst_base_sink_queue_object), (gst_base_sink_event),
4127         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4128         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4129         (gst_base_sink_get_position), (gst_base_sink_change_state):
4130         * libs/gst/base/gstbasesink.h:
4131         Totally refactored matching the design doc.
4132         Use two segments, one to clip incomming buffers and another to
4133         perform sync.
4134         Handle queueing correctly, bypass the queue when playing.
4135         Make EOS cancelable.
4136         Handle errors correctly when operating in pull based mode.
4137
4138         * tests/check/elements/fakesink.c: (GST_START_TEST),
4139         (fakesink_suite):
4140         Added new check for sinks.
4141
4142 2006-02-02  Wim Taymans  <wim@fluendo.com>
4143
4144         * gst/gstsegment.c: (gst_segment_clip):
4145         No reason to refuse to clip when start == -1
4146
4147 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4148
4149         * docs/README:
4150         * docs/manual/intro-basics.xml:
4151         * docs/manual/intro-preface.xml:
4152         * docs/manual/manual.xml:
4153         * docs/pwg/advanced-dparams.xml:
4154         * docs/pwg/intro-basics.xml:
4155         * docs/pwg/intro-preface.xml:
4156         * docs/pwg/pwg.xml:
4157           describe dparams (controller) for plugins
4158           unify docs a little more
4159
4160 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * docs/gst/gstreamer-sections.txt:
4163         * gst/gstutils.c: (element_find_unconnected_pad),
4164         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4165         * gst/gstutils.h:
4166           Add new API: gst_parse_bin_from_description() and
4167           gst_bin_find_unconnected_pad() (#329069).
4168
4169 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4170
4171         * docs/manual/README:
4172           uncover a nasty detail of the docs build
4173
4174 2006-01-31  Wim Taymans  <wim@fluendo.com>
4175
4176         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4177         Don't cache duration messages if we're not going to use or
4178         free them.
4179
4180 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4181
4182         * docs/manual/advanced-dparams.xml:
4183         * docs/pwg/advanced-dparams.xml:
4184           more dparam docs
4185         * gst/gstindex.c:
4186           fix docs
4187         * libs/gst/controller/lib.c: (gst_controller_init):
4188           init just once
4189
4190 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4191
4192         * gst/gstelement.c: (gst_element_message_full):
4193           also show file/line/func if no additional debug was given
4194
4195 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4196         
4197         * win32/vs7/grammar.vcproj:
4198           activate copy of autogenerated files for Release mode
4199
4200 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4201         
4202         * win32/common/libgstreamer.def:
4203           export gst_value_compare
4204
4205 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4206
4207         * plugins/elements/Makefile.am:
4208         * plugins/elements/gstelements.c:
4209         * plugins/elements/gstfdsink.c: (_do_init),
4210         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4211         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4212         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4213         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4214         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4215         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4216         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4217         * plugins/elements/gstfdsink.h:
4218         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4219
4220 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4221
4222         * docs/manual/advanced-dparams.xml:
4223           describe controller
4224         * docs/manual/advanced-position.xml:
4225         * docs/manual/basics-init.xml:
4226         * docs/manual/manual.xml:
4227         * docs/manual/titlepage.xml:
4228         * docs/pwg/pwg.xml:
4229         * docs/pwg/titlepage.xml:
4230           cleanup xml (more to come)
4231         * libs/gst/controller/gstcontroller.c:
4232           fix typo
4233
4234 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4235         
4236         * win32/vs6/grammar.dsp:
4237           add autogen of gstmarshal.c,h for Release mode
4238                 
4239 2006-01-30  Wim Taymans  <wim@fluendo.com>
4240
4241         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4242         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4243         (gst_base_sink_handle_object), (gst_base_sink_event),
4244         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4245         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4246         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4247         (gst_base_sink_deactivate), (gst_base_sink_activate),
4248         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4249         (gst_base_sink_query), (gst_base_sink_change_state):
4250         Basesink cleanups, remove some old code.
4251         Handle the case where a subclass can preroll in the render
4252         method (mostly audiosinks).
4253         Handle more events.
4254         Remove some locks around variables that are now protected
4255         with the PREROLL_LOCK (clock_id, flushing, ..).
4256         Optimize position query some more, do correct locking.
4257         Remove old code to push queue in state change, this is not
4258         needed anymore since preroll blocks on all prerollable items 
4259         now.
4260         Almost implemented as described in design doc.
4261
4262 2006-01-30  Wim Taymans  <wim@fluendo.com>
4263
4264         * tests/check/gst/gstbin.c: (GST_START_TEST):
4265         Wait for refcount to settle down before checking.
4266
4267 2006-01-30  Wim Taymans  <wim@fluendo.com>
4268
4269         * docs/design/part-element-sink.txt:
4270         Pseudo code overview of desired sink behaviour regarding
4271         preroll.
4272
4273 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4274         * win32/vs6/grammar.dsp:
4275           fix some bugs in Release mode for autogenerated files
4276                 
4277 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4278         * win32/common/libgstbase.def:
4279         * win32/common/libgstreamer.def:
4280           export some new symbols: gst_base_src_set_format,
4281           gst_iterator_next, gst_structure_set_valist
4282
4283 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4284
4285         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4286         Set pad functions unconditionally. Fixes #329105.
4287
4288 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4289         * win32/vs8:
4290           add vs8 project files created by Sergey Scobich
4291
4292 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4293
4294         * gst/gstutils.c: (gst_element_unlink_pads):
4295         Don't leak pad references.
4296
4297         * tests/check/elements/fakesink.c: (GST_START_TEST):
4298         * tests/check/generic/sinks.c: (GST_START_TEST):
4299         * tests/check/generic/states.c: (GST_START_TEST):
4300         * tests/check/gst/gstbin.c: (GST_START_TEST):
4301         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4302         * tests/check/gst/gstelement.c: (GST_START_TEST):
4303         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4304         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4305         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4306         Fix a bunch of leaks. Make generic/sinks.c
4307         use a bit less cpu by slowing the buffer rate
4308         between fakesrc and fakesink.
4309         
4310 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4311         * gst/gstcaps.c:
4312         * gst/gstelement.c: (gst_element_send_event):
4313         * gst/gstevent.c:
4314         * gst/gstinfo.c:
4315         * gst/gstiterator.c:
4316         * gst/gstiterator.h:
4317         * gst/gstpad.c: (gst_pad_send_event):
4318         * gst/gststructure.c:
4319         * gst/gsturi.c:
4320         * gst/gstutils.c:
4321         * gst/gstvalue.c:
4322         * libs/gst/base/gstadapter.c:
4323           doc fixes, to link to function, just write gst_cool_function(), don't
4324           prefix with '#'
4325
4326 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4327
4328         * plugins/elements/gsttee.c: (gst_tee_do_push),
4329         (gst_tee_handle_buffer):
4330         Always prefer an actual return value from a src
4331         pad in place of NOT_LINKED. This means we return
4332         WRONG_STATE when all src pads are WRONG_STATE
4333         instead of NOT_LINKED.
4334
4335         Lock when replacing the last message to prevent
4336         racing with the get_property method.
4337
4338         Add debug output
4339
4340 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4341
4342         * tests/check/Makefile.am:
4343         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4344         (main):
4345         Add a very simple check that should have caught the memleak I fixed
4346         last night (if not for the slice allocator hiding it)
4347
4348 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4349
4350         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4351         (gst_bin_remove_func), (gst_bin_handle_message_func),
4352         (bin_query_duration_fold), (bin_query_generic_fold):
4353         Clean up references to the clock provider when disposed or when
4354         handling a clock-lost message from it.
4355
4356         Unref sinks when performing a query via gst_iterator_fold, as the
4357         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4358
4359         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4360         (gst_clock_set_master):
4361         Drop our reference to the master clock, if any, when we are disposed.
4362
4363         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4364         Chain up in dispose. 
4365
4366 2006-01-26  Wim Taymans  <wim@fluendo.com>
4367
4368         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4369         Add some debugging.
4370
4371 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4372
4373         * plugins/elements/gsttee.c: (gst_tee_do_push),
4374         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4375         handles pad being NOT_LINKED or in WRONG_STATE.
4376
4377 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4378
4379         * win32/MANIFEST:
4380           more updating
4381
4382 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4383
4384         * win32/MANIFEST:
4385           remove obsolete entry
4386
4387 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4388
4389         * docs/gst/gstreamer-sections.txt:
4390         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4391         (gst_bin_iterate_sources), (gst_bin_send_event):
4392         * gst/gstbin.h:
4393         * gst/gstelement.c: (gst_element_send_event):
4394         * gst/gstevent.c:
4395         * gst/gstpad.c: (gst_pad_send_event):
4396           added code for downstream events, reviewed docs in gstevent.c
4397
4398 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4399
4400         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4401         We only query position using the clock in the playing state.
4402         Query peer in the other cases.
4403         * win32/common/config.h: Updates.
4404
4405 2006-01-24  Wim Taymans  <wim@fluendo.com>
4406
4407         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4408         A clock entry that is scheduled for the exact time of the
4409         clock is still in time.
4410
4411         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4412         (gst_base_sink_do_sync):
4413         Add some more debug info.
4414
4415 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4416
4417         * win32/vs7:
4418           Add new vs7 project files and solution.
4419
4420 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4421
4422         * win32/vs7:
4423           all files removed as they were out-dated.
4424
4425 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4426
4427         * docs/random/release:
4428           update notes
4429         * gst/gstbin.c: (gst_bin_init):
4430         * gst/gstbus.c: (gst_bus_new):
4431         * gst/gstbus.h:
4432         * gst/gstpipeline.c: (gst_pipeline_init):
4433           use gst_bus_new(), improve logging, fix docs
4434         * win32/common/config.h:
4435           update for cvs build
4436
4437 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * autogen.sh:
4440           up required version of automake to 1.7
4441
4442 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4443
4444         * win32/common/libgstreamer.def:
4445           export gst_buffer_is_metadata_writable
4446
4447 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         * docs/gst/gstreamer-sections.txt:
4450         * gst/gstevent.h:
4451           Add gst_event_replace() (#327001)
4452
4453 2006-01-20  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4456         Make it actually compile too..
4457
4458 2006-01-20  Wim Taymans  <wim@fluendo.com>
4459
4460         * gst/gstcaps.c:
4461         Clarify behaviour of _is_equal() when passing NULL parameters.
4462
4463         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4464         (gst_pad_set_caps):
4465         Cleanups. Don't unref NULL caps.
4466         When setting the same caps, protect caps of the pad with
4467         proper lock.
4468         Use full functionality of _is_equal() when comparing caps.
4469
4470 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4471
4472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4473         Don't loop infinitely if there are no buffers to present. Partially
4474         fixes #327197, but collectpads is just broken for reusing elements
4475         to do multiple encodes atm.
4476
4477 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4478
4479         * tools/gst-inspect.c: (print_element_features):
4480         * tools/gst-xmlinspect.c: (main):
4481         URL_HANDLER is not a plugin feature we can search for in
4482         the registry.
4483
4484 2006-01-19  Edward Hervey  <edward@fluendo.com>
4485
4486         * gst/gstelement.c: (gst_element_pads_activate): 
4487         When activating, do src pads first, then sink pads.
4488         When de-activating, do sink pads first, then src pads.
4489
4490 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4491
4492         * docs/gst/gstreamer-sections.txt:
4493         Add gst_index_add_associationv to the docs
4494
4495 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4496
4497         * gst/gstevent.c:
4498           Fix docs typo
4499
4500         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4501         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4502           Do some refactoring. Doesn't actually change functionality,
4503           but makes landing the DRAIN event easier later.
4504
4505 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4506
4507         * docs/pwg/advanced-scheduling.xml:
4508           Update from 0.9.x to 0.10 API and make example a bit
4509           clearer.
4510
4511 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4512
4513         * docs/gst/gstreamer-sections.txt:
4514         Add gst_buffer_(is|make)_metadata_writable methods.
4515
4516 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4517
4518         * docs/design/part-sparsestreams.txt:
4519         Update sparse streams doc, hopefully for greater clarity
4520
4521 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4522
4523         * docs/design/part-events.txt:
4524         Remove mention of FILLER events.
4525         Add DRAIN event.
4526
4527         * docs/design/part-sparsestreams.txt:
4528         Write some things about using NEWSEGMENT to keep sparse streams
4529         flowing.
4530
4531 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4532
4533         * gst/gstbin.c: (gst_bin_dispose):
4534           Guard gst_object_unref call against a NULL object (dispose
4535           can theoretically be called multiple times).
4536           
4537 2006-01-18  Wim Taymans  <wim@fluendo.com>
4538
4539         * gst/gstbin.c: (gst_bin_element_set_state):
4540         * gst/gstclock.c: (gst_clock_id_wait):
4541         Added some more debug info.
4542
4543         * libs/gst/base/gstadapter.c:
4544         Added more docs.
4545
4546         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4547         (gst_base_sink_do_sync), (gst_base_sink_chain):
4548         Added some comments.
4549
4550 2006-01-18  Wim Taymans  <wim@fluendo.com>
4551
4552         * tests/check/Makefile.am:
4553         * tests/check/elements/fakesink.c: (chain_async_buffer),
4554         (chain_async), (chain_async_return), (GST_START_TEST),
4555         (fakesink_suite), (main):
4556         Added fakesink test that checks prerolling and clipping
4557         behaviour.
4558
4559         * tests/check/gst/gstutils.c: (GST_START_TEST):
4560         Make check run faster so that buildbots don't timeout.
4561
4562 2006-01-18  Wim Taymans  <wim@fluendo.com>
4563
4564         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4565         (gst_base_sink_do_sync):
4566         Some cleanups.
4567         When the sink finishes blocking on the preroll buffer, it can
4568         immediatly render it instead of rendering when the next buffer
4569         arrives.
4570
4571 2006-01-18  Wim Taymans  <wim@fluendo.com>
4572
4573         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4574         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4575         (gst_base_sink_chain):
4576         Small cleanups.
4577         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4578         Don't store _last_stop if the buffer is dropped.
4579
4580 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         * plugins/elements/gsttypefindelement.c:
4583         (gst_type_find_element_class_init):
4584           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4585           object method handler that sets the caps on the pad and we want
4586           that to happen before we emit the signal (fixes e.g. feeding a
4587           plain text file to decodebin).
4588
4589 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4590
4591         * gst/gstplugin.c: Add MPL and Proprietary as license options
4592
4593 2006-01-18  Andy Wingo  <wingo@pobox.com>
4594
4595         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4596         symbol was exported before, it appears this was just an oversight.
4597         Fixes #168703.
4598         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4599
4600         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4601         prototype to gint. OK since this prototype was not in the header.
4602
4603 2006-01-17  Andy Wingo  <wingo@pobox.com>
4604
4605         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4606         registry while we remove plugins.
4607
4608         * tools/gst-inspect.c (print_element_info): Don't unref the
4609         factory arg, that should be the responsibility of whatever code
4610         received the ref. Fixes a double-free when called from
4611         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4612         (main): Unref the factory if we have one.
4613         (print_element_list): No change -- relies on the
4614         plugin_feature_list_free to free the list of features.
4615
4616 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4617
4618         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4619         (gst_buffer_make_metadata_writable):
4620         * gst/gstbuffer.h:
4621         * libs/gst/base/gstbasetransform.c:
4622         (gst_base_transform_prepare_output_buf):
4623         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4624         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4625           Replace gst_buffer_(make|is)_metadata_writable patch now
4626           that the release is out.
4627
4628 2006-01-17  Andy Wingo  <wingo@pobox.com>
4629
4630         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4631         in the present tense without reference to versions.
4632
4633         * gst/gstregistry.c (gst_registry_add_plugin)
4634         (gst_registry_remove_plugin, gst_registry_remove_feature)
4635         (gst_registry_find_feature, gst_registry_get_feature_list)
4636         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4637         (gst_registry_lookup, gst_registry_scan_path)
4638         (_gst_registry_remove_cache_plugins)
4639         (gst_registry_get_feature_list_by_plugin): Add argument
4640         validation.
4641
4642 === release 0.10.2 ===
4643
4644 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4645
4646         * configure.ac:
4647           releasing 0.10.2, "If man is five"
4648
4649 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4650
4651         * gst/gstbuffer.c:
4652         * gst/gstbuffer.h:
4653         * libs/gst/base/gstbasetransform.c:
4654         (gst_base_transform_prepare_output_buf):
4655         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4656         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4657           Back out patch until after the release.
4658
4659 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4660
4661         * gst/gstminiobject.c:
4662           Spelling fix in docs.
4663         * ChangeLog - remove conflict indicator
4664
4665 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4666
4667         Reviewed By: Andy Wingo
4668
4669         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4670         (gst_buffer_make_metadata_writable):
4671         * gst/gstbuffer.h:
4672           Add gst_buffer_(is|make)_metadata_writable as analogues of
4673           gst_buffer_(is|make)_writable.
4674
4675         * libs/gst/base/gstbasetransform.c:
4676         (gst_base_transform_prepare_output_buf):
4677         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4678           Use name gst_buffer_(is|make)_metadata_writable functions.
4679
4680         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4681           Test gst_buffer_(is|make)_metadata_writable
4682         
4683           (Closes: #324162)
4684
4685 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4686
4687         * docs/manual/Makefile.am:
4688           don't do parallel make
4689         * configure.ac:
4690           AC_SUBST HOST_CPU
4691         * win32/common/config.h.in:
4692           add generations for HOST_CPU and GST_MAJORMINOR
4693         * win32/common/config.h:
4694           commit generated result
4695
4696 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         * docs/manual/appendix-integration.xml:
4699           Update GNOME integration section to use gst_init_get_option_group()
4700           instead of the old popt stuff (#322911). Also, GNOME applications
4701           should  now use gconf*sink and gconf*src instead of the old gconf
4702           helper lib we had.
4703
4704 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4705
4706
4707         * docs/gst/gstreamer-docs.sgml:
4708         * docs/gst/gstreamer-sections.txt:
4709         * docs/libs/gstreamer-libs-sections.txt:
4710           add new API entries to the docs
4711         * libs/gst/controller/Makefile.am:
4712         * libs/gst/controller/gstcontroller.c:
4713         * libs/gst/controller/gstcontroller.h:
4714         * libs/gst/controller/gstcontrollerprivate.h:
4715         * libs/gst/controller/gsthelper.c:
4716         * libs/gst/controller/gstinterpolation.c:
4717           move private structs to private header
4718         * po/README:
4719           gstreamer-0.7 -> gstreamer-0.10
4720         * tests/check/libs/struct_i386.h:
4721           remove private structs
4722
4723 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4724
4725         * plugins/indexers/Makefile.am:
4726           Fixes as part of #317048
4727
4728 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * plugins/indexers/Makefile.am:
4731           fix #316086 - compilation when mmap is missing
4732
4733 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4734
4735         * libs/gst/base/gstbasesink.c:
4736           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4737           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4738         * win32/common/config.h:
4739           added some defines GST_MAJORMINOR and HOST_CPU
4740         * win32/common/libgstbase.def:
4741         * win32/common/libgstreamer.def:
4742           added some exported functions.
4743
4744 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4745
4746         * libs/gst/controller/gstcontroller.c:
4747         (gst_controlled_property_set_interpolation_mode),
4748         (gst_controlled_property_new):
4749         * libs/gst/controller/gstcontroller.h:
4750         * libs/gst/controller/gstinterpolation.c:
4751         (interpolate_none_get_string_value_array):
4752           make G_TYPE_STRING controlable
4753
4754 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * tools/README:
4757         * tools/gst-feedback.1.in:
4758         * tools/gst-inspect.1.in:
4759         * tools/gst-launch.1.in:
4760         * tools/gst-md5sum.1.in:
4761         * tools/gst-typefind.1.in:
4762         * tools/gst-xmlinspect.1.in:
4763         * tools/gst-xmllaunch.1.in:
4764           cleanup man-pages, remove reference to gst-register, document env-vars
4765
4766 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4767
4768         * gst/gstbuffer.c: (gst_buffer_span):
4769           gst_buffer_span should copy the timestamp of the first buffer
4770           if they were both originally overlapping subbuffers of the 
4771           same parent, using the same logic as the 'slow copy' case.
4772
4773 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4774
4775         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4776           Need to awaken ALL the pads when we pop a buffer, otherwise
4777           collectpads only works when there is 2 input streams.
4778
4779 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4780
4781         * docs/random/ensonic/media-device-daemon.txt:
4782           more ideas (dbus)
4783         * gst/gstbuffer.c:
4784           fix doc example, add clarification
4785         * tools/gst-launch.1.in:
4786           add initial info about GST_PLUGIN_PATH, needs more work
4787
4788 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4789
4790         * docs/manual/basics-bins.xml:
4791         * docs/manual/basics-elements.xml:
4792         * docs/manual/intro-basics.xml:
4793           Some more minor docs additions and updates.
4794
4795 2006-01-11  Wim Taymans  <wim@fluendo.com>
4796
4797         * docs/manual/basics-bins.xml:
4798         * docs/manual/basics-elements.xml:
4799         Some small fixes as pointed out by Ser-ver on IRC.
4800
4801 2006-01-10  Edward Hervey  <edward@fluendo.com>
4802
4803         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4804         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4805         the single-segment mode.
4806
4807 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4808
4809         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4810
4811         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4812         (gst_base_src_perform_seek), (gst_base_src_send_event),
4813         (gst_base_src_set_property), (gst_base_src_get_property),
4814         (gst_base_src_loop), (gst_base_src_start),
4815         (gst_base_src_activate_push):
4816         * libs/gst/base/gstbasesrc.h:
4817           Name (private) union; makes Sun's Forte compiler happy (#324900).
4818
4819 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * README:
4822           gst-register is gone.
4823
4824 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4825
4826         * gst/gstvalue.c: (_gst_value_initialize):
4827           make the G_TYPE_DATE instantiation work if debug is disabled
4828
4829 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4830
4831         * gst/gstmessage.c: (gst_message_parse_tag),
4832         (gst_message_parse_error), (gst_message_parse_warning):
4833           Don't crash when return location for error/warning debug
4834           string is NULL; add fact that return locations can be
4835           NULL to docs where appropriate.
4836
4837 2006-01-05  Wim Taymans  <wim@fluendo.com>
4838
4839         * gst/gstplugin.c: (gst_plugin_load_file):
4840         Replace strdup by g_strdup.
4841
4842 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * docs/pwg/advanced-types.xml:
4845           fix doc borkage
4846
4847 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4848
4849         submitted by: Abel Cheung
4850
4851         * po/LINGUAS:
4852         * po/zh_TW.po:
4853           Added Chinese (traditional) translation
4854
4855 2006-01-04  Wim Taymans  <wim@fluendo.com>
4856
4857         * docs/manual/basics-pads.xml:
4858         * docs/plugins/Makefile.am:
4859         * docs/plugins/gstreamer-plugins-docs.sgml:
4860         * docs/plugins/gstreamer-plugins-sections.txt:
4861         * docs/pwg/advanced-clock.xml:
4862         * docs/pwg/advanced-scheduling.xml:
4863         * docs/pwg/advanced-types.xml:
4864         * plugins/elements/gstfdsink.c:
4865         * plugins/elements/gstfdsrc.c:
4866         * plugins/elements/gstfdsrc.h:
4867         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4868         * plugins/elements/gstidentity.h:
4869         * plugins/elements/gstqueue.h:
4870         * plugins/elements/gsttee.c:
4871         * plugins/elements/gsttee.h:
4872         * plugins/elements/gsttypefindelement.c:
4873         (gst_type_find_element_class_init):
4874         * plugins/elements/gsttypefindelement.h:
4875         Small updates to various docs.
4876         Added core plugins to docs.
4877
4878 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4879
4880         * common/gst.supp:
4881           add a suppression for liboil's uninitialized variable
4882
4883 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4884
4885         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4886
4887         * gst/gstutils.h:
4888           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4889           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4890           compiler switch is being used (#325429).
4891
4892 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4893
4894         * gst/gstbin.c: (gst_bin_query):
4895           Disable duration query caching in bins until it gets
4896           fixed (see #324807).
4897
4898 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4899
4900         * tools/gst-inspect.c: (print_element_properties_info):
4901           Handle properties of POINTER and BOXED type.
4902
4903 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4904
4905         * gst/gst.c: (init_post):
4906           Init tags stuff and some other things before loading
4907           any static plugins (there may be other static plugins
4908           than just the GStreamer ones, and they may want to
4909           register their own tags or formats or whatever, and
4910           preferably without segfaulting).
4911
4912         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4913           Print at least a warning in the debug logs if we drop a
4914           query just because we don't know how to adjust the value
4915           in the particular format.
4916
4917 2005-12-24  David Schleef  <ds@schleef.org>
4918
4919         * tools/gstreamer-completion:
4920           Replacement for gst-complete written in sh and sed.  Only
4921           completes names of features, but that's 90% of what I want
4922           it for.  Properties are not available in registry.xml.  (Maybe
4923           they should be...)
4924
4925 === release 0.10.1 ===
4926
4927 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4928
4929         * configure.ac:
4930           releasing 0.10.1, "Nollaig chridheil"
4931
4932 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * docs/faq/cvs.xml:
4935           Add missing quote, should be make ERROR_CFLAGS="".
4936
4937 2005-12-20  Wim Taymans  <wim@fluendo.com>
4938
4939         * docs/design/part-trickmodes.txt:
4940         More documentation on trickmodes.
4941
4942 2005-12-20  Edward Hervey  <edward@fluendo.com>
4943
4944         * gst/gstcaps.c: (gst_static_caps_get_type):
4945         * gst/gstcaps.h:
4946           API addition: GST_TYPE_STATIC_CAPS
4947         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4948         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4949         * gst/gstpadtemplate.h:
4950           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4951         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4952         bindings.
4953
4954 2005-12-18  Wim Taymans  <wim@fluendo.com>
4955
4956         * libs/gst/base/gstadapter.c:
4957         * libs/gst/base/gstadapter.h:
4958         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4959         (gst_base_sink_get_position):
4960         * libs/gst/base/gstbasesink.h:
4961         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4962         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4963         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4964         (gst_base_src_send_event), (gst_base_src_update_length),
4965         (gst_base_src_get_range), (gst_base_src_loop),
4966         (gst_base_src_start):
4967         * libs/gst/base/gstbasesrc.h:
4968         * libs/gst/base/gstbasetransform.h:
4969         * libs/gst/base/gstcollectpads.h:
4970         * libs/gst/base/gstpushsrc.c:
4971         * libs/gst/base/gstpushsrc.h:
4972         * libs/gst/dataprotocol/dataprotocol.c:
4973         * libs/gst/dataprotocol/dataprotocol.h:
4974         * libs/gst/net/gstnetclientclock.h:
4975         * libs/gst/net/gstnettimeprovider.h:
4976         Documentation updates.
4977
4978 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4979
4980         * docs/manual/basics-helloworld.xml:
4981           Remove superfluous closing bracket in helloworld example.
4982
4983 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4984
4985         * tools/gst-launch.1.in:
4986           Update gst-launch man page; add a section with useful
4987           environment variables. Fixes #323882.
4988
4989 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4990
4991         * gst/gst.c:
4992         * gst/gst_private.h:
4993           change some char* into char[]
4994
4995 2005-12-16  Wim Taymans  <wim@fluendo.com>
4996
4997         * gst/gstregistryxml.c: (load_feature):
4998         Cleanups.
4999         Don't use g_object_unref on GstObjects so that we avoid
5000         leaks on unsafe glibs.
5001
5002 2005-12-16  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/gstbin.c: (gst_bin_recalc_state):
5005         Small doc updates.
5006
5007 2005-12-16  Wim Taymans  <wim@fluendo.com>
5008
5009         * common/check.mak:
5010         Added make forever target for check.
5011
5012 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * gst/gst.c: (init_post):
5015           make the registry cache file HOST_CPU-dependent
5016
5017 2005-12-16  Andy Wingo  <wingo@pobox.com>
5018
5019         * plugins/elements/gstbufferstore.c
5020         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5021         return value.
5022
5023         * tests/check/gst/gstobject.c
5024         (test_fake_object_name_threaded_unique): Pay attention to
5025         g_list_sort return value.
5026
5027 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029         * tools/gst-feedback-m.m:
5030           Update for 0.9/0.10 (fixes #323870).
5031
5032 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5033
5034         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5035           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5036           
5037         * tests/check/gst/gstminiobject.c: (my_foo_init),
5038         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5039         (test_value_collection), (gst_mini_object_suite):
5040           Add test to ensure refcounts end up as expected when passing
5041           GstMiniObjects through g_object_get() and g_object_set().
5042
5043 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5044
5045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5046         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5047         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5048         of collectpads. This version removes a lot of races without
5049         touching API/ABI. Yay !
5050
5051 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5052
5053         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5054           Don't allow activation of a srcpad in pull_range if it has no
5055           getrange function.
5056           Change some debug statements to be a little clearer
5057
5058         * plugins/elements/gsttypefindelement.c:
5059         (gst_type_find_handle_src_query):
5060           Check that we have a peer before executing queries thereupon.
5061
5062         * tests/examples/metadata/read-metadata.c: (message_loop):
5063           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5064           immediately return us any available message with 0 timeout.
5065
5066 2005-12-12  Michael Smith  <msmith@fluendo.com>
5067
5068         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5069           Don't unref factories after calling them.
5070         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5071         * plugins/elements/gsttypefindelement.c:
5072         (gst_type_find_element_chain):
5073           Free lists of factories after using them. Fixing typefinding memory
5074           leaks.
5075
5076 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5077
5078         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5079         (gst_plugin_feature_load):
5080           more meaningful debug output
5081         * configure.ac:
5082         * tests/Makefile.am:
5083         * tests/old/examples/Makefile.am:
5084           make make distcheck happy again
5085
5086 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5089           Catch the special case where we are operating chain-based,
5090           but the downstream peer pad has no chain function. Emit a
5091           custom error message in this case instead of letting the
5092           core generate one implying that this is some sort of core
5093           bug. It's not, it just means that whatever got plugged
5094           into the pipeline downstream when we announced the type
5095           can only operate pull-based, while our source can only
5096           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5097           Error string has not been marked for translation yet, as
5098           it probably needs some more work first.
5099
5100         (gst_type_find_element_get_best_possibility):
5101           Add helper function to find the best of all available
5102           found possibilities that qualify given the min. threshold.
5103
5104         (gst_type_find_element_handle_event):
5105           Fix the case where we get an EOS while still in TYPEFIND
5106           mode (we want to chose the best of all possible types,
5107           not just the first type that happens to be in our unsorted
5108           list of possible types).
5109
5110         (gst_type_find_element_chain):
5111           Make sure we return GST_FLOW_ERROR when we errored out
5112           in stop_typefinding(); also, don't just find the best of
5113           all found type entries and then use the last examined
5114           type entry, but actually use the best entry.
5115
5116 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5117
5118         * tests/examples/typefind/typefind.c: (type_found):
5119         * tests/examples/xml/runxml.c: (xml_loaded):
5120           More gcc4 fixes and a mem leak fix.
5121
5122 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5123
5124         * tests/examples/xml/createxml.c: (object_saved):
5125           gcc 4 fixes
5126
5127 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5128
5129         * tests/Makefile.am:
5130           enable the examples even more
5131
5132 2005-12-12  Andy Wingo  <wingo@pobox.com>
5133
5134         * libs/gst/net/gstnettimeprovider.c
5135         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5136         (gst_net_time_provider_set_property)
5137         (gst_net_time_provider_get_property):
5138         API addition: Export "active" as a GObject property.
5139         (gst_net_time_provider_thread): Only respond to time queries if
5140         the time provider is active.
5141
5142         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5143         NetTimeProvider, preserving binary compat.
5144
5145 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5146
5147         * tests/examples/controller/audio-example.c: (main):
5148         * tests/examples/launch/Makefile.am:
5149           convert comments again
5150
5151 2005-12-12  Wim Taymans  <wim@fluendo.com>
5152
5153         * libs/gst/base/gstpushsrc.c:
5154         Fix typo.
5155
5156 2005-12-12  Wim Taymans  <wim@fluendo.com>
5157
5158         * docs/libs/gstreamer-libs-sections.txt:
5159         Added new symbol to docs.
5160
5161         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5162         (gst_base_src_init), (gst_base_src_set_format),
5163         (gst_base_src_default_query), (gst_base_src_query),
5164         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5165         (gst_base_src_perform_seek), (gst_base_src_send_event),
5166         (gst_base_src_default_event), (gst_base_src_event_handler),
5167         (gst_base_src_set_property), (gst_base_src_get_property),
5168         (gst_base_src_wait), (gst_base_src_do_sync),
5169         (gst_base_src_update_length), (gst_base_src_get_range),
5170         (gst_base_src_check_get_range), (gst_base_src_loop),
5171         (gst_base_src_default_negotiate), (gst_base_src_start),
5172         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5173         (gst_base_src_change_state):
5174         * libs/gst/base/gstbasesrc.h:
5175         Implement seeking to other formats than _BYTES.
5176         Implement more seeking methods correctly.
5177         Doc updates.
5178         Added query vmethod.
5179         Added do_seek vmethod to make life easier for subclasses
5180         when seeking.
5181         API addition: gst_base_src_set_format()
5182
5183 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5184
5185         * tests/examples/Makefile.am:
5186           added that too
5187
5188 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5189
5190         * configure.ac:
5191         * docs/random/ensonic/media-device-daemon.txt:
5192         * tests/examples/controller/.cvsignore:
5193         * tests/examples/controller/Makefile.am:
5194         * tests/examples/controller/audio-example.c: (main):
5195         * tests/examples/helloworld/.cvsignore:
5196         * tests/examples/helloworld/Makefile.am:
5197         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5198         * tests/examples/launch/.cvsignore:
5199         * tests/examples/launch/Makefile.am:
5200         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5201         * tests/examples/metadata/.cvsignore:
5202         * tests/examples/metadata/Makefile.am:
5203         * tests/examples/metadata/read-metadata.c: (message_loop),
5204         (make_pipeline), (print_tag), (main):
5205         * tests/examples/queue/.cvsignore:
5206         * tests/examples/queue/Makefile.am:
5207         * tests/examples/queue/queue.c: (event_loop), (main):
5208         * tests/examples/typefind/.cvsignore:
5209         * tests/examples/typefind/Makefile.am:
5210         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5211         (main):
5212         * tests/examples/xml/.cvsignore:
5213         * tests/examples/xml/Makefile.am:
5214         * tests/examples/xml/createxml.c: (object_saved), (main):
5215         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5216         * tests/old/examples/Makefile.am:
5217         * tests/old/examples/TODO:
5218         * tests/old/examples/controller/.cvsignore:
5219         * tests/old/examples/controller/Makefile.am:
5220         * tests/old/examples/controller/audio-example.c:
5221         * tests/old/examples/helloworld/.cvsignore:
5222         * tests/old/examples/helloworld/Makefile.am:
5223         * tests/old/examples/helloworld/helloworld.c:
5224         * tests/old/examples/launch/.cvsignore:
5225         * tests/old/examples/launch/Makefile.am:
5226         * tests/old/examples/launch/mp3parselaunch.c:
5227         * tests/old/examples/launch/mp3play:
5228         * tests/old/examples/manual/Makefile.am:
5229         * tests/old/examples/metadata/Makefile.am:
5230         * tests/old/examples/metadata/read-metadata.c:
5231         * tests/old/examples/queue/.cvsignore:
5232         * tests/old/examples/queue/Makefile.am:
5233         * tests/old/examples/queue/queue.c:
5234         * tests/old/examples/typefind/.cvsignore:
5235         * tests/old/examples/typefind/Makefile.am:
5236         * tests/old/examples/typefind/typefind.c:
5237         * tests/old/examples/xml/.cvsignore:
5238         * tests/old/examples/xml/Makefile.am:
5239         * tests/old/examples/xml/createxml.c:
5240         * tests/old/examples/xml/runxml.c:
5241           applied some simple fixing to some examples
5242           re-enabled the working examples
5243
5244 2005-12-12  Wim Taymans  <wim@fluendo.com>
5245
5246         * gst/gstsegment.c: (gst_segment_init),
5247         (gst_segment_set_last_stop), (gst_segment_set_seek),
5248         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5249         (gst_segment_to_running_time):
5250         Added more documentation.
5251         Make sure the last_pos value is updated properly.
5252         Make sure to_stream_time and to_running_time don't
5253         operate on wrong values.
5254
5255         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5256         Update check.
5257
5258 2005-12-12  Michael Smith  <msmith@fluendo.com>
5259
5260         * plugins/elements/gsttypefindelement.c: (free_entry),
5261         (gst_type_find_element_chain):
5262           Now that we're not leaking factories, make sure we keep references
5263           to them while we need them.
5264
5265 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5266
5267         * tests/check/gst/struct_i386.h:
5268           ifdef out the XML structs
5269
5270 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5271
5272         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5273           floor is not needed, F is always positive; this obviates the
5274           need for adding -lm when building without libxml
5275
5276 2005-12-12  Wim Taymans  <wim@fluendo.com>
5277
5278         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5279         Take current playback rate into account when reporting
5280         the position.
5281
5282 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5283
5284         * docs/manual/mime-world.fig:
5285           Let's try this again, this time with a file that is
5286           actually in XFig format.
5287
5288 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5289
5290         * docs/manual/mime-world.fig:
5291           Add audioconvert element to diagram so that it
5292           matches the text and the code (fixes #319526).
5293
5294 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         * docs/pwg/building-chainfn.xml:
5297         * docs/pwg/building-pads.xml:
5298         * docs/pwg/building-state.xml:
5299         * docs/pwg/other-source.xml:
5300           Update state change stuff for 0.10 (fixes #322969).
5301
5302 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5303
5304         * docs/manual/advanced-dataaccess.xml:
5305         * docs/manual/appendix-checklist.xml:
5306         * docs/manual/appendix-programs.xml:
5307         * docs/manual/basics-pads.xml:
5308         * docs/manual/highlevel-components.xml:
5309         * docs/manual/manual.xml:
5310           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5311           add converters in front of pipelines; remove curly
5312           brackets for threads stuff, they no longer exist; use
5313           GST_TYPE_FRACTION for framerates; update some pieces of
5314           code to 0.10, but there's plenty more to do.
5315
5316         * docs/manual/appendix-porting.xml:
5317           Expand on asynchroneous state changes; s/0.9/0.10/;
5318           mention disappearance of gst_init_get_popt_table()
5319           (fixes #322916).
5320
5321 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * docs/faq/using.xml:
5324           Spider no longer exists, and neither does gst-launch-ext.
5325           Update examples to use decodebin and playbin and put
5326           converters in front of sinks (fixes #323726).
5327
5328 2005-12-09  Michael Smith  <msmith@fluendo.com>
5329
5330         * plugins/elements/gsttypefindelement.c: (find_peek),
5331         (gst_type_find_element_chain):
5332           Fix leaking element factories in typefinding.
5333           Fix problem where we forgot about a probable type on non-seekable
5334           files, and thus later mis-typefound it.
5335
5336 2005-12-09  Michael Smith  <msmith@fluendo.com>
5337
5338         * common/m4/gst-makecontext.m4:
5339         * common/m4/gst-mcsc.m4:
5340         * configure.ac:
5341         * win32/common/config.h:
5342         * win32/common/config.h.in:
5343           Remove makecontext stuff; not used in 0.10 and causes problems on
5344           HPUX according to bug #322441
5345
5346 2005-12-07  Wim Taymans  <wim@fluendo.com>
5347
5348         * tests/check/Makefile.am:
5349         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5350         (main):
5351         * tests/check/libs/struct_i386.h:
5352         Added ABI check for libs
5353
5354 2005-12-07  Wim Taymans  <wim@fluendo.com>
5355
5356         * tests/check/Makefile.am:
5357         And add the struct_i386.h to dist.
5358
5359 2005-12-07  Wim Taymans  <wim@fluendo.com>
5360
5361         * tests/check/Makefile.am:
5362         * tests/check/gst/.cvsignore:
5363         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5364         (main):
5365         * tests/check/gst/struct_i386.h:
5366         Added check for ABI compatibility.
5367
5368 2005-12-07  Wim Taymans  <wim@fluendo.com>
5369
5370         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5371         (gst_fake_src_get_times), (gst_fake_src_create):
5372         Fix broken sync option, fixes #323259
5373
5374 2005-12-07  Wim Taymans  <wim@fluendo.com>
5375
5376         * gst/gstbuffer.c:
5377         Small docs update.
5378
5379         * gst/gstcaps.c: (gst_caps_is_equal):
5380         Don't assert on NULL <--> X. Fixes #323260
5381
5382         * gst/gstminiobject.c: (gst_mini_object_replace):
5383         If we're doing atomic operations, we might just as well use
5384         the proper way to get an atomic pointer.
5385
5386         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5387         Clean up debugging.
5388
5389 2005-12-07  Michael Smith  <msmith@fluendo.com>
5390
5391         * gst/parse/grammar.y:
5392           Remove handling of { } for threads.
5393
5394 2005-12-06  David Schleef  <ds@schleef.org>
5395
5396         * libs/gst/base/gstbasetransform.c: speling fix.
5397
5398 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * docs/libs/tmpl/gstdataprotocol.sgml:
5401         * docs/random/omega/testing/gstobject.c:
5402         * gst/gst.c:
5403         * gst/gstclock.c:
5404         * gst/gstelement.c:
5405         * gst/gstelementfactory.c:
5406         * gst/gsterror.c:
5407         * gst/gstevent.c:
5408         * gst/gstghostpad.c:
5409         * gst/gstinfo.c:
5410         * gst/gstpadtemplate.c:
5411         * gst/gstregistryxml.c:
5412         * gst/gsttaglist.c:
5413         * gst/gsttagsetter.c:
5414         * gst/gsttypefind.c:
5415         * gst/gstvalue.c:
5416         * libs/gst/base/gstbasesrc.c:
5417         * libs/gst/net/gstnetclientclock.c:
5418         * libs/gst/net/gstnettimeprovider.c:
5419         * plugins/elements/gstfakesrc.c:
5420         * plugins/elements/gstfdsrc.c:
5421         * plugins/elements/gstfilesrc.c:
5422         * plugins/elements/gstidentity.c:
5423         * plugins/elements/gstqueue.c:
5424         * plugins/elements/gsttypefindelement.c:
5425         * plugins/indexers/gstfileindex.c:
5426         * plugins/indexers/gstmemindex.c:
5427         * tests/check/gst/gsttag.c:
5428         * tests/old/examples/cutter/cutter.c:
5429         * tests/old/examples/mixer/mixer.c:
5430         * tests/old/examples/xml/runxml.c: (main):
5431         * tests/old/testsuite/caps/normalisation.c:
5432         * tests/old/testsuite/debug/global.c:
5433         * tests/old/testsuite/parse/parse1.c:
5434         * tools/gst-xmlinspect.c:
5435         * win32/common/dirent.c:
5436           expand tabs
5437
5438 === release 0.10.0 ===
5439
5440 2005-12-05   <thomas (at) apestaart (dot) org>
5441
5442         * configure.ac:
5443           releasing 0.10.0, "Maroilles"
5444
5445 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5446
5447         submitted by: Funda Wang <fundawang@linux.net.cn>
5448
5449         * po/LINGUAS:
5450         * po/zh_CN.po:
5451           added Chinese (Traditional) translation
5452
5453 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * docs/gst/gstreamer-sections.txt:
5456         * docs/libs/tmpl/gstdataprotocol.sgml:
5457         * docs/random/thomasvs/TODO:
5458         * gst/gstutils.c:
5459         * gst/gstutils.h:
5460           fix docs
5461
5462 2005-12-05  Andy Wingo  <wingo@pobox.com>
5463
5464         patch by: Wim Taymans <wim@fluendo.com>
5465
5466         * libs/gst/base/gstbasetransform.c
5467         (gst_base_transform_prepare_output_buf)
5468         (gst_base_transform_buffer_alloc):
5469         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5470         alloc_buffer_and_set_caps.
5471
5472         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5473         set_caps on the source pad.
5474         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5475         alloc_buffer used to do. Fixes #322874.
5476
5477         * docs/gst/gstreamer-sections.txt: 
5478         * docs/design/part-negotiation.txt: 
5479         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5480         changes.
5481
5482 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         patch by: Sebastien Moutte
5485
5486         * win32/MANIFEST:
5487         * win32/common/config.h.in:
5488         * win32/vs6/libgstcontroller.dsp:
5489           win32 build fixes
5490
5491 2005-12-05  Wim Taymans  <wim@fluendo.com>
5492
5493         * gst/gstcaps.c: (gst_caps_is_equal):
5494         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5495         (gst_fake_src_create):
5496         Back out previous code changes, leave doc updates, file bugs 
5497         instead. 
5498
5499 2005-12-05  Wim Taymans  <wim@fluendo.com>
5500
5501         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5502         (gst_fake_src_get_times), (gst_fake_src_create):
5503         * plugins/elements/gstfakesrc.h:
5504         Fix broken sync code.
5505
5506 2005-12-05  Wim Taymans  <wim@fluendo.com>
5507
5508         * gst/gstcaps.c: (gst_caps_is_equal):
5509         Comparing NULL against !NULL yields different caps, not a
5510         failure.
5511
5512 2005-12-05  Wim Taymans  <wim@fluendo.com>
5513
5514         * gst/gstpipeline.c:
5515         Fix small typo in docs.
5516
5517 2005-12-05  Andy Wingo  <wingo@pobox.com>
5518
5519         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5520
5521         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5522         registries/plugins with a MAJORMINOR one.
5523         (plugin_desc): Rename library from gstcoreleements to
5524         staticelements. Fixes #323222.
5525
5526 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5527
5528         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5529           Change debug category to 'collectpads' from 'collect_pads'
5530           (fixes #323250).
5531
5532 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5533
5534         patch by: Sebastien Moutte
5535
5536         * libs/gst/controller/gstinterpolation.c:
5537           use convert function for uint64/double
5538         * win32/vs6/libgstcontroller.dsp:
5539           link to GLib
5540
5541 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5544         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5545         * gst/gstutils.h:
5546         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5547           add tests that seem to show that the guint64/gdouble conversions
5548           are correct.
5549
5550 2005-12-02  Wim Taymans  <wim@fluendo.com>
5551
5552         * gst/gstregistry.c: (gst_registry_add_path):
5553         * gst/gstregistry.h:
5554         * gst/gstregistryxml.c:
5555         Fix docs again.
5556
5557 2005-12-02  Wim Taymans  <wim@fluendo.com>
5558
5559         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5560         (gst_util_uint64_scale_int):
5561         Small cleanup.
5562
5563         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5564         Add debug log line.
5565
5566         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5567         Add FIXME.
5568
5569 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * win32/MANIFEST:
5572         * win32/common/config.h:
5573         * win32/vs6/gstreamer.dsw:
5574         * win32/vs6/libgstcoreelements.dsp:
5575         * win32/vs6/libgstelements.dsp:
5576           renamed core elements plugin
5577
5578 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5581         (get_candidates):
5582           do piece-wise major/minor comparison so 0.9 < 0.10
5583           also allow .exe extensions for tools
5584
5585 2005-12-02  Michael Smith  <msmith@fluendo.com>
5586
5587         * gst/gst.c:
5588           Escape a % to make gtkdoc happier; bug 322958.
5589
5590 === release 0.9.7 ===
5591
5592 2005-12-01   <thomas (at) apestaart (dot) org>
5593
5594         * configure.ac:
5595           releasing 0.9.7, "My Dog Has No Nose"
5596
5597 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5598
5599         * common/gst-xmlinspect.py:
5600         * configure.ac:
5601         * docs/libs/tmpl/gstdataprotocol.sgml:
5602         * docs/random/release:
5603         * po/af.po:
5604         * po/az.po:
5605         * po/bg.po:
5606         * po/ca.po:
5607         * po/cs.po:
5608         * po/de.po:
5609         * po/en_GB.po:
5610         * po/fr.po:
5611         * po/it.po:
5612         * po/nb.po:
5613         * po/nl.po:
5614         * po/ru.po:
5615         * po/sq.po:
5616         * po/sr.po:
5617         * po/sv.po:
5618         * po/tr.po:
5619         * po/uk.po:
5620         * po/vi.po:
5621         * win32/common/config.h:
5622         * win32/common/config.h.in:
5623         * win32/vs6/gst_inspect.dsp:
5624         * win32/vs6/gst_launch.dsp:
5625         * win32/vs6/libgstbase.dsp:
5626         * win32/vs6/libgstelements.dsp:
5627         * win32/vs6/libgstreamer.dsp:
5628         * win32/vs7/GStreamer.vcproj:
5629         * win32/vs7/gst-inspect.vcproj:
5630         * win32/vs7/gst-launch.vcproj:
5631         * win32/vs7/libgstbase.vcproj:
5632           bump GST_MAJORMINOR to 0.10
5633           reset libtool version
5634
5635 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5636
5637         * po/LINGUAS:
5638         * po/bg.po:
5639           Added Bulgarian translation by (Alexander Shopov)
5640
5641 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5642
5643         * tests/check/gst/gstplugin.c:
5644           fix test
5645
5646 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5647
5648         * common/gst-xmlinspect.py:
5649         * common/gtk-doc-plugins.mak:
5650         * configure.ac:
5651         * docs/Makefile.am:
5652         * docs/gst/Makefile.am:
5653         * docs/gst/gstreamer-docs.sgml:
5654         * docs/gst/gstreamer-sections.txt:
5655         * docs/gst/gstreamer.types:
5656         * docs/gst/gstreamer.types.in:
5657         * docs/plugins/Makefile.am:
5658         * docs/plugins/gstreamer-plugins-docs.sgml:
5659         * docs/plugins/gstreamer-plugins-sections.txt:
5660         * docs/plugins/gstreamer-plugins.types:
5661         * docs/plugins/inspect.stamp:
5662         * docs/plugins/inspect/plugin-coreelements.xml:
5663         * docs/plugins/inspect/plugin-coreindexers.xml:
5664         * docs/plugins/scanobj-build.stamp:
5665         * gstreamer.spec.in:
5666         * plugins/elements/Makefile.am:
5667         * plugins/elements/gstelements.c:
5668         * plugins/elements/gstfakesink.c:
5669         * plugins/elements/gstfakesrc.c:
5670         * plugins/elements/gstfilesink.c:
5671         * plugins/elements/gstfilesrc.c:
5672         * plugins/elements/gstqueue.c:
5673         * plugins/indexers/Makefile.am:
5674         * plugins/indexers/gstindexers.c:
5675           document core plugins in a separate document just like all the
5676           others
5677           rename these plugins to something starting with core
5678
5679 2005-12-01  Andy Wingo  <wingo@pobox.com>
5680
5681         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5682         padding here before, but it missed the commit.
5683
5684 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5685
5686         * libs/gst/controller/gstinterpolation.c:
5687           whitespace prices have crashed, we should feel free to use some now
5688           use gst_guint64_to_gdouble
5689
5690 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5691
5692         * libs/gst/controller/gstcontroller.c:
5693         * libs/gst/controller/gsthelper.c:
5694         * libs/gst/controller/gstinterpolation.c:
5695         * libs/gst/controller/lib.c:
5696           wrap config.h include
5697
5698 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5699
5700         * docs/gst/gstreamer-sections.txt:
5701           update docs
5702
5703 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5704
5705         * plugins/elements/gstelements.c:
5706         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5707         (gst_fd_sink__class_init), (gst_fd_sink__init),
5708         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5709         (gst_fd_sink__get_property):
5710         * plugins/elements/gstfdsink.h:
5711         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5712         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5713         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5714         (gst_fd_src_unlock), (gst_fd_src_set_property),
5715         (gst_fd_src_get_property), (gst_fd_src_create),
5716         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5717         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5718         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5719         (gst_fd_src_uri_handler_init):
5720         * plugins/elements/gstfdsrc.h:
5721         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5722           more anal cleanup
5723
5724 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5725
5726         * docs/gst/Makefile.am:
5727         * docs/gst/gstreamer.types.in:
5728         * gst/Makefile.am:
5729           fix the docs build
5730
5731 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * configure.ac:
5734         * gst/Makefile.am:
5735         * gst/gst.c:
5736         * gst/gstplugin.h:
5737         * gst/gstregistry.h:
5738         * tests/benchmarks/complexity.c:
5739         * tests/benchmarks/mass-elements.c:
5740         * tests/check/Makefile.am:
5741         * tools/Makefile.am:
5742         * tools/gst-inspect.c:
5743         * tools/gst-xmlinspect.c:
5744           various fixes to make
5745           --disable-nls --disable-registry --disable-loadsave
5746           --disable-parse --disable-gst-debug
5747           work and get the core .so down to 360444 bytes after stripping
5748
5749 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * Makefile.am:
5752         * configure.ac:
5753           descend into tests
5754         * docs/random/thomasvs/TODO:
5755         * tests/Makefile.am:
5756         * tests/README:
5757           add a README
5758
5759 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5760
5761         * win32/GStreamer.vcproj:
5762         * win32/MANIFEST:
5763         * win32/Makefile:
5764         * win32/Makefile.inspect:
5765         * win32/Makefile.launch:
5766         * win32/Makefile.register:
5767         * win32/README.txt:
5768         * win32/gst-inspect.vcproj:
5769         * win32/gst-launch.vcproj:
5770         * win32/gst-register.vcproj:
5771         * win32/gstelements.vcproj:
5772         * win32/gstgetbits.def:
5773         * win32/gstgetbits.vcproj:
5774         * win32/gstreamer-dbg.def:
5775         * win32/gstreamer.def:
5776         * win32/libgstbase.def:
5777         * win32/libgstbase.vcproj:
5778         * win32/link_oldruntime.c:
5779         * win32/mman.c:
5780         * win32/mman.h:
5781         * win32/mman.inl:
5782         * win32/msvc71.sln:
5783           move even more stuff, win32/ is nice and clean now
5784
5785 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5786
5787         * libs/gst/control/.cvsignore:
5788         * win32/MANIFEST:
5789         * win32/config.h:
5790         * win32/dirent.c:
5791         * win32/dirent.h:
5792         * win32/gstbytestream.def:
5793         * win32/gstbytestream.vcproj:
5794         * win32/gstconfig.h:
5795         * win32/gstenumtypes.c:
5796         * win32/gstenumtypes.h:
5797         * win32/gstoptimalscheduler.vcproj:
5798         * win32/gstversion.h:
5799         * win32/gtchar.h:
5800         * win32/testsuite/bins.vcproj:
5801         * win32/testsuite/bytestream.vcproj:
5802         * win32/testsuite/caps.vcproj:
5803         * win32/testsuite/cleanup.vcproj:
5804         * win32/testsuite/clock.vcproj:
5805         * win32/testsuite/debug.vcproj:
5806         * win32/testsuite/dlopen.vcproj:
5807         * win32/testsuite/dynparams.vcproj:
5808         * win32/testsuite/elements.vcproj:
5809         * win32/testsuite/ghostpads.vcproj:
5810         * win32/testsuite/indexers.vcproj:
5811         * win32/testsuite/negotiation.vcproj:
5812         * win32/testsuite/parse.vcproj:
5813         * win32/testsuite/plugin.vcproj:
5814         * win32/testsuite/refcounting.vcproj:
5815         * win32/testsuite/schedulers.vcproj:
5816         * win32/testsuite/states.vcproj:
5817         * win32/testsuite/tags.vcproj:
5818         * win32/testsuite/threads.vcproj:
5819           remove old win32 stuff that isn't maintained and should be
5820           reorganized
5821
5822 2005-11-30  Andy Wingo  <wingo@pobox.com>
5823
5824         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5825         loading the gst.interfaces python module bork.
5826
5827         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5828         available since GLib 2.2. Fixes #318031.
5829
5830 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * Makefile.am:
5833         * check/.cvsignore:
5834         * check/Makefile.am:
5835         * check/elements/.cvsignore:
5836         * check/elements/fakesrc.c:
5837         * check/elements/fdsrc.c:
5838         * check/elements/identity.c:
5839         * check/generic/.cvsignore:
5840         * check/generic/states.c:
5841         * check/gst-libs/.cvsignore:
5842         * check/gst-libs/controller.c:
5843         * check/gst-libs/gdp.c:
5844         * check/gst/.cvsignore:
5845         * check/gst/capslist.h:
5846         * check/gst/gst.c:
5847         * check/gst/gstbin.c:
5848         * check/gst/gstbuffer.c:
5849         * check/gst/gstbus.c:
5850         * check/gst/gstcaps.c:
5851         * check/gst/gstelement.c:
5852         * check/gst/gstevent.c:
5853         * check/gst/gstghostpad.c:
5854         * check/gst/gstiterator.c:
5855         * check/gst/gstmessage.c:
5856         * check/gst/gstminiobject.c:
5857         * check/gst/gstobject.c:
5858         * check/gst/gstpad.c:
5859         * check/gst/gstpipeline.c:
5860         * check/gst/gstplugin.c:
5861         * check/gst/gstsegment.c:
5862         * check/gst/gststructure.c:
5863         * check/gst/gstsystemclock.c:
5864         * check/gst/gsttag.c:
5865         * check/gst/gstutils.c:
5866         * check/gst/gstvalue.c:
5867         * check/net/.cvsignore:
5868         * check/net/gstnetclientclock.c:
5869         * check/net/gstnettimeprovider.c:
5870         * check/pipelines/.cvsignore:
5871         * check/pipelines/cleanup.c:
5872         * check/pipelines/simple_launch_lines.c:
5873         * check/pipelines/stress.c:
5874         * check/states/.cvsignore:
5875         * check/states/sinks.c:
5876         * configure.ac:
5877         * examples/Makefile.am:
5878         * examples/appreader/.cvsignore:
5879         * examples/appreader/Makefile.am:
5880         * examples/appreader/appreader.c:
5881         * examples/controller/.cvsignore:
5882         * examples/controller/Makefile.am:
5883         * examples/controller/audio-example.c:
5884         * examples/cutter/.cvsignore:
5885         * examples/cutter/Makefile.am:
5886         * examples/cutter/cutter.c:
5887         * examples/cutter/cutter.h:
5888         * examples/events/Makefile.am:
5889         * examples/events/seek.c:
5890         * examples/helloworld/.cvsignore:
5891         * examples/helloworld/Makefile.am:
5892         * examples/helloworld/helloworld.c:
5893         * examples/helloworld2/.cvsignore:
5894         * examples/helloworld2/Makefile.am:
5895         * examples/helloworld2/helloworld2.c:
5896         * examples/launch/.cvsignore:
5897         * examples/launch/Makefile.am:
5898         * examples/launch/mp3parselaunch.c:
5899         * examples/launch/mp3play:
5900         * examples/manual/.cvsignore:
5901         * examples/manual/Makefile.am:
5902         * examples/manual/extract.pl:
5903         * examples/metadata/Makefile.am:
5904         * examples/metadata/read-metadata.c:
5905         * examples/mixer/.cvsignore:
5906         * examples/mixer/Makefile.am:
5907         * examples/mixer/mixer.c:
5908         * examples/mixer/mixer.h:
5909         * examples/pingpong/.cvsignore:
5910         * examples/pingpong/Makefile.am:
5911         * examples/pingpong/pingpong.c:
5912         * examples/plugins/.cvsignore:
5913         * examples/plugins/Makefile.am:
5914         * examples/plugins/example.c:
5915         * examples/plugins/example.h:
5916         * examples/pwg/.cvsignore:
5917         * examples/pwg/Makefile.am:
5918         * examples/pwg/extract.pl:
5919         * examples/queue/.cvsignore:
5920         * examples/queue/Makefile.am:
5921         * examples/queue/queue.c:
5922         * examples/queue2/.cvsignore:
5923         * examples/queue2/Makefile.am:
5924         * examples/queue2/queue2.c:
5925         * examples/queue3/.cvsignore:
5926         * examples/queue3/Makefile.am:
5927         * examples/queue3/queue3.c:
5928         * examples/queue4/.cvsignore:
5929         * examples/queue4/Makefile.am:
5930         * examples/queue4/queue4.c:
5931         * examples/retag/.cvsignore:
5932         * examples/retag/Makefile.am:
5933         * examples/retag/retag.c:
5934         * examples/retag/transcode.c:
5935         * examples/thread/.cvsignore:
5936         * examples/thread/Makefile.am:
5937         * examples/thread/thread.c:
5938         * examples/typefind/.cvsignore:
5939         * examples/typefind/Makefile.am:
5940         * examples/typefind/typefind.c:
5941         * examples/xml/.cvsignore:
5942         * examples/xml/Makefile.am:
5943         * examples/xml/createxml.c:
5944         * examples/xml/runxml.c:
5945         * tests/Makefile.am:
5946         * tests/check/Makefile.am:
5947         * testsuite/.cvsignore:
5948         * testsuite/Makefile.am:
5949         * testsuite/Rules:
5950         * testsuite/caps/.cvsignore:
5951         * testsuite/caps/Makefile.am:
5952         * testsuite/caps/app_fixate.c:
5953         * testsuite/caps/audioscale.c:
5954         * testsuite/caps/caps.c:
5955         * testsuite/caps/caps.h:
5956         * testsuite/caps/caps_strings:
5957         * testsuite/caps/compatibility.c:
5958         * testsuite/caps/deserialize.c:
5959         * testsuite/caps/enumcaps.c:
5960         * testsuite/caps/eratosthenes.c:
5961         * testsuite/caps/filtercaps.c:
5962         * testsuite/caps/fixed.c:
5963         * testsuite/caps/fraction-convert.c:
5964         * testsuite/caps/fraction-multiply-and-zero.c:
5965         * testsuite/caps/intersect2.c:
5966         * testsuite/caps/intersection.c:
5967         * testsuite/caps/normalisation.c:
5968         * testsuite/caps/random.c:
5969         * testsuite/caps/renegotiate.c:
5970         * testsuite/caps/sets.c:
5971         * testsuite/caps/simplify.c:
5972         * testsuite/caps/string-conversions.c:
5973         * testsuite/caps/structure.c:
5974         * testsuite/caps/subtract.c:
5975         * testsuite/caps/union.c:
5976         * testsuite/debug/.cvsignore:
5977         * testsuite/debug/Makefile.am:
5978         * testsuite/debug/category.c:
5979         * testsuite/debug/commandline.c:
5980         * testsuite/debug/global.c:
5981         * testsuite/debug/output.c:
5982         * testsuite/debug/printf_extension.c:
5983         * testsuite/dlopen/.cvsignore:
5984         * testsuite/dlopen/Makefile.am:
5985         * testsuite/dlopen/dlopen_gst.c:
5986         * testsuite/dlopen/loadgst.c:
5987         * testsuite/elements/.cvsignore:
5988         * testsuite/elements/Makefile.am:
5989         * testsuite/elements/gst-inspect-check.in:
5990         * testsuite/elements/struct_i386.h:
5991         * testsuite/elements/struct_size.c:
5992         * testsuite/indexers/.cvsignore:
5993         * testsuite/indexers/Makefile.am:
5994         * testsuite/indexers/cache1.c:
5995         * testsuite/indexers/indexdump.c:
5996         * testsuite/parse/.cvsignore:
5997         * testsuite/parse/Makefile.am:
5998         * testsuite/parse/parse1.c:
5999         * testsuite/parse/parse2.c:
6000         * testsuite/plugin/.cvsignore:
6001         * testsuite/plugin/Makefile.am:
6002         * testsuite/plugin/README:
6003         * testsuite/plugin/dynamic.c:
6004         * testsuite/plugin/linked.c:
6005         * testsuite/plugin/loading.c:
6006         * testsuite/plugin/registry.c:
6007         * testsuite/plugin/static.c:
6008         * testsuite/plugin/static2.c:
6009         * testsuite/plugin/testplugin.c:
6010         * testsuite/plugin/testplugin2.c:
6011         * testsuite/plugin/testplugin2_s.c:
6012         * testsuite/plugin/testplugin_s.c:
6013         * testsuite/refcounting/.cvsignore:
6014         * testsuite/refcounting/Makefile.am:
6015         * testsuite/refcounting/bin.c:
6016         * testsuite/refcounting/element.c:
6017         * testsuite/refcounting/element_pad.c:
6018         * testsuite/refcounting/mainloop.c:
6019         * testsuite/refcounting/mem.c:
6020         * testsuite/refcounting/mem.h:
6021         * testsuite/refcounting/object.c:
6022         * testsuite/refcounting/pad.c:
6023         * testsuite/refcounting/sched.c:
6024         * testsuite/refcounting/thread.c:
6025         * testsuite/states/.cvsignore:
6026         * testsuite/states/Makefile.am:
6027         * testsuite/states/bin.c:
6028         * testsuite/states/locked.c:
6029         * testsuite/states/parent.c:
6030         * testsuite/threads/.cvsignore:
6031         * testsuite/threads/159566.c:
6032         * testsuite/threads/159852.c:
6033         * testsuite/threads/Makefile.am:
6034         * testsuite/threads/queue.c:
6035         * testsuite/threads/signals.c:
6036         * testsuite/threads/staticrec.c:
6037         * testsuite/threads/thread.c:
6038         * testsuite/threads/threadb.c:
6039         * testsuite/threads/threadc.c:
6040         * testsuite/threads/threadd.c:
6041         * testsuite/threads/threade.c:
6042         * testsuite/threads/threadf.c:
6043         * testsuite/threads/threadg.c:
6044         * testsuite/threads/threadh.c:
6045         * testsuite/threads/threadi.c:
6046           move all of these under tests
6047
6048 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * configure.ac:
6051         * tests/Makefile.am:
6052           fix distcheck
6053
6054 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6055
6056         * docs/gst/gstreamer-sections.txt:
6057         * tests/sched/.cvsignore:
6058         * tests/sched/Makefile.am:
6059         * tests/sched/cases/(fs-fs).xml:
6060         * tests/sched/cases/(fs-i-fs).xml:
6061         * tests/sched/cases/(fs-i-i-fs).xml:
6062         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6063         * tests/sched/dynamic-pipeline.c:
6064         * tests/sched/interrupt1.c:
6065         * tests/sched/interrupt2.c:
6066         * tests/sched/interrupt3.c:
6067         * tests/sched/runtestcases:
6068         * tests/sched/runxml.c:
6069         * tests/sched/sched-stress.c:
6070         * tests/sched/sort.c:
6071         * tests/sched/testcases:
6072         * tests/sched/testcases1.tc:
6073         * tests/seeking/.cvsignore:
6074         * tests/seeking/Makefile.am:
6075         * tests/seeking/seeking1.c:
6076         * tests/threadstate/.cvsignore:
6077         * tests/threadstate/Makefile.am:
6078         * tests/threadstate/test1.c:
6079         * tests/threadstate/test2.c:
6080         * tests/threadstate/threadstate1.c:
6081         * tests/threadstate/threadstate2.c:
6082         * tests/threadstate/threadstate3.c:
6083         * tests/threadstate/threadstate4.c:
6084         * tests/threadstate/threadstate5.c:
6085           remove obsolete tests
6086         * configure.ac:
6087         * tests/bench-complexity.scm:
6088         * tests/bench-mass_elements.scm:
6089         * tests/complexity.c:
6090         * tests/complexity.gnuplot:
6091         * tests/instantiate/.cvsignore:
6092         * tests/instantiate/Makefile.am:
6093         * tests/instantiate/caps.c:
6094         * tests/mass_elements.c:
6095         * tests/network-clock-utils.scm:
6096         * tests/network-clock.scm:
6097         * tests/plot-data:
6098         First pass at cleaning up tests/ dir before moving the rest
6099         Combined with CVS surgery
6100
6101 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * po/POTFILES.in:
6104           queue has moved, update
6105
6106 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6107
6108         * docs/gst/gstreamer-sections.txt:
6109           remove double entries from the docs
6110         * gst/gst_private.h:
6111         * gst/gstinfo.c: (_gst_debug_init):
6112           remove the THREAD debug category
6113         * gst/Makefile.am:
6114         * gst/gstqueue.c:
6115         * gst/gstqueue.h:
6116         * docs/gst/gstreamer.types:
6117         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6118         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6119           completely move queue and fix up debugging categories
6120
6121 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6122
6123         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6124           make initialization portable, using LL is not
6125
6126 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6127
6128         * win32/common/gstconfig.h:
6129           add large padding
6130
6131 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6132
6133         * win32/common/libgstreamer.def:
6134           rename symbols; sort base section
6135
6136 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6137
6138         * gst/gstclock.c: (do_linear_regression):
6139           remove crack non-portable handrolled DEBUG macro
6140
6141 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6142
6143         * docs/random/release:
6144           update notes
6145         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6146         (gst_object_flags_get_type), (register_gst_bin_flags),
6147         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6148         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6149         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6150         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6151         (gst_caps_flags_get_type), (register_gst_clock_return),
6152         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6153         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6154         (gst_clock_flags_get_type), (register_gst_state),
6155         (gst_state_get_type), (register_gst_state_change_return),
6156         (gst_state_change_return_get_type), (register_gst_state_change),
6157         (gst_state_change_get_type), (register_gst_element_flags),
6158         (gst_element_flags_get_type), (register_gst_core_error),
6159         (gst_core_error_get_type), (register_gst_library_error),
6160         (gst_library_error_get_type), (register_gst_resource_error),
6161         (gst_resource_error_get_type), (register_gst_stream_error),
6162         (gst_stream_error_get_type), (register_gst_event_type_flags),
6163         (gst_event_type_flags_get_type), (register_gst_event_type),
6164         (gst_event_type_get_type), (register_gst_seek_type),
6165         (gst_seek_type_get_type), (register_gst_seek_flags),
6166         (gst_seek_flags_get_type), (register_gst_format),
6167         (gst_format_get_type), (register_gst_index_certainty),
6168         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6169         (gst_index_entry_type_get_type),
6170         (register_gst_index_lookup_method),
6171         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6172         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6173         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6174         (gst_index_flags_get_type), (register_gst_debug_level),
6175         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6176         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6177         (gst_iterator_result_get_type), (register_gst_iterator_item),
6178         (gst_iterator_item_get_type), (register_gst_message_type),
6179         (gst_message_type_get_type), (register_gst_mini_object_flags),
6180         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6181         (gst_pad_link_return_get_type), (register_gst_flow_return),
6182         (gst_flow_return_get_type), (register_gst_activate_mode),
6183         (gst_activate_mode_get_type), (register_gst_pad_direction),
6184         (gst_pad_direction_get_type), (register_gst_pad_flags),
6185         (gst_pad_flags_get_type), (register_gst_pad_presence),
6186         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6187         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6188         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6189         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6190         (gst_plugin_flags_get_type), (register_gst_rank),
6191         (gst_rank_get_type), (register_gst_query_type),
6192         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6193         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6194         (gst_tag_flag_get_type), (register_gst_task_state),
6195         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6196         (gst_alloc_trace_flags_get_type),
6197         (register_gst_type_find_probability),
6198         (gst_type_find_probability_get_type), (register_gst_uri_type),
6199         (gst_uri_type_get_type), (register_gst_parse_error),
6200         (gst_parse_error_get_type):
6201         * win32/common/gstenumtypes.h:
6202         * win32/common/gstversion.h:
6203           update visual studio generated files
6204
6205 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6206
6207         * win32/vs6/libgstbase.dsp:
6208         * win32/vs6/libgstelements.dsp:
6209           update project files for new locations
6210
6211 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6212
6213         * Makefile.am:
6214           remove some files
6215         * README:
6216           reinstate and update
6217         * DEVEL:
6218         * REQUIREMENTS:
6219           removed
6220         * LICENSE:
6221         * docs/random/LICENSE:
6222           moved to random
6223
6224 2005-11-30  Edward Hervey  <edward@fluendo.com>
6225
6226         * gst/gsttypefind.c: (gst_type_find_register):
6227         * gst/gsttypefind.h:
6228         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6229         (gst_type_find_factory_dispose):
6230         * gst/gsttypefindfactory.h:
6231         Fix memory leak in GstTypeFindFactory.
6232
6233 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6234
6235         * gst/gst.c:
6236         * plugins/elements/Makefile.am:
6237         * plugins/elements/gstelements.c:
6238         * plugins/elements/gstqueue.c:
6239           move queue from core to the elements plugin
6240
6241 2005-11-29  Andy Wingo  <wingo@pobox.com>
6242
6243         * libs/gst/base/gstbasetransform.h: 
6244         * libs/gst/base/gstbasesrc.h: 
6245         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6246
6247         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6248         of pointers by which to pad very extensible base classes (like the
6249         ones in libs/gst/base).
6250
6251 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6252
6253         * docs/gst/gstreamer-docs.sgml:
6254         * docs/gst/gstreamer-sections.txt:
6255         * docs/libs/gstreamer-libs-docs.sgml:
6256         * docs/libs/gstreamer-libs-sections.txt:
6257           moving documentation from core to lib
6258
6259 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6260
6261         * check/Makefile.am:
6262         * configure.ac:
6263         * docs/gst/Makefile.am:
6264         * gst/Makefile.am:
6265         * gst/base/.cvsignore:
6266         * gst/base/Makefile.am:
6267         * gst/base/README:
6268         * gst/base/gstadapter.c:
6269         * gst/base/gstadapter.h:
6270         * gst/base/gstbasesink.c:
6271         * gst/base/gstbasesink.h:
6272         * gst/base/gstbasesrc.c:
6273         * gst/base/gstbasesrc.h:
6274         * gst/base/gstbasetransform.c:
6275         * gst/base/gstbasetransform.h:
6276         * gst/base/gstcollectpads.c:
6277         * gst/base/gstcollectpads.h:
6278         * gst/base/gstpushsrc.c:
6279         * gst/base/gstpushsrc.h:
6280         * gst/base/gsttypefindhelper.c:
6281         * gst/base/gsttypefindhelper.h:
6282         * gst/check/Makefile.am:
6283         * gst/check/gstcheck.c:
6284         * gst/check/gstcheck.h:
6285         * gst/net/Makefile.am:
6286         * gst/net/gstnet.h:
6287         * gst/net/gstnetclientclock.c:
6288         * gst/net/gstnetclientclock.h:
6289         * gst/net/gstnettimepacket.c:
6290         * gst/net/gstnettimepacket.h:
6291         * gst/net/gstnettimeprovider.c:
6292         * gst/net/gstnettimeprovider.h:
6293         * libs/gst/Makefile.am:
6294         * libs/gst/base/Makefile.am:
6295         * libs/gst/base/gstbasetransform.c:
6296         * libs/gst/check/Makefile.am:
6297         * plugins/elements/Makefile.am:
6298         * po/POTFILES.in:
6299           CVS surgery + support to move base, check, and net out of gst
6300           and into libs/gst
6301
6302 2005-11-29  Andy Wingo  <wingo@pobox.com>
6303
6304         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6305
6306         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6307         padding.
6308
6309         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6310
6311         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6312
6313         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6314
6315         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6316         padding; reduces object size by about 30%. We don't expect
6317         anything else to go into gstobject.
6318
6319         * gst/gstminiobject.h (struct _GstMiniObject)
6320         (struct _GstMiniObjectClass): Only one pointer of padding; the
6321         payload is only a pointer and two ints anyway. For the class there
6322         are only two methods as well.
6323         
6324         * gst/gstelement.h (struct _GstElementClass): Removed
6325         the state_changed signal callback, it is not used.
6326
6327 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * docs/gst/gstreamer.types:
6330           fix includes, though they are a little dinky
6331
6332 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6333
6334         * check/Makefile.am:
6335           look in the right place for elements, a lot more chance of
6336           success
6337         * gst/Makefile.am:
6338           remove indexers and elements subdirs
6339         * plugins/Makefile.am:
6340           make indexers conditional
6341
6342 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6343
6344         * Makefile.am:
6345         * configure.ac:
6346         * plugins/elements/Makefile.am:
6347         * plugins/elements/gstcapsfilter.c:
6348         * plugins/elements/gstfilesink.c:
6349         * plugins/elements/gstfilesrc.c:
6350         * plugins/elements/gstidentity.c:
6351         * plugins/indexers/Makefile.am:
6352           do CVS surgery and related build fixery to move elements
6353           and indexers in a new gstreamer/plugins directory, out of the
6354           gst/ directory
6355
6356 2005-11-29  Andy Wingo  <wingo@pobox.com>
6357
6358         * check/Makefile.am:
6359         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6360         * pkgconfig/gstreamer-net.pc.in:
6361         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6362         #322257.
6363
6364 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * tools/Makefile.am:
6367         * tools/gst-complete.1.in:
6368         * tools/gst-complete.c:
6369         * tools/gst-compprep.1.in:
6370         * tools/gst-compprep.c:
6371           removing -compprep and -complete
6372
6373 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6374
6375         * gst/gstevent.c: (gst_event_new_new_segment),
6376         (gst_event_parse_new_segment):
6377         * gst/gstevent.h:
6378           fix #320529 - clean up new_segment API and structure.
6379           Let's hope everyone was using the methods, and not the structure.
6380
6381 2005-11-29  Edward Hervey  <edward@fluendo.com>
6382
6383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6384         (gst_base_sink_event), (gst_base_sink_do_sync),
6385         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6386         Properly handle non GST_FORMAT_TIME segment
6387         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6388         Properly handle non GST_FORMAT_TIME segment
6389         * gst/gstsegment.c:
6390         This function is valid if the accumulator is 0 and the format
6391         is different from the requested format.
6392         
6393 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6394
6395         * docs/gst/gstreamer-sections.txt:
6396         Add gst_query_new_seeking and gst_query_parse_seeking to the
6397         docs.
6398
6399 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6400
6401         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6402           Treat a pad alloc with new caps the same as if we were not
6403           negotiated, in order to allow a changing upstream output
6404           to produce a new format of data.
6405
6406 2005-11-29  Edward Hervey  <edward@fluendo.com>
6407
6408         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6409         (gst_base_transform_event), (gst_base_transform_eventfunc):
6410         The event virtual method is now properly implemented, with a default
6411         handler
6412         Sub classes should call the parent_class event method. They should
6413         return FALSE if they had a problem handling the given event, or don't
6414         want GstBaseTransform to send that even downstream
6415         * gst/elements/gstidentity.c: (gst_identity_class_init),
6416         (gst_identity_init), (gst_identity_event),
6417         (gst_identity_transform_ip), (gst_identity_set_property),
6418         (gst_identity_get_property):
6419         * gst/elements/gstidentity.h:
6420         Added the single-segment boolean property.
6421         If set to TRUE, it will output a single segment of data, starting from
6422         0, will eat up all incoming newsegment, and modify the timestamp of the
6423         buffers accordingly
6424
6425 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6426
6427         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6428           Don't ref NULL target pad (#322751). Improve docs.
6429
6430 2005-11-29  Michael Smith  <msmith@fluendo.com>
6431
6432         * gst/gstregistryxml.c: (load_plugin):
6433           Don't crash if we failed to load a feature from a plugin. 
6434
6435 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6436
6437         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6438         (GST_START_TEST):
6439           use more check API and less GLib API
6440
6441 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6442
6443         * Makefile.am:
6444           don't run checks if we don't have check
6445         * common/check.mak:
6446           remove the registry when running make torture
6447         * docs/gst/gstreamer-sections.txt:
6448           remove second multiply
6449         * gst/gstqueue.c: (gst_queue_loop):
6450           fix a compile warning when disabling debug
6451
6452 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6453
6454         * gst/gstinfo.h:
6455         Hey! Let's print the pad name if the pointer != NULL instead
6456         of when it == NULL :-)
6457
6458 2005-11-28  Wim Taymans  <wim@fluendo.com>
6459
6460         * check/gst/gstutils.c: (GST_START_TEST):
6461         Updated check, add some scaling accuracy checking code.
6462
6463         * gst/gstutils.c: (gst_util_div128_64),
6464         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6465         (gst_util_uint64_scale_int):
6466         Fix 6 times faster division code. Optimize for common 
6467         1/1 and less common X/1 cases.
6468
6469 2005-11-28  Wim Taymans  <wim@fluendo.com>
6470
6471         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6472         More checks.
6473
6474         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6475         (do_linear_regression), (gst_clock_add_observation):
6476         Cleanups.
6477         Release lock when the clock cannot be slaved.
6478         Catch the case where the regression returned an invalid denominator.
6479
6480         * gst/gstutils.c: (gst_util_div128_64_iterate),
6481         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6482         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6483         Add protentially more performant non-iterative 128/64 divide function
6484         that unfortunatly does not work yet.
6485         Shortcut the trivial 0/X = 0 case.
6486         Remove the warnings on overflow.
6487
6488 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6489
6490         * gst/gstplugin.c: (gst_plugin_register_func):
6491           everything causing a plugin not to load should be at least a WARNING
6492
6493 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6494
6495         * docs/random/ensonic/dparams.txt:
6496           some TODOs for the next dev cycle
6497         * libs/gst/controller/gstcontroller.c:
6498         (gst_controlled_property_set_interpolation_mode),
6499         (gst_controlled_property_new):
6500         * libs/gst/controller/gstcontroller.h:
6501           use base type to assign acccessor functions
6502
6503 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6504
6505         * check/Makefile.am:
6506         Oops, that should have been top_srcdir
6507
6508 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6509
6510         * check/Makefile.am:
6511         * check/elements/fdsrc.c: (GST_START_TEST):
6512         Use a cmdline define to specify the location of a file to use for
6513         testing, to avoid breaking distcheck.
6514
6515 2005-11-28  Andy Wingo  <wingo@pobox.com>
6516
6517         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6518
6519 2005-11-28  Edward Hervey  <edward@fluendo.com>
6520
6521         * tools/gst-launch.c: (main):
6522         Clarify the output strings, makes it easier to translate.
6523         Fixes #322626
6524
6525 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6526
6527         * gst/Makefile.am:
6528           don't try and build net if we don't even have <sys/socket.h>
6529
6530 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6531
6532         * check/Makefile.am:
6533         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6534         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6535           Add tests for fdsrc seekability
6536
6537         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6538         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6539         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6540         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6541         * gst/elements/gstfdsrc.h:
6542           fdsrc should not be a 'live' source.
6543           Implement seeking on seekable fd's.
6544
6545         * gst/gstquery.c: (gst_query_new_seeking),
6546         (gst_query_parse_seeking):
6547         * gst/gstquery.h:
6548           Implement SEEKING query functions: 
6549             *_new_seeking and *_parse_seeking
6550
6551 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6552
6553         * gst/gstelement.c: (gst_element_dispose):
6554           don't loop forever
6555
6556         * gst/gstiterator.c:
6557         * gst/gststructure.c:
6558           doc fixes
6559
6560         * libs/gst/controller/gstcontroller.c:
6561         (gst_controlled_property_set_interpolation_mode):
6562         * libs/gst/controller/gstcontroller.h:
6563         * libs/gst/controller/gstinterpolation.c:
6564         (interpolate_none_get_enum_value_array):
6565           support controlling enums
6566
6567 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6568
6569         * gst/gstvalue.c:
6570           Improve documentation for gst_value_union().
6571
6572         * gst/gstvalue.h:
6573           Change return value for union, intersect and subtract functions
6574           from gint to gboolean.
6575
6576 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6577
6578         * gst/gstvalue.c: (gst_value_serialize_any_list),
6579         (gst_value_transform_any_list_string),
6580         (gst_value_deserialize_list), (gst_value_deserialize_array),
6581         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6582         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6583         (gst_value_set_fraction_range_full),
6584         (gst_value_deserialize_fraction_range),
6585         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6586         (gst_value_deserialize_boolean),
6587         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6588         (gst_value_serialize_float), (gst_value_deserialize_float),
6589         (gst_string_wrap), (gst_value_deserialize_string),
6590         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6591         (gst_value_union_int_range_int_range),
6592         (gst_value_intersect_int_range_int_range),
6593         (gst_value_intersect_double_range_double_range),
6594         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6595         (gst_value_subtract_int_range_int_range),
6596         (gst_value_subtract_double_double_range),
6597         (gst_value_subtract_double_range_double_range),
6598         (gst_value_deserialize_fraction):
6599         * gst/gstvalue.h:
6600           Use gint, gdouble and gchar in our API instead of int, double and
6601           char (and make usage in gstvalue.c more consistent).
6602
6603 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6604
6605         * check/Makefile.am:
6606         * libs/gst/controller/Makefile.am:
6607         * libs/gst/dataprotocol/Makefile.am:
6608           fix up Makefile.am and remove GST_ENABLE_NEW
6609
6610 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * configure.ac:
6613         * gst/Makefile.am:
6614         * gst/base/Makefile.am:
6615         * gst/check/Makefile.am:
6616         * gst/elements/Makefile.am:
6617         * gst/net/Makefile.am:
6618           update LDFLAGS use some more
6619
6620 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * common/m4/gst-doc.m4:
6623           Fixes #312589
6624
6625 2005-11-26  Edward Hervey  <edward@fluendo.com>
6626
6627         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6628         This shouldn't issue a g_warning since it returns NULL if it
6629         couldn't find the plugin, and all functions using this behave
6630         properly on a NULL return. Switching to a GST_WARNING.
6631
6632 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6633
6634         * gst/gstbin.c: (gst_bin_handle_message_func):
6635         Don't leak clock messages.
6636
6637 2005-11-25  Wim Taymans  <wim@fluendo.com>
6638
6639         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6640         (gst_util_uint64_scale_int):
6641         Optimisations, remove unneeded vars.
6642
6643 2005-11-25  Wim Taymans  <wim@fluendo.com>
6644
6645         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6646         Added more checks for the high precision uint64 cases.
6647
6648         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6649         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6650         Implement high precision (guint64 * guint64) / guint64.
6651
6652 2005-11-24  Wim Taymans  <wim@fluendo.com>
6653
6654         * gst/base/gstbasesrc.c: (gst_base_src_query):
6655         Fix wrong percentage query.
6656
6657         * gst/gstutils.c: (gst_util_uint64_scale),
6658         (gst_util_uint64_scale_int):
6659         Add some more common cases that can be handled 
6660         efficiently to _scale.
6661
6662 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6665         (gst_mini_object_suite):
6666           don't use check calls from threads; check probably isn't
6667           threadsafe and using a lock to make it threadsafe would
6668           defeat the purpose of this check
6669         * gst/check/gstcheck.c:
6670         * gst/check/gstcheck.h:
6671           use GST_DEBUG some more
6672
6673 2005-11-24  Wim Taymans  <wim@fluendo.com>
6674
6675         * gst/gstutils.c: (gst_util_uint64_scale),
6676         (gst_util_uint64_scale_int):
6677         Chain trivial case to _scale_int.
6678
6679 2005-11-24  Wim Taymans  <wim@fluendo.com>
6680
6681         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6682         Added test for scaling.
6683
6684         * gst/gstclock.h:
6685         Small doc fix.
6686
6687         * gst/gstutils.c: (gst_util_uint64_scale_int):
6688         Implemented high precision scaling code.
6689
6690 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6691
6692         * gst/gstinfo.h:
6693           do not crash on pad==NULL
6694
6695 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         Patch by: Stefan Kost
6698
6699         * common/gtk-doc.mak:
6700         * docs/gst/Makefile.am:
6701         * docs/libs/Makefile.am:
6702           Fix distcheck issues for the libraries docs build
6703           Closes #319599.
6704
6705 2005-11-24  Michael Smith <msmith@fluendo.com>
6706
6707         * docs/manual/basics-helloworld.xml:
6708           Fix bug #315027: memory leak in example code in docs.
6709
6710 2005-11-24  Michael Smith <msmith@fluendo.com>
6711
6712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6713           Unlock the PREROLL_LOCK in a failure case.
6714
6715 2005-11-24  Wim Taymans  <wim@fluendo.com>
6716
6717         * docs/gst/gstreamer-sections.txt:
6718         * gst/base/gstadapter.h:
6719         * gst/base/gstbasesink.h:
6720         * gst/base/gstbasesrc.h:
6721         * gst/base/gstbasetransform.h:
6722         * gst/base/gstpushsrc.h:
6723         * gst/elements/gstfakesink.h:
6724         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6725         * gst/elements/gstfakesrc.h:
6726         * gst/elements/gstfilesink.h:
6727         * gst/elements/gstfilesrc.h:
6728         * gst/gst.c:
6729         * gst/gstbin.c:
6730         * gst/gstbuffer.c: (_gst_buffer_copy):
6731         * gst/gstbus.h:
6732         * gst/gstcaps.c:
6733         * gst/gstchildproxy.c:
6734         * gst/gstclock.c:
6735         * gst/gstelement.c:
6736         * gst/gstelementfactory.c:
6737         * gst/gstelementfactory.h:
6738         * gst/gstevent.c:
6739         * gst/gstghostpad.h:
6740         * gst/gstindex.h:
6741         * gst/gstinterface.h:
6742         * gst/gstminiobject.c:
6743         * gst/gstminiobject.h:
6744         * gst/gstpad.c:
6745         * gst/gstpad.h:
6746         * gst/gstpadtemplate.h:
6747         * gst/gstpipeline.h:
6748         * gst/gstpluginfeature.h:
6749         * gst/gstquery.h:
6750         * gst/gstqueue.h:
6751         * gst/gsttaglist.c:
6752         * gst/gsttaglist.h:
6753         * gst/gsttagsetter.c:
6754         * gst/gsttagsetter.h:
6755         * gst/gsttrace.c:
6756         * gst/gsttrace.h:
6757         * gst/gsttypefind.h:
6758         * gst/gsturi.h:
6759         * gst/gstvalue.c:
6760         * gst/net/gstnetclientclock.c:
6761         * gst/net/gstnetclientclock.h:
6762         * gst/net/gstnettimepacket.c:
6763         * gst/net/gstnettimeprovider.c:
6764         * gst/net/gstnettimeprovider.h:
6765         Doc fixes.
6766
6767 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6768
6769         * configure.ac: back to HEAD
6770
6771 === release 0.9.6 ===
6772
6773 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6774
6775         * configure.ac:
6776           releasing 0.9.6, "Always On Time"
6777
6778 2005-11-23  Wim Taymans  <wim@fluendo.com>
6779
6780         * docs/gst/gstreamer-sections.txt:
6781         * gst/glib-compat.c:
6782         * gst/gsttagsetter.c:
6783         * gst/gstvalue.c:
6784         * gst/net/gstnetclientclock.c:
6785         * gst/net/gstnettimepacket.h:
6786         Doc updates.
6787
6788 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6789
6790         * docs/faq/using.xml:
6791         * docs/libs/tmpl/gstcontrol.sgml:
6792         * docs/manual/advanced-dparams.xml:
6793         * docs/manual/appendix-checklist.xml:
6794         * docs/manual/basics-elements.xml:
6795         * docs/pwg/other-source.xml:
6796         * docs/random/moving-plugins:
6797         * gst/gstpad.c:
6798         * tools/gst-launch.1.in:
6799           remove mentions of sinesrc
6800
6801 2005-11-23  Michael Smith <msmith@fluendo.com>
6802
6803         * docs/gst/gstreamer-sections.txt:
6804           Update for new API and API changes.
6805         * gst/gstobject.h:
6806           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6807         * gst/gstvalue.c:
6808           Documentation typo fix.
6809         * gst/net/gstnettimepacket.c:
6810           Documentation fixes for arguments.
6811
6812 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6813
6814         * gst/gststructure.c: (gst_structure_get_fraction),
6815         (gst_structure_parse_value),
6816         (gst_structure_fixate_field_nearest_fraction):
6817         * gst/gststructure.h:
6818         * gst/gstutils.c: (gst_util_uint64_scale_int):
6819         * gst/gstutils.h:
6820         * scripts/update-funcnames:
6821         API Changes. 
6822         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6823         Make gst_structure_fixate_field_nearest_fraction take a numerator
6824         and denominator argument instead of a GValue
6825         add gst_structure_get_fraction helper function.
6826
6827 2005-11-23  Wim Taymans  <wim@fluendo.com>
6828
6829         * docs/design/part-TODO.txt:
6830         Update TODO.
6831
6832         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6833         * gst/net/gstnetclientclock.h:
6834         Use parent fields for timeout and window_size.
6835
6836 2005-11-23  Andy Wingo  <wingo@pobox.com>
6837
6838         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6839         rate_num/rate_denom change.
6840
6841         * gst/net/gstnetclientclock.c
6842         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6843         OBJECT_LOCK. Don't call add_observation with the lock.
6844
6845         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6846         fraction.
6847         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6848         rate fraction.
6849         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6850         deal with rate as a fraction whose numerator and denominator are
6851         GstClockTime values.
6852         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6853         master; the other fields are protected by the SLAVE_LOCK.
6854         (do_linear_regression): Note that this must be called with the
6855         SLAVE_LOCK.
6856         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6857         OBJECT_LOCK. Call set_calibration instead of touching the
6858         variables directly.
6859         (gst_clock_set_property, gst_clock_get_property): Protect
6860         master/slave parameters with the SLAVE_LOCK.
6861
6862         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6863         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6864         note that all of the instance variables that add_observation and
6865         the set_master functions use are protected by that lock and not
6866         the OBJECT_LOCK.
6867         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6868
6869         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6870         the caller to take the object lock.
6871
6872 2005-11-23  Wim Taymans  <wim@fluendo.com>
6873
6874         * gst/gsterror.c: (_gst_core_errors_init):
6875         * gst/gsterror.h:
6876         Add error for clock stuff.
6877
6878         * gst/gstpipeline.c: (gst_pipeline_change_state),
6879         (gst_pipeline_set_clock):
6880         Post clock error when clock cannot be used in a pipeline.
6881
6882 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6883
6884         * docs/gst/gstreamer-sections.txt:
6885           make two symbols from gstinfo private for the docs
6886         * gst/base/gstcollectpads.h:
6887         * gst/gstutils.c:
6888           fix doc typos, update docs
6889
6890 2005-11-22  Wim Taymans  <wim@fluendo.com>
6891
6892         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6893         (gst_base_sink_wait), (gst_base_sink_do_sync),
6894         (gst_base_sink_handle_event):
6895         * gst/base/gstbasesink.h:
6896         No need to store the clock, the parent element class already
6897         has it.
6898
6899         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6900         Updates for clock_set returning a gboolean
6901
6902         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6903         (gst_clock_id_wait_async), (gst_clock_class_init),
6904         (gst_clock_init), (gst_clock_finalize),
6905         (gst_clock_get_internal_time), (gst_clock_get_time),
6906         (gst_clock_slave_callback), (gst_clock_set_master),
6907         (gst_clock_get_master), (do_linear_regression),
6908         (gst_clock_add_observation), (gst_clock_set_property),
6909         (gst_clock_get_property):
6910         * gst/gstclock.h:
6911         Implement master/slave. When setting a clock as a slave, a
6912         periodic timeout is scheduled to sample master and slave times.
6913         Then the slave clock is recalibrated to match offset and rate
6914         of the master clock.
6915         Update logging a bit.
6916         Add flag so that a clock can state that is cannot be slaved to
6917         another clock.
6918
6919         * gst/gstelement.c: (gst_element_set_clock):
6920         * gst/gstelement.h:
6921         The set clock returns a gboolean for when an element cannot
6922         deal with the selected clock in the pipeline. 
6923
6924         * gst/gstpipeline.c: (gst_pipeline_change_state),
6925         (gst_pipeline_set_clock):
6926         * gst/gstpipeline.h:
6927         Handle the case where the selected clock cannot be set on
6928         the pipeline.
6929
6930         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6931         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6932         (gst_net_client_clock_set_property),
6933         (gst_net_client_clock_get_property),
6934         (gst_net_client_clock_observe_times):
6935         * gst/net/gstnetclientclock.h:
6936         Use regression code in GstClock parent, remove duplicated
6937         functionality.
6938
6939 2005-11-22  Michael Smith <msmith@fluendo.com>
6940
6941         * gst/gstutils.c: (gst_util_clock_time_scale):
6942         * gst/gstutils.h:
6943         * docs/gst/gstreamer-sections.txt:
6944           Rename method to have extra underscore.
6945
6946 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * gst/elements/Makefile.am:
6949         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6950         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6951         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6952         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6953         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6954         * gst/elements/gstfakesrc.h:
6955         * gst/gstqueue.c: (queue_leaky_get_type):
6956           correctly fix GEnumValues so that nick is the short lowercase
6957           dashed tag
6958         * tools/gst-inspect.c: (print_element_properties_info):
6959           also show the nick, since it's useful to use from parse_launch
6960           syntax
6961           Fixes #322139
6962
6963 2005-11-22  Michael Smith <msmith@fluendo.com>
6964
6965         * gst/gstutils.c: (gst_util_clocktime_scale):
6966         * gst/gstutils.h:
6967         * docs/gst/gstreamer-sections.txt:
6968           Add util method for scaling a clocktime by a fraction. Useful 
6969           implementation is left as an exercise for the reader.
6970
6971 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6972
6973         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6974         If needed, allocate storage in the destination value during
6975         collection.
6976
6977 2005-11-22  Edward Hervey  <edward@fluendo.com>
6978
6979         * docs/gst/gstreamer-sections.txt:
6980         * gst/Makefile.am:
6981         * gst/gst.h:
6982         * gst/gsturitype.c:
6983         * gst/gsturitype.h:
6984         * gst/gstutils.c: (gst_util_set_object_arg):
6985         * tools/gst-compprep.c: (main):
6986         * tools/gst-inspect.c: (print_element_properties_info):
6987         Removed GstURI, closes bug #321061
6988
6989 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6990
6991         * check/gst/gststructure.c: (GST_START_TEST):
6992         * gst/gststructure.c: (gst_structure_parse_value):
6993           Oops, broke automatic string type parsing.
6994           Add a test to catch it in future.
6995
6996 2005-11-22  Andy Wingo  <wingo@pobox.com>
6997
6998         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6999         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7000         Actually rename the function implementations. Grr.
7001
7002 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7003
7004         * check/gst/capslist.h:
7005           Comment test cases
7006         * check/gst/gststructure.c: (GST_START_TEST),
7007         (gst_structure_suite):
7008           Test automatic value type detection in gst_structure_from_string.
7009         * gst/gststructure.c: (gst_structure_parse_value):
7010           Add fraction as a type we try and guess automatically in
7011           caps/structure strings.
7012
7013 2005-11-22  Andy Wingo  <wingo@pobox.com>
7014
7015         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7016
7017         * gst/gsttagsetter.h:
7018         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7019         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7020         (gst_tag_setter_add_tag_valist)
7021         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7022         _add_values, _add_valist, and _add_valist_values. Since this is an
7023         interface the function suffixes should be more explicit so
7024         language binding don't end up with element.add_valist ->
7025         gst_tag_setter_add_valist, for example. Fixes #322069.
7026
7027 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7028
7029         * check/gst/gstcaps.c: (GST_START_TEST):
7030           Extend caps string tests to check that a caps to string
7031           conversion is reversible and produces the same caps.
7032
7033         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7034           Output "fraction" as the generic type fraction range, so caps
7035           serialisation and deserialisation works.
7036         * check/gst/capslist.h:
7037         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7038           Support 'MIN' and 'MAX' for deserialising fractions.
7039
7040 2005-11-22  Andy Wingo  <wingo@pobox.com>
7041
7042         * gst/gstevent.h (gst_event_new_new_segment)
7043         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7044         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7045         Renamed from *_newsegment, *_buffersize, *_notarget.
7046
7047         * scripts/update-funcnames: New script, performs the changes
7048         listed above.
7049
7050 2005-11-22  Wim Taymans  <wim@fluendo.com>
7051
7052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7053         Make sure the GstFlowReturn is returned.
7054
7055         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7056         (gst_bus_add_signal_watch):
7057         * gst/gstbus.h:
7058         add gst_bus_add_signal_watch_full.
7059
7060         * gst/gstplugin.c: (gst_plugin_load_file):
7061         Small style cleanup.
7062
7063 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7064
7065         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7066           Block the fakesrc srcpad when we send an event, to avoid
7067           contention on the stream_lock causing random test failures.
7068
7069 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7070
7071         * check/gst/gstvalue.c: (GST_START_TEST):
7072         * gst/gstvalue.c: (gst_value_fraction_subtract):
7073           Fix subtraction.
7074
7075 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7076
7077         * gst/gst.h:
7078           include "gstchildproxy.h"
7079         * gst/gstchildproxy.h:
7080         * libs/gst/controller/gstcontroller.h:
7081           use G_GNUC_NULL_TERMINATED
7082
7083 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7084
7085         * check/gst/capslist.h:
7086         * check/gst/gstcaps.c: (GST_START_TEST):
7087         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7088         * gst/gststructure.c: (gst_structure_parse_range),
7089         (gst_structure_fixate_field_nearest_fraction):
7090         * gst/gststructure.h:
7091         * gst/gstvalue.c: (gst_value_init_fraction_range),
7092         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7093         (gst_value_collect_fraction_range),
7094         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7095         (gst_value_set_fraction_range_full),
7096         (gst_value_get_fraction_range_min),
7097         (gst_value_get_fraction_range_max),
7098         (gst_value_serialize_fraction_range),
7099         (gst_value_transform_fraction_range_string),
7100         (gst_value_compare_fraction_range),
7101         (gst_value_deserialize_fraction_range),
7102         (gst_value_intersect_fraction_fraction_range),
7103         (gst_value_intersect_fraction_range_fraction_range),
7104         (gst_value_subtract_fraction_fraction_range),
7105         (gst_value_subtract_fraction_range_fraction),
7106         (gst_value_subtract_fraction_range_fraction_range),
7107         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7108         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7109         (gst_value_transform_string_fraction), (_gst_value_initialize):
7110         * gst/gstvalue.h:
7111           Implement fraction ranges and extend GstFraction to support
7112           arithmetic subtraction, as well as deserialization from integer
7113           strings such as "100"
7114           Add a testsuite as for int and double range set operations
7115
7116 2005-11-21  Andy Wingo  <wingo@pobox.com>
7117
7118         * gst/gsttaglist.h: 
7119         * gst/gstcaps.h: 
7120         * gst/gststructure.h: Add glib-compat.h.
7121
7122 2005-11-21  Wim Taymans  <wim@fluendo.com>
7123
7124         * gst/gstbin.c: (gst_bin_change_state_func):
7125         Fix for #321595
7126
7127 2005-11-21  Wim Taymans  <wim@fluendo.com>
7128
7129         * gst/gstsegment.h:
7130         And add a nice define too.
7131
7132 2005-11-21  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7135         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7136         (gst_segment_set_duration), (gst_segment_set_last_stop),
7137         (gst_segment_set_seek), (gst_segment_set_newsegment),
7138         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7139         (gst_segment_clip):
7140         * gst/gstsegment.h:
7141         Make binding friendly.
7142
7143 2005-11-21  Andy Wingo  <wingo@pobox.com>
7144
7145         * gst/gsttagsetter.h: 
7146         * gst/gsttaglist.h: 
7147         * gst/gststructure.h: 
7148         * gst/gstcaps.h: 
7149         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7150         #319940.
7151
7152         * gst/gsterror.c (_gst_core_errors_init):
7153         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7154         category.
7155
7156         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7157         (noinst_HEADERS): noinst the -private.
7158
7159 2005-11-21  Michael Smith <msmith@fluendo.com>
7160
7161         * gst/gstplugin.h:
7162         * gst/gstregistry.h:
7163           Remove unimplemented declarations for which we can see no sensible
7164           use.
7165
7166 2005-11-21  Andy Wingo  <wingo@pobox.com>
7167
7168         * gst/gst.h: Include glib-compat.h.
7169
7170         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7171
7172         * gst/glib-compat.c: Include the public and the private header.
7173
7174         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7175
7176         * gst/gstvalue.c: 
7177         * gst/gstpad.c: 
7178         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7179
7180         * check/gst/gstevent.c (create_custom_events): Check that
7181         FLUSH_STOP is serialized.
7182
7183         * check/elements/identity.c (event_func): 
7184         * check/elements/fakesrc.c (event_func): No stream lock, the core
7185         takes it.
7186
7187         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7188         stream lock taking, yay.
7189
7190         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7191         ensure that core takes the stream lock.
7192
7193         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7194         lock name change.
7195
7196         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7197         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7198         it already. For the flush start we do take it though so we get the
7199         right preroll state change messages.
7200
7201         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7202         the stream lock here, the core does it for us.
7203
7204         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7205         GST_STREAM_GET_LOCK.
7206         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7207         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7208         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7209         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7210         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7211         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7212
7213         * gst/gstpad.c: Update for stream lock name change.
7214
7215         * gst/base/gstbasesink.c: Update for preroll lock name change.
7216
7217 2005-11-21  Wim Taymans  <wim@fluendo.com>
7218
7219         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7220         (gst_clock_get_master):
7221         * gst/gstclock.h:
7222         * gst/gstsystemclock.c: (gst_system_clock_init):
7223         Convert Clock flags to object flags.
7224         Added methods to manage master/slave clocks.
7225
7226 2005-11-21  Wim Taymans  <wim@fluendo.com>
7227
7228         * check/gst/gstsegment.c: (GST_START_TEST):
7229         * docs/design/part-TODO.txt:
7230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7231         (gst_base_sink_event), (gst_base_sink_do_sync),
7232         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7233         (gst_base_sink_query), (gst_base_sink_change_state):
7234         * gst/base/gstbasesink.h:
7235         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7236         (gst_base_src_default_newsegment),
7237         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7238         (gst_base_src_get_range), (gst_base_src_loop),
7239         (gst_base_src_change_state):
7240         * gst/base/gstbasesrc.h:
7241         * gst/base/gstbasetransform.c:
7242         (gst_base_transform_prepare_output_buf),
7243         (gst_base_transform_event), (gst_base_transform_change_state):
7244         * gst/base/gstbasetransform.h:
7245         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7246         (gst_collect_pads_event):
7247         * gst/base/gstcollectpads.h:
7248         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7249         (gst_fake_src_create):
7250         * gst/elements/gstfakesrc.h:
7251         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7252         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7253         (gst_segment_set_last_stop), (gst_segment_set_seek),
7254         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7255         (gst_segment_to_running_time), (gst_segment_clip):
7256         * gst/gstsegment.h:
7257         More segment updates, replace code in plugins with segment
7258         helper functions.
7259
7260 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7261
7262         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7263         Don't ignore sscanf results
7264
7265 2005-11-21  Andy Wingo  <wingo@pobox.com>
7266
7267         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7268
7269         * *.h:
7270         * *.c: Ran scripts/update-macros. Oh yes.
7271
7272         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7273         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7274         GST_GET_LOCK, etc.
7275
7276         * scripts/update-macros: New script. Run it on your files to
7277         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7278         well.
7279
7280 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7281
7282         * docs/gst/Makefile.am:
7283         * docs/gst/gstreamer-docs.sgml:
7284         * docs/gst/gstreamer-sections.txt:
7285         * docs/gst/gstreamer.types:
7286         * gst/gstinfo.h:
7287           more docs fixes, add new api to the docs
7288
7289 2005-11-21  Andy Wingo  <wingo@pobox.com>
7290
7291         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7292         state_broadcast call.
7293
7294         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7295
7296 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7297
7298         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7299         function calls for arrays.
7300
7301 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7302
7303         * docs/random/ensonic/media-device-daemon.txt:
7304           wild idea, can this be done?
7305         * docs/gst/gstreamer-sections.txt:
7306         * gst/gsterror.h:
7307         * gst/gstfilter.c:
7308         * gst/gstfilter.h:
7309         * gst/gstplugin.h:
7310         * gst/gstpluginfeature.c:
7311         * gst/gsttrace.c:
7312         * gst/gstvalue.c:
7313         * gst/gstvalue.h:
7314           doc fixes and additions
7315
7316 2005-11-21  Andy Wingo  <wingo@pobox.com>
7317
7318         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7319         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7320         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7321         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7322         private to the basesrc implementation.
7323
7324         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7325         behalf of event function if necessary. It should no longer be
7326         necessary to take the stream lock in pad's event functions. Fixes
7327         #320299.
7328
7329 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7330         * docs/gst/gstreamer-sections.txt:
7331         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7332         (gst_structure_fixate_field_nearest_double),
7333         (gst_structure_fixate_field_boolean):
7334         * gst/gststructure.h:
7335         * win32/common/libgstreamer.def:
7336         * win32/gstreamer.def:
7337
7338         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7339         (#322027)
7340
7341 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7342
7343         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7344         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7345         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7346         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7347         (gst_fdsrc_uri_handler_init):
7348         * gst/elements/gstfdsrc.h:
7349           Port fd:// URI handler from 0.8 to fdsrc
7350
7351 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7352
7353         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7354         (gst_value_serialize_fourcc):
7355         * gst/gstvalue.h:
7356           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7357           consistent with our other format defines (#320324).
7358
7359 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * gst/gstvalue.c: (gst_value_is_fixed):
7362           Revert previous commit. Value lists are by definition
7363           not fixed, as they are a list of possible values.
7364
7365 2005-11-21  Andy Wingo  <wingo@pobox.com>
7366
7367         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7368         during the stable series if we need it. Fixes #319178.
7369
7370         * gst/gstevent.c (gst_event_new_filler): Removed.
7371
7372         * check/gst/gstevent.c: Update comment about filler events.
7373
7374 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7375
7376         * gst/gstvalue.c: (gst_value_is_fixed):
7377           Should handle both value arrays and value lists.
7378
7379 2005-11-21  Andy Wingo  <wingo@pobox.com>
7380
7381         patch by: Alessandro Dessina <alessandro nnva org>
7382
7383         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7384         functions to access arrays. Fixes #321962.
7385
7386 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7387
7388         * docs/gst/gstreamer.types:
7389           gst_collectpads_get_type => gst_collect_pads_get_type.
7390           
7391         * gst/base/gstbasetransform.c:
7392           Remove unused SIGNAL_HANDOFF enum.
7393
7394 2005-11-21  Andy Wingo  <wingo@pobox.com>
7395
7396         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7397         the event type (upstream, downstream, serialized). Renamed
7398         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7399         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7400         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7401
7402         * gst/gstevent.c: Update for new CUSTOM event names.
7403
7404         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7405
7406         * gst/gstevent.h:
7407         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7408         bug #319392.
7409
7410 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7411
7412         * docs/gst/gstreamer-sections.txt:
7413         * win32/common/libgstbase.def:
7414         * win32/libgstbase.def:
7415         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7416         (gst_collect_pads_class_init), (gst_collect_pads_init),
7417         (gst_collect_pads_finalize), (gst_collect_pads_new),
7418         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7419         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7420         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7421         (gst_collect_pads_start), (gst_collect_pads_stop),
7422         (gst_collect_pads_peek), (gst_collect_pads_pop),
7423         (gst_collect_pads_available), (gst_collect_pads_read),
7424         (gst_collect_pads_flush), (gst_collect_pads_event),
7425         (gst_collect_pads_chain):
7426         * gst/base/gstcollectpads.h:
7427           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7428           unimplemented functions as unimplemented. Add padding to
7429           GstCollectData. (#320766, #320423)
7430
7431 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7432
7433         * gst/gstmessage.c:
7434           Improve docs for DURATION message (usage of duration parameter)
7435           (#320113)
7436
7437 2005-11-20  Wim Taymans  <wim@fluendo.com>
7438
7439         * check/Makefile.am:
7440         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7441         (main):
7442         * gst/Makefile.am:
7443         * gst/gst.h:
7444         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7445         (gst_segment_set_seek), (gst_segment_set_newsegment),
7446         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7447         (gst_segment_clip):
7448         * gst/gstsegment.h:
7449         Added segment helper structure and methods. Not fully implemented
7450         yet.
7451         Added segment check.
7452
7453 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7454
7455         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7456           Add a deserialisation test for fractions
7457         * examples/metadata/read-metadata.c: (message_loop),
7458         (make_pipeline), (main):
7459           Fix up metadata reading sample.
7460         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7461           Debug format fix
7462         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7463           Don't try and fixate empty caps
7464         * gst/gst_private.h:
7465           Wrap in G_BEGIN_DECLS/G_END_DECLS
7466         * gst/gstvalue.c: (gst_value_collect_fraction),
7467         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7468         (gst_value_transform_string_fraction),
7469         (gst_value_compare_fraction):
7470           Add some extra guards to ensure that we don't end up 
7471           with an invalid denominator of 0 in a gstfraction and
7472           that fractions always get reduced.
7473
7474 2005-11-20  Wim Taymans  <wim@fluendo.com>
7475
7476         * docs/gst/gstreamer-sections.txt:
7477         * gst/gstbuffer.h:
7478         * gst/gstelement.c:
7479         * gst/gstformat.c:
7480         * gst/gstformat.h:
7481         * gst/gstindex.h:
7482         * gst/gstquery.c:
7483         * gst/gstquery.h:
7484         * gst/gstvalue.c:
7485         Doc fixes.
7486
7487 2005-11-20  Wim Taymans  <wim@fluendo.com>
7488
7489         * docs/design/part-TODO.txt:
7490         * gst/gstcaps.h:
7491         Make a proper enum of the flag.
7492
7493 2005-11-19  Wim Taymans  <wim@fluendo.com>
7494
7495         * docs/design/part-TODO.txt:
7496         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7497         (gst_format_to_quark), (gst_format_register):
7498         * gst/gstformat.h:
7499         * gst/gstquery.c: (_gst_query_initialize),
7500         (gst_query_type_get_name), (gst_query_type_to_quark),
7501         (gst_query_type_register):
7502         * gst/gstquery.h:
7503         Add type to quark and type to string conversions.
7504
7505 2005-11-19  Andy Wingo  <wingo@pobox.com>
7506
7507         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7508         #320097.
7509
7510 2005-11-19  Wim Taymans  <wim@fluendo.com>
7511
7512         * docs/design/part-TODO.txt:
7513         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7514         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7515         (gst_bin_handle_message_func):
7516         * gst/gstbin.h:
7517         Make message handling overridable.
7518
7519 2005-11-19  Andy Wingo  <wingo@pobox.com>
7520
7521         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7522
7523         * gst/gstclock.h:
7524         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7525         be a GstClockTime.
7526         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7527         is a GstClockTime. Fixes #321710.
7528
7529         * gst/gstclock.h (GstClock): Remove offset property. Add
7530         internal_calibration and external_calibration. Fix padding. Pad
7531         also by GstClockTime so we don't run into problems.
7532
7533         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7534         (gst_clock_get_rate_offset): Remove.
7535         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7536
7537         * gst/gstutils.h:
7538         * gst/gstutils.c (g_static_rec_cond_wait)
7539         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7540
7541         * gst/gstbin.c: Remove terrible continue_state prototype.
7542
7543         * gst/gstelement.h (gst_element_continue_state): Make public.
7544
7545         * gst/gstelement.h:
7546         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7547         by continue_state. Fixes #319389.
7548
7549         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7550         Really fixes #168438. However I don't see anywhere where the
7551         filter function is called... stupid GStreamer...
7552         
7553         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7554         don't have a dispose function, so it won't get called when the
7555         object is unreffed, but oh well!
7556
7557         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7558         allows a destroy function to be set so user_data can be freed.
7559         Fixes #168438.
7560         (gst_index_set_filter): Call gst_index_set_filter_full.
7561
7562         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7563
7564         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7565         string should produce an error, given the lack of a way to
7566         represent NULL strings. Fixes #165650.
7567         
7568         * gst/gstvalue.h: 
7569         * gst/gstvalue.c (gst_value_array_append_value) 
7570         (gst_value_array_prepend_value, gst_value_array_get_size) 
7571         (gst_value_array_get_value): New API, copied from
7572         gst_value_list_*, only operates on arrays.
7573         (gst_value_list_append_value, gst_value_list_prepend_value) 
7574         (gst_value_list_concat, gst_value_list_get_size) 
7575         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7576
7577         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7578         init_list, because it works on both.
7579         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7580         (gst_value_copy_list_or_array): Renamed from copy_list.
7581         (gst_value_free_list_or_array): Renamed from free_list.
7582         (gst_value_collect_list_or_array): Renamed from collect_list.
7583         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7584         (gst_value_list_or_array_peek_pointer): Renamed from
7585         list_peek_pointer.
7586         (_gst_value_array_value_table, _gst_value_list_value_table):
7587         Update value table functions.
7588         (gst_value_compare_list_or_array): Renamed from compare_list.
7589
7590         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7591         some constness.
7592
7593         * gst/gsttaglist.c:
7594         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7595         GstTagList*. Fixes #143472.
7596
7597         * gst/gststructure.h: Clarify what the foreach/map functions can
7598         or can't do to their arguments.
7599
7600 2005-11-18  Wim Taymans  <wim@fluendo.com>
7601
7602         * gst/gstclock.c: (gst_clock_set_calibration),
7603         (gst_clock_get_calibration):
7604         Doc and API fixes.
7605         Calibration can be set with internal time equal to current
7606         internal time too.
7607
7608 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         * gst/gsterror.c:
7611         * gst/gsterror.h:
7612           document
7613
7614 2005-11-18  Andy Wingo  <wingo@pobox.com>
7615
7616         * configure.ac: 
7617         * pkgconfig/gstreamer-net.pc.in:
7618         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7619         * pkgconfig/Makefile.am: Add net pkgconfig files.
7620
7621 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7622
7623         * gst/gstcaps.c:
7624         * gst/gstghostpad.c:
7625         * gst/gsttrace.c:
7626         * gst/gstvalue.c:
7627         * gst/gstvalue.h:
7628           docs fixes
7629
7630 2005-11-18  Andy Wingo  <wingo@pobox.com>
7631
7632         * gst/net/gstnetclientclock.c: Turn off debugging.
7633
7634         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7635         times connverge somewhat. Can't make a real test.
7636
7637         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7638         integer arithmetic. Return the minimum of the domain, which can be
7639         set as "internal" for gst_clock_set_calibration.
7640         (gst_net_client_clock_observe_times): Call _set_calibration.
7641         (gst_net_client_clock_new): Call _set_calibration instead of
7642         rate_offset.
7643
7644         * check/net/gstnetclientclock.c (test_functioning): Use the right
7645         adjustment api.
7646
7647         * gst/gstclock.h:
7648         * gst/gstclock.c (gst_clock_get_calibration) 
7649         (gst_clock_set_calibration): New functions, obsolete the ones I
7650         added yesterday. Doh. Precision issues mean we have to extrapolate
7651         from a point in the more recent past than 1970.
7652         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7653         obsolete.
7654         (gst_clock_adjust_unlocked): Use the right calibration data.
7655
7656 2005-11-18  Edward Hervey  <edward@fluendo.com>
7657
7658         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7659         Also reset the ->current_* values in READY->PAUSED
7660
7661 2005-11-18  Andy Wingo  <wingo@pobox.com>
7662
7663         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7664         Whoops, check the right fd. Also add some debugging.
7665         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7666         (do_linear_regression): Add a crapload of debugging. Subtract off
7667         the minimum values from the input series to discard unneeded bits.
7668         Use only int arithmetic. There is still double arithmetic when
7669         calculating the intercept that needs fixing. Return boolean to
7670         indicate success; FALSE would mean the domain or range is too
7671         great. Still needs fixes.
7672
7673 2005-11-18  Wim Taymans  <wim@fluendo.com>
7674
7675         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7676         For the current position in stream time, we need to subtract
7677         accumulated time.
7678         
7679         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7680         Release lock before calling the callback function of async
7681         entries.
7682
7683 2005-11-18  Andy Wingo  <wingo@pobox.com>
7684
7685         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7686         Port goes all the way to MAXUINT16.
7687
7688         * gst/net/gstnettimeprovider.c: Make the port range the same as
7689         for the kernel: 0 assigns, otherwise ports are less than
7690         MAXUINT16.
7691
7692         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7693         port change.
7694
7695         * check/net/gstnetclientclock.c (test_functioning): Add the start
7696         of another test. 
7697
7698 2005-11-18  Wim Taymans  <wim@fluendo.com>
7699
7700         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7701         (gst_bin_remove_func), (bin_bus_handler):
7702         * gst/gstbin.h:
7703         Removing a clock provider from a bin, triggers a clock lost message
7704         so that a new clock will be selected.
7705         Adding a clock to a bin triggers a clock provider message.
7706         Make sure we reselect a clock when we received a clock lost message.
7707         Keep a reference to the element that provided the clock.
7708
7709 2005-11-18  Andy Wingo  <wingo@pobox.com>
7710
7711         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7712         the clock initially so it produces values around the base time.
7713         (gst_net_client_clock_class_init): Typo fix.
7714         (gst_net_client_clock_thread): Add note on when the socket gets
7715         closed.
7716
7717 2005-11-17  Wim Taymans  <wim@fluendo.com>
7718
7719         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7720         Free remote and local time arrays.
7721
7722 2005-11-17  Wim Taymans  <wim@fluendo.com>
7723
7724         * gst/net/gstnetclientclock.c: (do_linear_regression),
7725         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7726         Fix compilation, uninitialized vars and a forgotten continue.
7727
7728 2005-11-17  Andy Wingo  <wingo@pobox.com>
7729
7730         * check/Makefile.am (check_PROGRAMS): 
7731         * check/net/gstnetclientclock.c: Add a most minimal test for the
7732         net client clock. More to come later.
7733
7734         * gst/net/gstnet.h: 
7735         * gst/net/Makefile.am: Add netclientclock.
7736
7737         * gst/net/gstnetclientclock.h:
7738         * gst/net/gstnetclientclock.c: New files, implement an untested
7739         GstClock that takes its time from a network time provider.
7740         Implements the algorithm in network-clock.scm.
7741
7742         * tests/network-clock.scm (*window-size*): Rename from
7743         *queue-length*.
7744         * tests/network-clock.scm (network-time): 
7745         * tests/network-clock-utils.scm (q-push): Update callers.
7746
7747 2005-11-17  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/gstbin.c: (gst_bin_provide_clock_func),
7750         (gst_bin_sort_iterator_new):
7751         And unref the child too..
7752
7753 2005-11-17  Wim Taymans  <wim@fluendo.com>
7754
7755         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7756         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7757         Refactor the sort iterator so it can be used while holding the
7758         LOCK too.
7759         Make clock selection select a clock closest to the source.
7760
7761 2005-11-17  Michael Smith <msmith@fluendo.com>
7762
7763         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7764         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7765         * gst/gstclock.h:
7766           Anonymous structs are a gcc (and some other compilers) extension, so
7767           don't use them. Since this is only for ABI-compatibility, and our
7768           API/ABI freeze is over in a few days, this whole thing will only
7769           last a few days, so don't bother trying to think up a meaningful
7770           name for the struct.
7771
7772 2005-11-17  Andy Wingo  <wingo@pobox.com>
7773
7774         * gst/gstclock.h (GstClock): Add rate and offset properties,
7775         preserving ABI stability. Add rate/offset accessors. Will file bug
7776         for the freeze break.
7777
7778         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7779         and offset, trying to keep precision and avoiding
7780         underflow/overflow.
7781         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7782         functions. Make gst_clock_set_time_adjust obsolete.
7783         (gst_clock_set_time_adjust): Note that this function is obsolete.
7784         Will file bug soon.
7785
7786         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7787         greppable by using GST_PADDING-1+1.
7788
7789 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7790
7791         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7792
7793         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7794           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7795
7796         * gst/gstpadtemplate.h:
7797         * gst/gstpluginfeature.h:
7798           Don't use c++ style comments in headers (#321638).
7799
7800 2005-11-16  Andy Wingo  <wingo@pobox.com>
7801
7802         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7803         buffer.
7804
7805         * check/net/gstnettimeprovider.c: Check to see that the time
7806         provider actually provides times. Works, yo!
7807
7808 2005-11-16  Wim Taymans  <wim@fluendo.com>
7809
7810         * check/Makefile.am:
7811         Enable more tests.
7812
7813         * check/elements/fakesrc.c: (GST_START_TEST):
7814         Set element to NULL before disposing it.
7815
7816 2005-11-16  Andy Wingo  <wingo@pobox.com>
7817
7818         * gst/net/Makefile.am:
7819         * gst/net/gstnet.h:
7820         * gst/net/gstnettimeprovider.c: 
7821         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7822         provider, include it from gstnet.h, and add it to the build.
7823
7824         * gst/net/gstnettimepacket.h: 
7825         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7826         sending and receiving.
7827
7828 2005-11-16  Wim Taymans  <wim@fluendo.com>
7829
7830         * check/Makefile.am:
7831         Enable valgrind check.
7832
7833         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7834         (gst_fake_src_alloc_buffer):
7835         Fix memleak.
7836
7837 2005-11-16  Wim Taymans  <wim@fluendo.com>
7838
7839         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7840         Call parent finalize too.
7841
7842 2005-11-16  Wim Taymans  <wim@fluendo.com>
7843
7844         * check/Makefile.am:
7845         Enable valgrind check that should work fine now.
7846
7847         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7848         * gst/gstqueue.c: (gst_queue_init):
7849         Fix memleaks in pad allocation.
7850
7851 2005-11-16  Andy Wingo  <wingo@pobox.com>
7852
7853         * gst/net/Makefile.am:
7854         * gst/net/gstnet.h: New part of core to hold network elements and
7855         objects. Put in core because it exposes API that applications want
7856         to use. The library is named libgstnet-tempname right now because
7857         of the existing libgstnet in gst-plugins-base. Solution is
7858         probably to rename the one in plugins-base; will file a bug for
7859         the freeze break.
7860
7861         * gst/net/gstnettimeprovider.c: 
7862         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7863         get_time call over the network.
7864
7865         * configure.ac: 
7866         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7867
7868         * check/Makefile.am:
7869         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7870         get additions shortly.
7871
7872 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7873
7874         * gst/gstpad.c: (gst_pad_new_from_static_template):
7875         * gst/gstpad.h:
7876           add gst_pad_new_from_static_template functions
7877         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7878         (gst_check_setup_sink_pad):
7879         * gst/elements/gsttee.c: (gst_tee_init):
7880           and use them
7881
7882 2005-11-16  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/gstpad.c: (gst_pad_pause_task):
7885         Removed warning, it's not really an error either.
7886
7887 2005-11-16  Wim Taymans  <wim@fluendo.com>
7888
7889         * gst/base/gstbasetransform.c:
7890         (gst_base_transform_prepare_output_buf),
7891         (gst_base_transform_event):
7892         Check if the caps are NULL, this can happen if the element
7893         is shutting down and the pad caps are set to NULL.
7894
7895 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7896
7897         * gst/elements/gsttee.c: (gst_tee_init):
7898           fix pad template leak in tee
7899
7900 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7901
7902         * gst/glib-compat.c: (g_value_dup_gst_object):
7903         * gst/glib-compat.h:
7904         * gst/gstpad.c: (gst_pad_set_property):
7905           use gst_object_ref when setting the pad template; this will
7906           trigger the pad template leaks on GLib 2.6 and the slaves
7907
7908 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7909
7910         * gst/glib-compat.c: (gst_flags_get_first_value):
7911         * gst/glib-compat.h:
7912         * gst/gstregistryxml.c:
7913           remove functions copied from GLib 2.6
7914
7915 2005-11-16  Michael Smith <msmith@fluendo.com>
7916
7917         * gst/Makefile.am:
7918           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7919           do, but only breaks with newer valgrind versions. We're not a
7920           valgrind tool, we have no link-time dependencies on libcoregrind.
7921
7922 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7923
7924         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7925           some debug changes
7926         * gst/gstmessage.h:
7927           typo fixes
7928
7929 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7930
7931         * gst/base/gstbasesrc.c: (gst_base_src_init):
7932         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7933         * gst/gstqueue.c: (gst_queue_init):
7934         * gst/gstregistryxml.c: (load_feature):
7935           Revert all these unrefs, they don't even pass make check !
7936
7937 2005-11-15  Johan Dahlin  <johan@gnome.org>
7938
7939         * gst/base/gstbasesrc.c: (gst_base_src_init):
7940         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7941         * gst/gstqueue.c: (gst_queue_init): 
7942         Free pad templates, fixes a couple of leaks.
7943
7944 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7945
7946         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7947
7948         * gst/gstpad.c: (gst_pad_get_property):
7949           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7950           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7951           (#321452)
7952
7953 2005-11-15  Wim Taymans  <wim@fluendo.com>
7954
7955         * gst/gstevent.c:
7956         Small doc update.
7957
7958 2005-11-15  Andy Wingo  <wingo@pobox.com>
7959
7960         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7961
7962         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7963         using GST_CLOCK_TIME_NONE to disable base time management.
7964         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7965         time if it was NONE before.
7966         (gst_pipeline_change_state): Only munge the base time if
7967         stream_time != GST_CLOCK_TIME_NONE.
7968
7969         * check/gst/gstpipeline.c (test_base_time): Punt around the
7970         problem of the probe not being called, because that's not the
7971         issue I'm looking at. Add a check that setting stream_time to NONE
7972         disables base time management.
7973         
7974 2005-11-15  Wim Taymans  <wim@fluendo.com>
7975
7976         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7977         segment_stop == -1 at startup.
7978
7979         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7980         (gst_base_transform_change_state):
7981         Init segment values at start.
7982
7983 2005-11-15  Wim Taymans  <wim@fluendo.com>
7984
7985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7986         0 segment values are 0 in any format.
7987
7988         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7989         * gst/base/gstbasetransform.h:
7990         Parse newsegment correctly in basetransform
7991
7992         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7993         Sync to clock using updated segment values.
7994
7995 2005-11-15  Andy Wingo  <wingo@pobox.com>
7996
7997         * check/gst/gstpipeline.c (test_base_time): Add check that the
7998         base time and stream time are reset correctly.
7999
8000 2005-11-15  Wim Taymans  <wim@fluendo.com>
8001
8002         * docs/design/part-TODO.txt:
8003         Some more TODO items.
8004
8005 2005-11-15  Andy Wingo  <wingo@pobox.com>
8006
8007         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8008         error if the user selected "no clock" as the clocking method.
8009
8010         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8011         timestamps with live capture.
8012
8013         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8014         is 0 but we are a live source, timestamp the buffers using the
8015         element's clock.
8016
8017 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8018
8019         * docs/gst/gstreamer-sections.txt:
8020         * gst/gsterror.c:
8021         * gst/gstghostpad.c:
8022         * gst/gstobject.h:
8023         * gst/gstxml.c:
8024           more section docs
8025
8026 2005-11-14  Wim Taymans  <wim@fluendo.com>
8027
8028         * common/gst.supp:
8029           add suppressions from Wim's Debian machine
8030
8031 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8032
8033         * common/gst.supp:
8034           add suppressions from Andy's AMD64 Ubuntu machine
8035
8036 2005-11-14  Andy Wingo  <wingo@pobox.com>
8037
8038         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8039         STATE_LOCK not necessary. Fixes #311489.
8040
8041         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8042         #305291.
8043
8044         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8045         this function is not implemented.
8046
8047 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8048
8049         * gst/base/gstbasetransform.c:
8050         (gst_base_transform_prepare_output_buf):
8051         Ref the source pad caps while we need them.
8052         Fixes (#321386)
8053
8054 2005-11-11  Wim Taymans  <wim@fluendo.com>
8055
8056         * docs/gst/gstreamer-sections.txt:
8057         Added some docs for GstCollectData.
8058
8059         * gst/base/gstadapter.c:
8060         Some small code example fix.
8061
8062         * gst/base/gstcollectpads.c:
8063         * gst/base/gstcollectpads.h:
8064         Document some more.
8065
8066 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8067
8068         * configure.ac: back to HEAD
8069
8070 === release 0.9.5 ===
8071
8072 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8073
8074         * configure.ac:
8075           releasing 0.9.5, "Bike Lunch Day"
8076
8077 2005-11-11  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/gstbuffer.c: (_gst_buffer_copy):
8080         Copy more flags.
8081
8082         * gst/gstcaps.c: (gst_caps_is_equal):
8083         Fix some docs.
8084         Make _is_equal fast in the trivial cases.
8085
8086         * gst/gstminiobject.c:
8087         * gst/gstminiobject.h:
8088         More docs. Spifify .h file.
8089
8090         * gst/gstutils.c:
8091         Small doc update.
8092
8093 2005-11-11  Wim Taymans  <wim@fluendo.com>
8094
8095         * gst/base/gstbasetransform.c:
8096         (gst_base_transform_prepare_output_buf),
8097         (gst_base_transform_handle_buffer):
8098         Small cleanups.
8099         If we're processing a buffer and need to allocate an output
8100         buffer, we cannot accept a format change. If we did get a 
8101         format change, we have to alloc a buffer ourselves of the 
8102         right size.
8103
8104 2005-11-11  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8107         While checking the flag for reentrancy in the gstcaps function
8108         is nice to detect recursive invocations, it also makes it 
8109         impossible to call getcaps from multiple threads, which must be
8110         possible. So, checking for recursive calls has to go.
8111
8112 2005-11-11  Michael Smith <msmith@fluendo.com>
8113
8114         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8115           Don't sync on buffers that fall partially outside our current
8116           segment. Prevents an assertion failure/abort playing some files.
8117
8118 2005-11-10  Andy Wingo  <wingo@pobox.com>
8119
8120         * check/gst/gstbin.c (test_message_state_changed_children): Style
8121         fix..
8122
8123         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8124         gst_bus_poll with the signal watch. Ensures that poll and a signal
8125         watch see the same messages.
8126
8127         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8128         a poll and a watch at the same time get the same messages.
8129
8130 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8133         * gst/gstcaps.c: (gst_caps_intersect):
8134           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8135           and it's not needed.
8136
8137 2005-11-10  Wim Taymans  <wim@fluendo.com>
8138
8139         * docs/design/part-TODO.txt:
8140         Updated todo.
8141
8142 2005-11-10  Wim Taymans  <wim@fluendo.com>
8143
8144         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8145         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8146         (gst_base_src_do_sync), (gst_base_src_get_range):
8147         Implement clock sync in base class.
8148
8149 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         patch by: Tim-Philipp Müller <tim at centricular dot net>
8152
8153         * gst/gststructure.c: (gst_structure_parse_field),
8154         (gst_structure_from_string):
8155           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8156           so that gst_parse_launch() can deal with spaces in filtered link
8157           caps (fixes #164479)
8158         * check/gst/capslist.h:
8159         * check/gst/gststructure.c: (GST_START_TEST):
8160           add unit tests for this change
8161
8162 2005-11-10  Wim Taymans  <wim@fluendo.com>
8163
8164         * docs/gst/gstreamer-sections.txt:
8165         * gst/gstelement.c:
8166         * gst/gstelement.h:
8167         Fix docs, move some STATE macros to private.
8168
8169 2005-11-10  Wim Taymans  <wim@fluendo.com>
8170
8171         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8172         Added check for bug #317341
8173
8174         * gst/gstbuffer.c:
8175         * gst/gstbuffer.h:
8176         Some more spiffifying.
8177
8178         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8179         Call peer linkfunction if we are a source pad. Totally fixes
8180         #317341
8181
8182         * gst/gstpad.c:
8183         Update docs, source pads should call the peer linkfunction
8184         so they can atomically perform the pad link.
8185
8186 2005-11-09  Wim Taymans  <wim@fluendo.com>
8187
8188         * gst/gstbuffer.c:
8189         * gst/gstbuffer.h:
8190         Uber-spiffy-spiffify some more.
8191
8192 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8193
8194         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8195         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8196         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8197         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8198         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8199         * gst/gstpad.c: (gst_pad_init):
8200           Use GST_DEBUG_FUNCPTR() more extensively.
8201
8202 2005-11-09  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/gstobject.c: (gst_object_class_init):
8205         * gst/gstobject.h:
8206         Documentation fixes.
8207
8208 2005-11-09  Edward Hervey  <edward@fluendo.com>
8209
8210         * gst/gsttypefindfactory.c:
8211         Fix docs.
8212         
8213 2005-11-09  Edward Hervey  <edward@fluendo.com>
8214
8215         * gst/base/gsttypefindhelper.c:
8216         * gst/gsttypefind.c:
8217         * gst/gsttypefind.h:
8218         Fix docs.
8219
8220 2005-11-09  Wim Taymans  <wim@fluendo.com>
8221
8222         * gst/gstiterator.c:
8223         Fix revision data.
8224
8225         * gst/gsttask.c:
8226         * gst/gsttask.h:
8227         Fix docs.
8228
8229 2005-11-09  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/gstevent.h:
8232         * gst/gsturi.h:
8233         Fix docs.
8234
8235 2005-11-09  Wim Taymans  <wim@fluendo.com>
8236
8237         * docs/gst/gstreamer-sections.txt:
8238         Moved the message async delivery private lock and cond
8239         to the private section.
8240
8241         * gst/gstmessage.c:
8242         * gst/gstmessage.h:
8243         Fixed docs.
8244
8245 2005-11-09  Edward Hervey  <edward@fluendo.com>
8246
8247         * docs/gst/gstreamer-sections.txt:
8248         * gst/gsturi.c:
8249         * gst/gsturi.h:
8250         Document GstURIHandler
8251
8252 2005-11-09  Wim Taymans  <wim@fluendo.com>
8253
8254         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8255         (gst_iterator_find_custom):
8256         * gst/gstiterator.h:
8257         Fix iterator docs.
8258
8259 2005-11-09  Wim Taymans  <wim@fluendo.com>
8260
8261         * gst/gstbin.h:
8262         Document another field.
8263
8264         * gst/gststructure.c:
8265         * gst/gststructure.h:
8266         Document.
8267
8268 2005-11-09  Wim Taymans  <wim@fluendo.com>
8269
8270         * gst/gstbin.h:
8271         Documented structs.
8272
8273 2005-11-09  Wim Taymans  <wim@fluendo.com>
8274
8275         * docs/gst/gstreamer-sections.txt:
8276         Added some new macros.
8277
8278         * gst/gstclock.c:
8279         * gst/gstclock.h:
8280         * gst/gstobject.h:
8281         Docs updates.
8282
8283 2005-11-09  Wim Taymans  <wim@fluendo.com>
8284
8285         * docs/design/part-TODO.txt:
8286         Some more items for the TODO
8287
8288         * gst/gstcaps.c:
8289         * gst/gstcaps.h:
8290         Document GstCaps.
8291
8292 2005-11-09  Andy Wingo  <wingo@pobox.com>
8293
8294         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8295         to work on something else now tho...
8296
8297         * gst/base/gstadapter.c: More adapter docs.
8298
8299         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8300         (gst_file_sink_stop): New functions, replace the state change
8301         handler.
8302         (gst_file_sink_class_init): Hook up the start and stop functions.
8303         (gst_file_sink_base_init): Don't set the state change handler any
8304         more. It was a bit ugly too, being set from here...
8305         (gst_file_sink_get_property, gst_file_sink_set_property):
8306         Cleanups...
8307         (gst_file_sink_set_location): More robust check that doesn't call
8308         GST_STATE. Ugggggg.
8309
8310 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8311
8312         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8313           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8314
8315 2005-11-08  Wim Taymans  <wim@fluendo.com>
8316
8317         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8318         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8319         (gst_base_sink_chain), (gst_base_sink_change_state):
8320         * gst/base/gstbasesink.h:
8321         * gst/base/gstbasesrc.h:
8322         * gst/gstelement.h:
8323         * gst/gstevent.h:
8324         Avoid excessive typechecking in macros.
8325
8326         * gst/gstminiobject.c: (gst_mini_object_get_type),
8327         (gst_mini_object_init), (gst_mini_object_new),
8328         (gst_mini_object_free):
8329         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8330         (gst_object_finalize):
8331         Remove cruft code, optimize alloc_trace.
8332
8333 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8334
8335         * docs/faq/gst-uninstalled:
8336           fix up PS1 for systems that try to reset it
8337
8338 2005-11-07  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/base/gstbasesrc.c: (gst_base_src_init),
8341         (gst_base_src_get_range):
8342         Set the segment_end to -1 initially. Fixed typefind.
8343
8344 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8345
8346         * gst/base/gstadapter.c:
8347           Debug category should be 'adapter', not 'GstAdapter'.
8348           
8349         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8350         (gst_collectpads_class_init), (gst_collectpads_init),
8351         (gst_collectpads_peek), (gst_collectpads_pop),
8352         (gst_collectpads_event), (gst_collectpads_chain):
8353           Add debug category and some debugging output. Use boilerplate
8354           macros. Remove some extraneous words from docs.
8355
8356 2005-11-05  Andy Wingo  <wingo@pobox.com>
8357
8358         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8359         macro.
8360
8361 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8362
8363         * docs/gst/gstreamer-sections.txt:
8364         * gst/gstcaps.h:
8365         * gst/gstinfo.c:
8366         * gst/gstminiobject.h:
8367         * gst/gstobject.h:
8368         * gst/gstutils.h:
8369           more docs added
8370
8371 2005-11-04  Wim Taymans  <wim@fluendo.com>
8372
8373         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8374         Small update to stop at the configured segment_end
8375         position.
8376
8377 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8378
8379         * gst/gstregistry.c:
8380         * gst/gstregistry.h:
8381           added missing docs
8382
8383 2005-11-04  Edward Hervey  <edward@fluendo.com>
8384
8385         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8386         Check if we are doing a segment seek and have arrived at the
8387         end of that segment.
8388
8389 2005-11-04  Wim Taymans  <wim@fluendo.com>
8390
8391         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8392         Don't leak a mutex unlock in case of an error.
8393
8394         * gst/gstbus.h:
8395         Doc fixes.
8396
8397 2005-11-04  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8400         (gst_bus_post):
8401         Get the context to wake up only once.
8402
8403 2005-11-03  Wim Taymans  <wim@fluendo.com>
8404
8405         * check/states/sinks.c: (GST_START_TEST):
8406         Uncomment fixed check.
8407
8408         * docs/design/part-TODO.txt:
8409         Updated TODO.
8410
8411         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8412         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8413         (gst_base_sink_get_position):
8414         If we are going to PLAYING, post the right pending state
8415         when we post the intermediate paused message.
8416
8417         * gst/gstelement.c: (gst_element_continue_state),
8418         (gst_element_set_state_func), (gst_element_change_state):
8419         Don't post state changes that were between the same state
8420         and were not ASYNC.
8421
8422 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8423
8424         * docs/gst/gstreamer-sections.txt:
8425         * gst/gstcaps.h:
8426         * gst/gstinfo.c:
8427         * gst/gstminiobject.h:
8428         * gst/gstobject.h:
8429         * gst/gstutils.h:
8430           more docs and doc style fixes
8431
8432 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8433
8434         * docs/gst/gstreamer-sections.txt:
8435         * gst/gstelement.c:
8436         * gst/gstminiobject.c:
8437         doc fixes
8438
8439 2005-11-03  Andy Wingo  <wingo@pobox.com>
8440
8441         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8442         state-changed messages actually have the right order and the right
8443         values.
8444
8445 2005-11-03  Wim Taymans  <wim@fluendo.com>
8446
8447         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8448         Added some more checks. Specifically the case where NO_PREROLL
8449         elements are in the pipeline.
8450
8451         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8452         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8453         (gst_base_sink_get_position):
8454         Post READY->PAUSED state change messages too.
8455         Fix bug where VOID was posted as pending state...
8456
8457         * gst/gstbin.c: (gst_bin_recalc_state):
8458         use _element_continue_state() to continue the state change.
8459
8460         * gst/gstelement.c: (gst_element_continue_state),
8461         (gst_element_commit_state), (gst_element_set_state_func),
8462         (gst_element_change_state), (gst_element_change_state_func):
8463         Lots of state change cleanups, assign the STATE_RETURN in
8464         a new continue_state() function that also propagates the
8465         last return value from a state change to the app.
8466         Update some debug statements with proper category.
8467
8468 2005-11-03  Wim Taymans  <wim@fluendo.com>
8469
8470         * docs/design/part-events.txt:
8471         * docs/design/part-gstpipeline.txt:
8472         * docs/design/part-messages.txt:
8473         * docs/design/part-overview.txt:
8474         * docs/design/part-seeking.txt:
8475         * docs/design/part-states.txt:
8476         * docs/design/part-trickmodes.txt:
8477         * docs/manual/advanced-position.xml:
8478         Small docs updates.
8479
8480         * gst/gstobject.h:
8481         People think !! is ugly, this looks better.
8482
8483         * gst/gstpad.c: (gst_pad_set_blocked_async):
8484         Remove !! since it's fixed elsewhere now.
8485
8486 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8487
8488         * gst/gstminiobject.h:
8489         * gst/gstobject.h:
8490           Add !! to _FLAG_IS_SET macros to make the result boolean.
8491
8492 2005-11-03  Edward Hervey  <edward@fluendo.com>
8493
8494         * gst/gstpad.c: (gst_pad_set_blocked_async):
8495         comparing a flag and a gboolean rarely returns coherent results...
8496         Added two characters (!!) to make that work correctly.
8497         
8498 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8499
8500         * gst/gstbus.c: (gst_bus_class_init):
8501           Fix some typos.
8502           
8503         * gst/gstqueue.c: (gst_queue_loop):
8504           Don't assume a miniobject that isn't a buffer is an
8505           event (it could be that there is a refcounting
8506           problem somewhere and the pointer is stale and
8507           refers to an already destroyed miniobject).
8508
8509 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8510
8511         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8512
8513 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8514
8515         * docs/manual/advanced-position.xml:
8516           Update seek example and explanations to current 0.9 API.
8517
8518         * gst/elements/gsttypefindelement.c:
8519         (gst_type_find_element_activate):
8520           Remove FIXME comment now that the found caps
8521           are unreffed.
8522
8523 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * gst/gstregistryxml.c: (load_feature):
8526           Add another GST_STR_NULL instance
8527
8528 2005-11-02  Edward Hervey  <edward@fluendo.com>
8529
8530         * gst/gstpad.c: (handle_pad_block):
8531         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8532         
8533 2005-11-02  Wim Taymans  <wim@fluendo.com>
8534
8535         * gst/gstbin.c:
8536         Fix typo in docs.
8537
8538         * gst/gstelement.c: (gst_element_commit_state):
8539         Remove unused value.
8540
8541         * gst/gstiterator.c:
8542         Mention that the returned element is reffed in the docs.
8543
8544 2005-11-02  Wim Taymans  <wim@fluendo.com>
8545
8546         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8547         (gst_pad_push), (gst_pad_push_event):
8548         Unlock blocked pads when they are flushed.
8549
8550 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8551
8552         * docs/README:
8553         * docs/gst/gstreamer-sections.txt:
8554         * gst/gstbin.c:
8555           doc updates
8556         * gst/gstregistry.c: (gst_registry_scan_path_level):
8557           fix for a nasty little missed situation where an installed plug-in
8558           which was in the cache did not get overridden by an uninstalled one
8559           which was earlier in the plugin path because the newly created plugin
8560           for the uninstalled one (not in the registry) didn't get its
8561           ->registered set to TRUE
8562
8563 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8564
8565         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8566         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8567         (gst_collectpads_is_active), (gst_collectpads_collect),
8568         (gst_collectpads_collect_range), (gst_collectpads_start),
8569         (gst_collectpads_stop), (gst_collectpads_peek),
8570         (gst_collectpads_pop), (gst_collectpads_available),
8571         (gst_collectpads_read), (gst_collectpads_flush):
8572           Guard public API with assertions.
8573         
8574         * gst/gstpad.c:
8575           Fix docs for gst_pad_set_link_function().
8576
8577 2005-11-02  Johan Dahlin  <johan@gnome.org>
8578
8579         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8580         Unref found_caps after we used it.
8581
8582 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8583
8584         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8585           Don't try to ref NULL.
8586
8587 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * win32/common/config.h.in:
8590           provide a GST_FUNCTION that just gives a string for now
8591
8592 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8593
8594         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8595         (gst_object_flags_get_type), (register_gst_bin_flags),
8596         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8597         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8598         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8599         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8600         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8601         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8602         (gst_clock_flags_get_type), (register_gst_state),
8603         (gst_state_get_type), (register_gst_state_change_return),
8604         (gst_state_change_return_get_type), (register_gst_state_change),
8605         (gst_state_change_get_type), (register_gst_element_flags),
8606         (gst_element_flags_get_type), (register_gst_core_error),
8607         (gst_core_error_get_type), (register_gst_library_error),
8608         (gst_library_error_get_type), (register_gst_resource_error),
8609         (gst_resource_error_get_type), (register_gst_stream_error),
8610         (gst_stream_error_get_type), (register_gst_event_type),
8611         (gst_event_type_get_type), (register_gst_seek_type),
8612         (gst_seek_type_get_type), (register_gst_seek_flags),
8613         (gst_seek_flags_get_type), (register_gst_format),
8614         (gst_format_get_type), (register_gst_index_certainty),
8615         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8616         (gst_index_entry_type_get_type),
8617         (register_gst_index_lookup_method),
8618         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8619         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8620         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8621         (gst_index_flags_get_type), (register_gst_debug_level),
8622         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8623         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8624         (gst_iterator_result_get_type), (register_gst_iterator_item),
8625         (gst_iterator_item_get_type), (register_gst_message_type),
8626         (gst_message_type_get_type), (register_gst_mini_object_flags),
8627         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8628         (gst_pad_link_return_get_type), (register_gst_flow_return),
8629         (gst_flow_return_get_type), (register_gst_activate_mode),
8630         (gst_activate_mode_get_type), (register_gst_pad_direction),
8631         (gst_pad_direction_get_type), (register_gst_pad_flags),
8632         (gst_pad_flags_get_type), (register_gst_pad_presence),
8633         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8634         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8635         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8636         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8637         (gst_plugin_flags_get_type), (register_gst_rank),
8638         (gst_rank_get_type), (register_gst_query_type),
8639         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8640         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8641         (gst_tag_flag_get_type), (register_gst_task_state),
8642         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8643         (gst_alloc_trace_flags_get_type),
8644         (register_gst_type_find_probability),
8645         (gst_type_find_probability_get_type), (register_gst_uri_type),
8646         (gst_uri_type_get_type), (register_gst_parse_error),
8647         (gst_parse_error_get_type):
8648         * win32/common/gstversion.h:
8649           update win32 copies
8650
8651 2005-11-01  Luca Ognibene  <luogni@tin.it>
8652
8653         * gst/gst.c:
8654           fix docs. popt is dead, long live GOption.
8655
8656 2005-10-31  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstbuffer.h:
8659         Small doc fix.
8660
8661 2005-10-31  Andy Wingo  <wingo@pobox.com>
8662
8663         * Boo!
8664
8665         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8666
8667         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8668         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8669         the possibility of deadlocks here if code calling notify() or
8670         set() has a lock that can be taken in another notify handler (ABBA
8671         with class lock and e.g. python GIL state lock).
8672
8673 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8674
8675         * gst/gstbus.c: Doc updates.
8676
8677 2005-10-28  Wim Taymans  <wim@fluendo.com>
8678
8679         * docs/design/part-TODO.txt:
8680         * gst/gstiterator.c:
8681         * gst/gstsystemclock.c:
8682         * gst/gstsystemclock.h:
8683         Doc updates.
8684
8685 2005-10-28  Edward Hervey  <edward@fluendo.com>
8686
8687         * docs/gst/gstreamer-docs.sgml:
8688         * docs/gst/gstreamer-sections.txt:
8689         the GstURIType documentation page is private, it only defines GstURIType
8690         which should be defined in the GstURIHandler page
8691         
8692 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * gst/gstbin.c: (gst_bin_class_init):
8695         * gst/gstbin.h:
8696         * gst/gstutils.c:
8697         Documentation updates.
8698
8699 2005-10-28  Wim Taymans  <wim@fluendo.com>
8700
8701         * docs/gst/gstreamer-sections.txt:
8702         * gst/gstclock.c:
8703         * gst/gstclock.h:
8704         Documented the clocks.
8705
8706 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8707
8708         * docs/gst/gstreamer-sections.txt:
8709           move some macros to private sections
8710         * gst/gstminiobject.c:
8711         * gst/gstminiobject.h:
8712           add descriptions provided by ds and some more
8713         * gst/gstpad.h:
8714           mark macro as to be removed
8715
8716 2005-10-28  Wim Taymans  <wim@fluendo.com>
8717
8718         * docs/design/part-TODO.txt:
8719         Add an item to TODO.
8720
8721         * gst/gstiterator.c: (gst_iterator_fold),
8722         (gst_iterator_find_custom):
8723         * gst/gstiterator.h:
8724         Add iterator docs.
8725
8726 2005-10-28  Wim Taymans  <wim@fluendo.com>
8727
8728         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8729         (gst_base_transform_init):
8730         Don't leak class.
8731
8732         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8733         An EOS event marks the queue as completely filled.
8734
8735 2005-10-27  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8738         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8739         Some more debugging.
8740
8741         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8742         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8743         (gst_base_transform_event), (gst_base_transform_getrange),
8744         (gst_base_transform_chain):
8745         * gst/base/gstbasetransform.h:
8746         Fix debugging,
8747         Protect transform and concurrent buffer alloc with a new lock.
8748         Try not to break ABI/API.
8749
8750 2005-10-27  Wim Taymans  <wim@fluendo.com>
8751
8752         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8753         (gst_base_src_init), (gst_base_src_query),
8754         (gst_base_src_default_newsegment),
8755         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8756         (gst_base_src_send_event), (gst_base_src_event_handler),
8757         (gst_base_src_pad_get_range), (gst_base_src_loop),
8758         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8759         (gst_base_src_start), (gst_base_src_deactivate),
8760         (gst_base_src_activate_push), (gst_base_src_change_state):
8761         Move some stuff around and cleanup things.
8762
8763 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         * gst/base/gstbasesrc.c: (gst_base_src_query):
8766           Add missing break statements.
8767
8768 2005-10-27  Wim Taymans  <wim@fluendo.com>
8769
8770         * check/gst/gstbin.c: (GST_START_TEST):
8771         An extra refcount is taken in basesrc.
8772
8773         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8774         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8775         (gst_base_src_loop):
8776         Small cleanups, check for flushing after being unlocked from the 
8777         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8778         Don't send out EOS when going to READY.
8779
8780 2005-10-27  Wim Taymans  <wim@fluendo.com>
8781
8782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8783         (gst_base_sink_get_position):
8784         Some more debug.
8785
8786         * gst/gstbin.c: (message_check), (bin_replace_message),
8787         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8788         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8789         (bin_query_duration_init), (bin_query_duration_fold),
8790         (bin_query_duration_done), (bin_query_generic_fold),
8791         (gst_bin_query):
8792         * tools/gst-launch.c: (main):
8793         Remove old option.
8794
8795 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8796
8797         * examples/controller/audio-example.c: (main):
8798         * examples/queue/queue.c: (event_loop):
8799         * gst/base/gstbasetransform.h:
8800         * gst/gstelement.c: (gst_element_send_event):
8801         * gst/gstevent.h:
8802         * gst/gstpad.c: (gst_pad_send_event):
8803           fixing examples
8804           fixing docs typos
8805           changing log priority in error situations
8806
8807 2005-10-25  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/gstbin.c: (message_check), (bin_replace_message),
8810         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8811         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8812         (bin_query_duration_init), (bin_query_duration_fold),
8813         (bin_query_duration_done), (bin_query_generic_fold),
8814         (gst_bin_query):
8815         Some doc and debug updates.
8816         Cache previously requested query DURATION for speed. invalidate
8817         cached duration if element posts a DURATION message.
8818
8819 2005-10-25  Wim Taymans  <wim@fluendo.com>
8820
8821         * docs/design/part-TODO.txt:
8822         Update TODO.
8823
8824         * gst/gstbin.c: (message_check), (bin_replace_message),
8825         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8826         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8827         (bin_query_duration_init), (bin_query_duration_fold),
8828         (bin_query_duration_done), (bin_query_generic_fold),
8829         (gst_bin_query):
8830         Handle SEGMENT_START/DONE messages correctly.
8831         More evolved query algorithm that handles duration queries
8832         correctly.
8833
8834         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8835         (gst_element_get_state_func), (gst_element_abort_state),
8836         (gst_element_commit_state), (gst_element_lost_state):
8837         Some more debugging.
8838
8839         * gst/gstmessage.h:
8840         Added doc.
8841
8842 2005-10-25  Wim Taymans  <wim@fluendo.com>
8843
8844         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8845         Don't use invalid stream_time.
8846
8847         * gst/gstevent.c: (gst_event_new_newsegment):
8848         stream_time in newsegment cannot be undefined.
8849
8850 2005-10-24  Wim Taymans  <wim@fluendo.com>
8851
8852         * gst/gstbus.c:
8853         Doc fix.
8854
8855         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8856         (gst_queue_loop):
8857         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8858
8859 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8860
8861         * docs/libs/tmpl/gstdparam.sgml:
8862         * docs/libs/tmpl/gstdplinint.sgml:
8863         * docs/libs/tmpl/gstdpman.sgml:
8864         * docs/libs/tmpl/gstdpsmooth.sgml:
8865         * docs/libs/tmpl/gstunitconvert.sgml:
8866           these are obsolete
8867
8868 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8869
8870         * configure.ac:
8871           back to HEAD
8872
8873 === release 0.9.4 ===
8874
8875 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * configure.ac:
8878           releasing 0.9.4, "Tyrannosaurus Rex"
8879
8880 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8881
8882         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8883         (gst_file_sink_get_current_offset):
8884           Use fseeko() and ftello() if available. When falling back on
8885           lseek() to get the current offset, fflush() first to make sure
8886           everything is up-to-date and we get the right offset.
8887
8888 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8889
8890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8891         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8892         * gst/gsterror.c: (_gst_stream_errors_init):
8893         * gst/gsterror.h:
8894         * gst/gstqueue.c: (gst_queue_loop):
8895         * po/POTFILES.in:
8896           remove prematurely added error category and clean up the instances
8897
8898 2005-10-21  Wim Taymans  <wim@fluendo.com>
8899
8900         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8901         (gst_base_sink_get_position), (gst_base_sink_query),
8902         (gst_base_sink_change_state):
8903         Simply set the right flag when going to playing, that's all
8904         we need to do instead of calling a function inside the object
8905         lock (that could take the lock as well and deadlock)
8906
8907 2005-10-21  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8910         (gst_base_src_loop):
8911         Don't warn, the peer element knows what to do best when
8912         the seek failed, it might try something else.
8913
8914 2005-10-21  Wim Taymans  <wim@fluendo.com>
8915
8916         * gst/base/gstbasesrc.c: (gst_base_src_init),
8917         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8918         Fix seeking.
8919
8920 2005-10-21  Wim Taymans  <wim@fluendo.com>
8921
8922         * docs/design/part-segments.txt:
8923         More docs.
8924
8925         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8926         Correctly set caps, even on the subbufer.
8927
8928 2005-10-21  Wim Taymans  <wim@fluendo.com>
8929
8930         * docs/gst/gstreamer-docs.sgml:
8931         * docs/gst/gstreamer-sections.txt:
8932         * gst/gstelement.h:
8933         * gst/gstevent.c:
8934         * gst/gstevent.h:
8935         * gst/gstmessage.h:
8936         * gst/gstpad.h:
8937         * gst/gstparse.h:
8938         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8939         * gst/gsttask.h:
8940         * gst/gstutils.c:
8941         * gst/gstutils.h:
8942         And 2% more doc coverage.
8943
8944 2005-10-21  Andy Wingo  <wingo@pobox.com>
8945
8946         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8947         position reporting.
8948
8949 2005-10-20  Wim Taymans  <wim@fluendo.com>
8950
8951         * gst/gsterror.c: (gst_error_get_message):
8952         * gst/gstparse.h:
8953         * gst/gstquery.h:
8954         * gst/gststructure.c:
8955         * gst/gsttrace.c:
8956         * gst/gstutils.c:
8957         More docs.
8958
8959 2005-10-20  Wim Taymans  <wim@fluendo.com>
8960
8961         * gst/gstbuffer.h:
8962         * gst/gstpad.c:
8963         * gst/gstparse.c:
8964         Another 1% more coverage.
8965
8966 2005-10-20  Wim Taymans  <wim@fluendo.com>
8967
8968         * docs/gst/gstreamer-sections.txt:
8969         * gst/gstelement.c: (gst_element_get_state_func),
8970         (gst_element_abort_state), (gst_element_commit_state),
8971         (gst_element_lost_state):
8972         * gst/gstevent.h:
8973         * gst/gstquery.c: (gst_query_set_position),
8974         (gst_query_parse_position), (gst_query_set_duration),
8975         (gst_query_parse_duration), (gst_query_new_convert):
8976         * gst/gstutils.c:
8977         Yay! 1% more docs coverage.
8978
8979 2005-10-20  Wim Taymans  <wim@fluendo.com>
8980
8981         * gst/gstpad.h:
8982         * gst/gstquery.c: (gst_query_set_position),
8983         (gst_query_parse_position), (gst_query_set_duration),
8984         (gst_query_parse_duration), (gst_query_new_convert):
8985         * gst/gstquery.h:
8986         * gst/gstutils.c: (gst_element_query_convert):
8987         * gst/gstutils.h:
8988         Docs and consistency fixes.
8989
8990 2005-10-20  Wim Taymans  <wim@fluendo.com>
8991
8992         * gst/gsttask.c:
8993         * gst/gsttask.h:
8994         More docs.
8995
8996 2005-10-20  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/gstbin.c: (message_check), (bin_replace_message),
8999         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9000         (update_degree), (gst_bin_sort_iterator_next),
9001         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9002         Reworked the message handling a bit, cache the messages instead of
9003         only the senders. alows us to do more in the future.
9004
9005 2005-10-20  Wim Taymans  <wim@fluendo.com>
9006
9007         * docs/design/part-TODO.txt:
9008         Update TODO
9009
9010         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9011         (gst_base_sink_query):
9012         Don't use clock time to report position when in EOS.
9013
9014 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9015
9016         * tools/gst-inspect.c: (print_interfaces),
9017         (print_element_properties_info), (print_element_info):
9018           Fix interface output with gst-inspect -a; don't print
9019           newlines after double/float properties.
9020
9021 2005-10-20  Wim Taymans  <wim@fluendo.com>
9022
9023         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9024         (gst_base_sink_query):
9025         Speed up current position calculation.
9026
9027         * gst/base/gstbasesrc.c: (gst_base_src_query),
9028         (gst_base_src_default_newsegment):
9029         Correctly set stream position in newsegment.
9030
9031         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9032         (update_degree), (gst_bin_sort_iterator_next),
9033         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9034         * gst/gstmessage.c: (gst_message_new_custom):
9035         Clean up debugging info
9036
9037         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9038         (gst_queue_loop), (gst_queue_handle_src_query):
9039         Pause task faster.
9040
9041 2005-10-19  Wim Taymans  <wim@fluendo.com>
9042
9043         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9044         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9045         Fix query handling again.
9046
9047 2005-10-19  Wim Taymans  <wim@fluendo.com>
9048
9049         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9050         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9051         * gst/base/gstbasesrc.c: (gst_base_src_query):
9052         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9053         * gst/elements/gsttypefindelement.c:
9054         (gst_type_find_handle_src_query), (find_element_get_length),
9055         (gst_type_find_element_activate):
9056         API change fix.
9057
9058         * gst/gstquery.c: (gst_query_new_position),
9059         (gst_query_set_position), (gst_query_parse_position),
9060         (gst_query_new_duration), (gst_query_set_duration),
9061         (gst_query_parse_duration), (gst_query_set_segment),
9062         (gst_query_parse_segment):
9063         * gst/gstquery.h:
9064         Bundling query position/duration is not a good idea since duration
9065         does not change much and we don't want to recalculate it for every
9066         position query, so they are separated again..
9067         Base value in segment query is not needed.
9068
9069         * gst/gstqueue.c: (gst_queue_handle_src_query):
9070         * gst/gstutils.c: (gst_element_query_position),
9071         (gst_element_query_duration), (gst_pad_query_position),
9072         (gst_pad_query_duration):
9073         * gst/gstutils.h:
9074         Updates for query API change.
9075         Added some docs here and there.
9076
9077 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9078
9079         * check/gst/gstbin.c: (GST_START_TEST):
9080         * check/gst/gstghostpad.c: (GST_START_TEST):
9081         * check/pipelines/cleanup.c: (GST_START_TEST):
9082           wait on thread to die so we can check refcount correctly
9083
9084 2005-10-18  Wim Taymans  <wim@fluendo.com>
9085
9086         * check/pipelines/stress.c: (GST_START_TEST):
9087         Make check a little more time consuming.
9088
9089 2005-10-18  Wim Taymans  <wim@fluendo.com>
9090
9091         * check/Makefile.am:
9092         * check/pipelines/stress.c: (GST_START_TEST),
9093         (simple_launch_lines_suite), (main):
9094         Small state change torture test.
9095
9096         * docs/design/part-states.txt:
9097         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9098         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9099         (gst_base_sink_change_state):
9100         Never take state lock from streaming thread, clean up ugly
9101         hacks. Unfortunatly core does not yet support nice ways to
9102         async commit state.
9103         
9104         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9105         (bin_bus_handler):
9106         Start state recalc if a STATE_DIRTY message is posted, but only
9107         on the toplevel bin.
9108
9109         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9110         (gst_element_get_state_func), (gst_element_abort_state),
9111         (gst_element_commit_state), (gst_element_lost_state),
9112         (gst_element_set_state_func), (gst_element_change_state):
9113         * gst/gstelement.h:
9114         State variables are now protected with the LOCK, the state
9115         lock is only used to serialize _set_state().
9116
9117 2005-10-18  Wim Taymans  <wim@fluendo.com>
9118
9119         * check/gst/gstbin.c: (GST_START_TEST):
9120         * check/gst/gstmessage.c: (GST_START_TEST):
9121         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9122         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9123         (bin_bus_handler):
9124         * gst/gstelement.c: (gst_element_abort_state),
9125         (gst_element_commit_state), (gst_element_lost_state):
9126         * gst/gstmessage.c: (gst_message_new_state_changed),
9127         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9128         (gst_message_new_segment_done), (gst_message_new_duration),
9129         (gst_message_parse_state_changed),
9130         (gst_message_parse_segment_start),
9131         (gst_message_parse_segment_done), (gst_message_parse_duration):
9132         * gst/gstmessage.h:
9133         * tools/gst-launch.c: (event_loop):
9134         Seriously, this is better than a previous commit as we only need
9135         to notify the fact that an element changed state in a streaming
9136         thread, marking the state of the parents dirty, hence the 
9137         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9138         message.
9139
9140 2005-10-18  Wim Taymans  <wim@fluendo.com>
9141
9142         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9143         (gst_bin_recalc_func):
9144         * gst/gstelement.c: (gst_element_set_clock),
9145         (gst_element_abort_state), (gst_element_lost_state):
9146         Cleanups, prepare for state change fixes.
9147
9148 2005-10-18  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/gstbin.h:
9151         * gst/gstelement.c: (gst_element_class_init),
9152         (gst_element_set_state), (gst_element_set_state_func):
9153         * gst/gstelement.h:
9154         Pending ABI changes.
9155         GThreadPool in GstBinClass to monitor async state changes.
9156         state_cookie in GstElement to detect concurrent gst/set state.
9157         set_state is now virtual too in case a very complicated element
9158         has to be constructed.
9159
9160 2005-10-18  Wim Taymans  <wim@fluendo.com>
9161
9162         * check/gst/gstbin.c: (GST_START_TEST):
9163         * check/gst/gstmessage.c: (GST_START_TEST):
9164         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9165         * gst/gstbin.c: (bin_bus_handler):
9166         * gst/gstelement.c: (gst_element_commit_state),
9167         (gst_element_lost_state):
9168         * gst/gstmessage.c: (gst_message_new_state_changed),
9169         (gst_message_new_segment_start), (gst_message_new_segment_done),
9170         (gst_message_new_duration), (gst_message_parse_state_changed),
9171         (gst_message_parse_segment_start),
9172         (gst_message_parse_segment_done), (gst_message_parse_duration):
9173         * gst/gstmessage.h:
9174         * tools/gst-launch.c: (event_loop):
9175         Make messages future proof.
9176         state-change gets a flag if it was a message comming from the
9177         streaming thread.
9178         segment-start/stop can also be specified in other formats.
9179         A message to notify an app that a pipeline changed playback 
9180         duration.
9181         Also fix a GstMessage leak in -launch
9182
9183 2005-10-18  Andy Wingo  <wingo@pobox.com>
9184
9185         * gst/gstelement.c (gst_element_dispose): More helpful message.
9186
9187 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         reviewed by: <delete if not using a buddy>
9190
9191         * common/gtk-doc.mak:
9192
9193 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9194
9195         * gst/gstregistry.c: (gst_registry_scan_path_level):
9196           unref a plug-in we get that was already initialized
9197
9198 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9199
9200         * docs/gst/gstreamer-sections.txt:
9201         * docs/libs/gstreamer-libs-sections.txt:
9202         * gst/gstelement.h:
9203           add new api entries
9204           hide internal macro
9205
9206 2005-10-17  Andy Wingo  <wingo@pobox.com>
9207
9208         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9209         cleanup.
9210
9211         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9212
9213         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9214
9215         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9216         (gst_element_get_state_func): Better debug message.
9217         (gst_element_commit_state): s/INFO/DEBUG/.
9218         (gst_element_lost_state, gst_element_change_state): 
9219
9220         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9221         (gst_message_new_custom): s/INFO/LOG/.
9222
9223 2005-10-17  Michael Smith <msmith@fluendo.com>
9224
9225         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9226           Check if end time is valid using end time, not start time.
9227
9228 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9229
9230         * check/gst-libs/controller.c: (GST_START_TEST),
9231         (gst_controller_suite):
9232         * libs/gst/controller/gstcontroller.c:
9233         (gst_controlled_property_set_interpolation_mode):
9234         * libs/gst/controller/gstcontroller.h:
9235         * libs/gst/controller/gstinterpolation.c:
9236         * testsuite/controller/.cvsignore:
9237         * testsuite/controller/Makefile.am:
9238         * testsuite/controller/interpolator.c:
9239           merge controller testsuites
9240           fix broken tests
9241           remove mem-chunk from docs
9242
9243 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9244
9245         * gst/gstmemchunk.c:
9246         * gst/gstmemchunk.h:
9247         * gst/gsttrashstack.c:
9248         * gst/gsttrashstack.h:
9249           out.  get out.  you're fired.  to the Attic !
9250
9251 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9252
9253         * gst/gstcaps.c: (gst_caps_intersect):
9254           fix signedness issues in a (hopefully) correct way
9255         * gst/gstelement.c: (gst_element_pads_activate):
9256           some debugging
9257         * gst/gstobject.c: (gst_object_set_parent):
9258           some debugging
9259
9260 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9261
9262         * gst/gstvalue.h: Fix prototypes.
9263
9264 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * docs/gst/gstreamer-sections.txt:
9267         * gst/gst.c: (gst_version_string):
9268         * gst/gst.h:
9269         * gst/gstversion.h.in:
9270         * win32/common/libgstreamer.def:
9271           add gst_version_string ()
9272
9273 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9274
9275         * configure.ac:
9276           clean up further
9277         * gst/gst.c: (init_post):
9278         * win32/common/config.h.in:
9279           it's PLUGINDIR now
9280         * gst/gstcaps.c: (gst_caps_intersect):
9281           use gint64, the range could be bigger than a guint
9282
9283 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * gst/gstclock.h:
9286           document potential problem in 2038
9287
9288 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * gst/gstcaps.c: (gst_caps_intersect):
9291           Fix guint j diving under 0
9292
9293 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * configure.ac:
9296         * win32/common/config.h:
9297         * win32/common/config.h.in:
9298           check for process.h, declares getpid() on Windows
9299         * gst/gstinfo.c:
9300           include process.h if we have it
9301         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9302         * gst/gstmemchunk.h:
9303           fix signedness issues
9304         * win32/common/libgstreamer.def:
9305           fix get_type's
9306
9307 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9308
9309         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9310         fix. Because of unsigned ints, caps intersection was going nuts and
9311         trying to access structures with G_MAXUINT index. That fixes
9312         videotestsrc ! ffmpegcolorspace ! fakesink
9313         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9314         consistency.
9315
9316 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9317
9318         * configure.ac:
9319           use the gettext macro
9320         * gst/elements/gstelements.c:
9321         * gst/gst.c:
9322         * gst/indexers/gstindexers.c:
9323           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9324         * win32/common/config.h:
9325           updated config.h
9326         * win32/common/config.h.in:
9327           add the template to generate config.h
9328         * win32/common/gstenumtypes.c:
9329         * win32/common/gstversion.h:
9330           updated copies
9331
9332 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * gst/gst.c: (gst_version):
9335         * gst/gstversion.h.in:
9336           add the nano
9337
9338 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9339
9340         * gst/gstevent.h:
9341           Oops, add missing closing bracket.
9342
9343 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * configure.ac:
9346           use common m4's for argument checking
9347
9348 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * docs/gst/gstreamer-sections.txt:
9351         * gst/gstevent.h:
9352           Add GST_EVENT_TYPE_NAME() macro.
9353
9354 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * gst/gstinfo.c:
9357         * gst/gstpluginfeature.c:
9358         * gst/gsttask.c:
9359           privatize more symbols
9360
9361 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9362
9363         * configure.ac:
9364           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9365           everything that uses GStreamer API should have the includes
9366
9367 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * docs/gst/gstreamer-sections.txt:
9370         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9371         * gst/gstvalue.h:
9372           give each value a _get_type, removes the DATA exports
9373
9374 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9375
9376         * gst/gst.c:
9377         * gst/gst.h:
9378           remove _gst_registry_auto_load, not used anymore
9379         * gst/gstbin.c: (gst_bin_get_type):
9380         * gst/gstbin.h:
9381         * gst/gstelement.c: (gst_element_get_type):
9382         * gst/gstelement.h:
9383         * gst/gstobject.c: (gst_object_get_type):
9384         * gst/gstobject.h:
9385         * gst/gstpad.c: (gst_pad_get_type):
9386         * gst/gstpad.h:
9387           make _get_type functions similar, fixes data export from library
9388
9389 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * configure.ac:
9392           correctly make conditionals
9393         * gst/elements/Makefile.am:
9394         * gst/elements/gstelements.c:
9395           fix typo causing fdsrc not to build
9396
9397 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * testsuite/Makefile.am:
9400         * testsuite/bytestream/.cvsignore:
9401         * testsuite/bytestream/Makefile.am:
9402         * testsuite/bytestream/filepadsink.c:
9403         * testsuite/bytestream/gstbstest.c:
9404         * testsuite/bytestream/test1.c:
9405         * testsuite/bytestream/testfile1:
9406         * testsuite/caps/normalisation.c:
9407         * testsuite/caps/random.c: (main):
9408         * testsuite/cleanup/.cvsignore:
9409         * testsuite/cleanup/Makefile.am:
9410         * testsuite/cleanup/cleanup1.c:
9411         * testsuite/cleanup/cleanup2.c:
9412         * testsuite/cleanup/cleanup3.c:
9413         * testsuite/cleanup/cleanup4.c:
9414         * testsuite/cleanup/cleanup5.c:
9415         * testsuite/controller/interpolator.c:
9416         * testsuite/debug/printf_extension.c: (main):
9417         * testsuite/elements/tee.c:
9418         * testsuite/negotiation/.cvsignore:
9419         * testsuite/negotiation/Makefile.am:
9420         * testsuite/negotiation/pad_link.c:
9421         * testsuite/pad/Makefile.am:
9422         * testsuite/pad/chainnopull.c:
9423         * testsuite/pad/getnopush.c:
9424         * testsuite/pad/link.c:
9425         * testsuite/refcounting/sched.c: (create_pipeline):
9426         * testsuite/registry/Makefile.am:
9427         * testsuite/registry/gst-print-formats.c:
9428         * testsuite/schedulers/.cvsignore:
9429         * testsuite/schedulers/142183-2.c:
9430         * testsuite/schedulers/142183.c:
9431         * testsuite/schedulers/143777-2.c:
9432         * testsuite/schedulers/143777.c:
9433         * testsuite/schedulers/147713.c:
9434         * testsuite/schedulers/147819.c:
9435         * testsuite/schedulers/147894-2.c:
9436         * testsuite/schedulers/147894.c:
9437         * testsuite/schedulers/Makefile.am:
9438         * testsuite/schedulers/group_link.c:
9439         * testsuite/schedulers/queue_link.c:
9440         * testsuite/schedulers/relink.c:
9441         * testsuite/schedulers/unlink.c:
9442         * testsuite/schedulers/unref.c:
9443         * testsuite/schedulers/useless_iteration.c:
9444         * testsuite/states/bin.c:
9445           clean out/remove some stuff from the testsuite directories
9446
9447 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9448
9449         * configure.ac:
9450           check for some headers
9451         * gst/elements/Makefile.am:
9452         * gst/elements/gstelements.c:
9453           don't compile fdsrc without sys/socket.h
9454         * gst/indexers/Makefile.am:
9455         * gst/indexers/gstindexers.c: (plugin_init):
9456           don't compile fileindex without mmap
9457
9458 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9459
9460         * configure.ac:
9461           reorganize
9462           clean up
9463           document more
9464           remove cruft
9465         * check/Makefile.am:
9466         * docs/gst/Makefile.am:
9467         * examples/helloworld/Makefile.am:
9468         * gst/Makefile.am:
9469         * gst/base/Makefile.am:
9470         * gst/check/Makefile.am:
9471         * gst/elements/Makefile.am:
9472         * gst/indexers/Makefile.am:
9473         * gst/parse/Makefile.am:
9474         * libs/gst/controller/Makefile.am:
9475         * libs/gst/dataprotocol/Makefile.am:
9476         * examples/helloworld/helloworld.c: (event_loop):
9477           compile fixes, though it's not being compiled currently
9478
9479 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9480
9481         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9482           Add some simple tests for the new taglist date API.
9483
9484 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9485
9486         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9487         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9488           Beautify 'last-message' output: print 'none' for buffer timestamps
9489           and durations if none is set; improve alignment with next messages.
9490
9491 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9492
9493         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9494         * gst/gstpluginfeature.h:
9495         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9496         * gst/gstregistry.h:
9497         * docs/gst/gstreamer-sections.txt:
9498           Add new API to check plugin feature version requirements.
9499
9500         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9501           Some basic tests for the above.         
9502
9503 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9504
9505         * gst/gststructure.c: (gst_structure_to_string):
9506           guard against NULL printf - happens when for example
9507           a message structure with GstClock gets serialized
9508
9509 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9510
9511         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9512           Fix presumable copy'n'pasto.
9513
9514 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * gst/elements/gstfakesrc.h:
9517         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9518         * gst/elements/gsttypefindelement.c:
9519           fix some signedness
9520         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9521           I wonder if this could actually write +2GB files before
9522
9523 2005-10-13  Andy Wingo  <wingo@pobox.com>
9524
9525         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9526         Fix Timmeke Waymans bug.
9527         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9528         string of the proper length to gst_caps_from_string. There's a
9529         potential for, before this fix, that this could cause someone
9530         connecting over the network to cause a segfault if the payload is
9531         not NUL-terminated.
9532
9533 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9534
9535         * docs/design/draft-push-pull.txt:
9536         * docs/design/part-overview.txt:
9537         * docs/random/TODO-pre-0.9:
9538         * docs/random/old/ChangeLog.gstreamer:
9539         * gst/base/gstpushsrc.c:
9540         * gst/gstclock.c:
9541           fixed typos
9542
9543 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9544
9545         * gst/glib-compat.c: (gst_flags_get_first_value):
9546         * gst/glib-compat.h:
9547         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9548         (gst_value_compare_double), (gst_value_serialize_flags):
9549           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9550           infinite loop
9551
9552 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9553
9554         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9555         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9556           fix up debugging
9557         * tools/gst-launch.c: (event_loop):
9558           print out clock nicely
9559
9560 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9561
9562         * docs/gst/gstreamer-sections.txt:
9563         * gst/gsttaglist.h:
9564         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9565         (gst_tag_list_get_date_index):
9566           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9567           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9568
9569 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9570
9571         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9572         (gst_collectpads_chain):
9573         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9574         in CollectData.
9575
9576 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9577
9578         * docs/gst/gstreamer-sections.txt:
9579         * gst/gst.c:
9580         * gst/gsterror.h:
9581         * tools/gst-inspect.c: (main):
9582         * tools/gst-launch.c: (main):
9583         * tools/gst-run.c: (main):
9584         * tools/gst-xmlinspect.c: (main):
9585           fix GOption context leaks
9586           doc fixes
9587
9588 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9589
9590         * gst/gstbus.c:
9591           use HAVE_UNISTD_H
9592         * win32/common/config.h:
9593           update config
9594         * win32/vs6/grammar.dsp:
9595         * win32/vs6/libgstelements.dsp:
9596         * win32/vs6/libgstreamer.dsp:
9597           update vs6 files
9598
9599 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9600
9601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9602         * gst/base/gstbasesrc.c: (gst_base_src_query):
9603           fix more guint64<->gdouble conversions
9604
9605 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * Makefile.am:
9608           add win32-update target
9609         * win32/common/gstconfig.h:
9610         * win32/common/gstenumtypes.c:
9611         * win32/common/gstenumtypes.h:
9612         * win32/common/gstversion.h:
9613           add files that visual studio can't generate
9614
9615 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9616
9617         * Makefile.am:
9618           add a win32-update target
9619         * configure.ac:
9620
9621 2005-10-12  Wim Taymans  <wim@fluendo.com>
9622
9623         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9624         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9625         * gst/gstelement.c: (gst_element_commit_state),
9626         (gst_element_set_state):
9627         Protect flags with proper lock.
9628         unref provided cached clock in dispose.
9629
9630 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9631
9632         * gst/gst.c:
9633         * gst/gstminiobject.h:
9634         * gst/gstpad.h:
9635         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9636           removed unused flags from miniobject
9637           doc fixes
9638
9639 2005-10-12  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9642         (gst_file_sink_event), (gst_file_sink_render):
9643         Flush before seeking.
9644
9645 2005-10-12  Andy Wingo  <wingo@pobox.com>
9646
9647         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9648         always been the case.
9649
9650 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9651
9652         * check/gst/gstbin.c: (GST_START_TEST):
9653         * docs/gst/gstreamer-sections.txt:
9654         * gst/base/gstbasesink.c: (gst_base_sink_init):
9655         * gst/base/gstbasesrc.c: (gst_base_src_init),
9656         (gst_base_src_get_range), (gst_base_src_check_get_range),
9657         (gst_base_src_start), (gst_base_src_stop):
9658         * gst/base/gstbasesrc.h:
9659         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9660         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9661         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9662         (bin_bus_handler):
9663         * gst/gstbin.h:
9664         * gst/gstbuffer.h:
9665         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9666         * gst/gstbus.h:
9667         * gst/gstelement.c: (gst_element_is_locked_state),
9668         (gst_element_set_locked_state), (gst_element_commit_state),
9669         (gst_element_set_state):
9670         * gst/gstelement.h:
9671         * gst/gstindex.c: (gst_index_init):
9672         * gst/gstindex.h:
9673         * gst/gstminiobject.h:
9674         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9675         (gst_object_set_parent):
9676         * gst/gstobject.h:
9677         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9678         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9679         * gst/gstpad.h:
9680         * gst/gstpadtemplate.h:
9681         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9682         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9683         * gst/gstpipeline.h:
9684         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9685         (gst_file_index_commit):
9686         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9687         * testsuite/pad/link.c: (gst_test_src_init),
9688         (gst_test_filter_init), (gst_test_sink_init):
9689         * testsuite/states/locked.c: (main):
9690           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9691           moved bitshift from macro to enum definition
9692
9693 2005-10-12  Wim Taymans  <wim@fluendo.com>
9694
9695         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9696         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9697         (gst_file_sink_render):
9698         Some more debugging info.
9699
9700 2005-10-12  Wim Taymans  <wim@fluendo.com>
9701
9702         * docs/design/part-states.txt:
9703         * tools/gst-launch.c: (main):
9704         Some doc updates.
9705         Revert non-intentional change.
9706
9707 2005-10-12  Wim Taymans  <wim@fluendo.com>
9708
9709         * check/gst/gstbin.c: (GST_START_TEST):
9710         * check/gst/gstelement.c: (GST_START_TEST):
9711         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9712         * check/gst/gstghostpad.c: (GST_START_TEST):
9713         * check/gst/gstpipeline.c: (GST_START_TEST):
9714         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9715         * check/states/sinks.c: (GST_START_TEST):
9716         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9717         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9718         (gst_bin_remove_func), (gst_bin_get_state_func),
9719         (gst_bin_recalc_state), (gst_bin_change_state_func),
9720         (bin_bus_handler):
9721         * gst/gstelement.c: (gst_element_get_state_func),
9722         (gst_element_get_state), (gst_element_abort_state),
9723         (gst_element_commit_state), (gst_element_set_state),
9724         (gst_element_change_state), (gst_element_change_state_func):
9725         * gst/gstelement.h:
9726         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9727         (gst_pipeline_provide_clock_func):
9728         * gst/gstutils.c: (gst_element_link_pads_filtered):
9729         * tools/gst-launch.c: (main):
9730         * tools/gst-typefind.c: (main):
9731         Use GstClockTime in _get_state() instead of GTimeVal.
9732         Remove old code in gstutils.c
9733
9734 2005-10-12  Andy Wingo  <wingo@pobox.com>
9735
9736         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9737         removed.
9738
9739         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9740         there is no task. Shouldn't affect any code, as nothing in our
9741         plugins checks this return value.
9742         (gst_pad_stop_task): Also take the stream lock if the pad has no
9743         task. Docs updated.
9744
9745 2005-10-12  Wim Taymans  <wim@fluendo.com>
9746
9747         * gst/gstpad.c: (pre_activate), (post_activate),
9748         (gst_pad_activate_pull), (gst_pad_activate_push):
9749         Cleanup activation code. Reset old state if
9750         activation failed.
9751
9752 2005-10-12  Wim Taymans  <wim@fluendo.com>
9753
9754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9755         (gst_base_sink_change_state):
9756         No need to prerol after receiving EOS.
9757
9758         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9759         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9760         * gst/elements/gstidentity.c: (gst_identity_event):
9761         Print events more verbosely.
9762
9763 2005-10-12  Wim Taymans  <wim@fluendo.com>
9764
9765         * check/Makefile.am:
9766         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9767         * check/states/sinks2.c:
9768         Moved sinks2 testcode in sinks check.
9769
9770         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9771         (gst_bin_remove_func), (gst_bin_recalc_state),
9772         (gst_bin_change_state_func), (bin_bus_handler):
9773         Fix potential race condition when _get_state() iterated over an
9774         ASYNC element right before it posted a state completion.
9775
9776         * gst/gstclock.h:
9777         Do proper cast here.
9778
9779         * gst/gstevent.c: (gst_event_new_newsegment),
9780         (gst_event_parse_newsegment):
9781         A playback rate of 0.0 is not allowed.
9782
9783 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * win32/common/config.h:
9786         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9787         (_trewinddir), (_ttelldir), (_tseekdir):
9788         * win32/common/dirent.h:
9789         * win32/common/gtchar.h:
9790         * win32/common/libgstbase.def:
9791         * win32/common/libgstreamer.def:
9792         * win32/vs6/grammar.dsp:
9793         * win32/vs6/gst_inspect.dsp:
9794         * win32/vs6/gst_launch.dsp:
9795         * win32/vs6/gstreamer.dsw:
9796         * win32/vs6/libgstbase.dsp:
9797         * win32/vs6/libgstelements.dsp:
9798         * win32/vs6/libgstreamer.dsp:
9799           Visual Studio 6 project files, and a new common directory.
9800           Phear.
9801
9802 2005-10-11  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9805         (gst_base_sink_do_sync), (gst_base_sink_query),
9806         (gst_base_sink_change_state):
9807         * gst/base/gstbasesink.h:
9808         Correctly parse newsegment info.
9809
9810 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * gst/gst.c: (init_post):
9813           split plugin paths correctly
9814
9815 2005-10-11  Wim Taymans  <wim@fluendo.com>
9816
9817         * check/gst/gstevent.c: (GST_START_TEST):
9818         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9819         (gst_base_sink_change_state):
9820         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9821         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9822         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9823         * gst/gstevent.c: (gst_event_new_newsegment),
9824         (gst_event_parse_newsegment):
9825         * gst/gstevent.h:
9826         Added extra flag to newsegment for future API freeze.
9827         Updated check and base elements.
9828
9829 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9830
9831         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9832         (gst_collectpads_add_pad), (gst_collectpads_pop),
9833         (gst_collectpads_event), (gst_collectpads_chain):
9834         * gst/base/gstcollectpads.h: Handle EOS correctly.
9835
9836 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9837
9838         * tools/gst-launch.c: (main):
9839           more null protecting
9840
9841 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9842
9843         * gst/gst-i18n-lib.h:
9844           check for ENABLE_NLS, not GETTEXT_PACKAGE
9845         * gst/gstregistry.c: (gst_registry_add_plugin),
9846         (gst_registry_scan_path_level),
9847         (_gst_registry_remove_cache_plugins):
9848           protect possibly NULL strings
9849         * gst/parse/types.h:
9850           config.h already included before
9851         * tools/gst-inspect.c: (main):
9852           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9853           check for ENABLE_NLS, not GETTEXT_PACKAGE
9854         * tools/gst-launch.c: (main):
9855           check for ENABLE_NLS, not GETTEXT_PACKAGE
9856
9857 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * configure.ac:
9860           if we don't have glib, fail before testing 2.8
9861         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9862           fix a leak, should fix plugins-base testsuite
9863
9864 2005-10-11  Andy Wingo  <wingo@pobox.com>
9865
9866         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9867         take the mode we're going to as an arg. Go head and set the mode
9868         and flushing flags now, so that if the activate function starts a
9869         thread all the flags will be in the right state.
9870         (post_activate): Renamed also. Just handle making sure streaming
9871         finishes for the deactivation case, and setting the deactivated
9872         mode.
9873         (gst_pad_set_active): Complain loudly if deactivation fails.
9874         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9875         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9876         remove the terrible hack.
9877
9878 2005-10-11  Wim Taymans  <wim@fluendo.com>
9879
9880         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9881         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9882         (gst_bin_recalc_state), (gst_bin_change_state_func),
9883         (gst_bin_dispose), (bin_bus_handler):
9884         * gst/gstbin.h:
9885         Prepare to make current EOS message queue more generic.
9886         Fix some typos.
9887
9888         * gst/gstevent.c: (gst_event_new_newsegment),
9889         (gst_event_parse_newsegment):
9890         * gst/gstevent.h:
9891         Rename base to stream_time.
9892
9893         * gst/gstmessage.h:
9894         Fix typo in docs.
9895
9896 2005-10-11  Wim Taymans  <wim@fluendo.com>
9897
9898         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9899         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9900         (gst_bin_change_state_func), (bin_bus_handler):
9901         * gst/gstbin.h:
9902         Work on proper clock selection.
9903
9904 2005-10-11  Edward Hervey  <edward@fluendo.com>
9905
9906         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9907         * libs/gst/controller/gstcontroller.h:
9908         Added GList* version of _remove_properties() in order to be able to wrap
9909         it in bindings.
9910
9911 2005-10-11  Wim Taymans  <wim@fluendo.com>
9912
9913         * docs/design/part-states.txt:
9914         Some more docs.
9915
9916         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9917         (gst_bin_change_state_func), (bin_bus_handler):
9918         Doc updates. Don't distribute the same clock over and over again.
9919
9920         * gst/gstclock.c:
9921         * gst/gstclock.h:
9922         Doc updates.
9923
9924         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9925         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9926         (gst_pad_send_event):
9927         * gst/gstpad.h:
9928         Make probe emission threadsafe again.
9929         Register quarks and move _get_name() from utils.
9930         Doc updates.
9931
9932         * gst/gstpipeline.c: (gst_pipeline_class_init),
9933         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9934         Only redistribute the clock of it changed.
9935
9936         * gst/gstsystemclock.h:
9937         Doc updates. 
9938
9939         * gst/gstutils.c:
9940         * gst/gstutils.h:
9941         Moved the _flow_get_name() to GstPad.
9942
9943 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9944
9945         * check/gst-libs/gdp.c: (GST_START_TEST):
9946         * check/gst/gstcaps.c: (GST_START_TEST):
9947         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9948         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9949         (gst_dp_packet_from_caps):
9950           fix more valgrind warnings before turning up the heat
9951
9952 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * gst/parse/grammar.y:
9955           some cleanup before the hacking
9956
9957 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * gst/base/gstbasesrc.c: (gst_base_src_query):
9960           use conversions
9961         * gst/gstutils.c: (gst_guint64_to_gdouble),
9962         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9963         * gst/gstutils.h:
9964           externalize, basesrc uses it
9965           obviously the implementation needs testing
9966
9967 2005-10-10  Wim Taymans  <wim@fluendo.com>
9968
9969         * tests/sched/Makefile.am:
9970         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9971         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9972
9973 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9974
9975         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9976           apparently converting from guint64 to double is not implemented
9977           on MSVC
9978
9979 2005-10-10  Wim Taymans  <wim@fluendo.com>
9980
9981         * check/Makefile.am:
9982         * check/generic/states.c: (GST_START_TEST):
9983         * check/gst/gstbin.c: (GST_START_TEST):
9984         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9985         * check/states/sinks.c: (GST_START_TEST):
9986         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9987         (main):
9988         Check fixes, use API as stated in design docs, remove hacks.
9989
9990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9991         (gst_base_sink_change_state):
9992         Catch stopping our task while we're shutting down.
9993
9994         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9995         (gst_bin_remove_func), (gst_bin_get_state_func),
9996         (gst_bin_recalc_state), (gst_bin_change_state_func),
9997         (bin_bus_handler):
9998         * gst/gstbin.h:
9999         * gst/gstelement.c: (gst_element_init),
10000         (gst_element_get_state_func), (gst_element_abort_state),
10001         (gst_element_commit_state), (gst_element_lost_state),
10002         (gst_element_set_state), (gst_element_change_state),
10003         (gst_element_change_state_func):
10004         * gst/gstelement.h:
10005         New state change algorithm (see #318116)
10006
10007         * gst/gstpipeline.c: (gst_pipeline_class_init),
10008         (gst_pipeline_init), (gst_pipeline_set_property),
10009         (gst_pipeline_get_property), (do_pipeline_seek),
10010         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10011         * gst/gstpipeline.h:
10012         Remove crude state change hacks.
10013
10014         * gst/gstutils.h:
10015         Remove crude hacks.
10016
10017         * tools/gst-launch.c: (main):
10018         Fixes for state change. Needs some more work to fully use the
10019         new stuff.
10020
10021 2005-10-10  Andy Wingo  <wingo@pobox.com>
10022
10023         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10024
10025         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10026         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10027         issue.
10028
10029 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10030
10031         * gst/gstiterator.c: (gst_iterator_new):
10032           Fix my previous commit: GTypes passed to gst_iterator_new()
10033           can be fundamental types.
10034
10035 2005-10-10  Wim Taymans  <wim@fluendo.com>
10036
10037         * gst/gstelement.c: (gst_element_iterate_pad_list),
10038         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10039         (gst_element_iterate_sink_pads):
10040         Use src/sink pads lists for the respective iterators instead
10041         of filtering.
10042
10043 2005-10-10  Andy Wingo  <wingo@pobox.com>
10044
10045         Merged in popt removal + GOption addition patch from Ronald, bug
10046         #169772.
10047
10048         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10049         GstElement macros around, remove popt-related symbols, add goption
10050         stuff.
10051
10052         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10053         
10054         * docs/gst/Makefile.am:
10055         * docs/libs/Makefile.am: No POPT_CFLAGS.
10056         
10057         * examples/manual/Makefile.am:
10058         * docs/manual/basics-init.xml: Doc updates with an example.
10059         
10060         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10061         (gst_init), (parse_one_option), (parse_goption_arg):
10062         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10063         bit of hand merging and debugging to get the GOption stuff working
10064         tho.
10065         
10066         * tests/Makefile.am:
10067         * tools/Makefile.am:
10068         * tools/gst-inspect.c: (main):
10069         * tools/gst-launch.c: (main):
10070         * tools/gst-run.c: (main):
10071         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10072
10073 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10074
10075         * gst/gstiterator.c: (gst_iterator_new):
10076           Add assertions to make sure passed GType is likely to really
10077           be a GType (as the compiler won't catch it if the size and
10078           GType arguments get mixed up, see #318447).
10079
10080 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10081
10082         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10083
10084         * gst/gstbin.c: (gst_bin_iterate_sorted):
10085           Pass GType and size arguments to gst_iterator_new() in the right
10086           order (maybe we should make _new() take the GType as first argument
10087           just like _new_list()?) (#318447).
10088           
10089
10090 2005-10-10  Wim Taymans  <wim@fluendo.com>
10091
10092         * gst/gstelement.c: (gst_element_finalize):
10093         And free the GStaticRecMutex too
10094
10095 2005-10-10  Andy Wingo  <wingo@pobox.com>
10096
10097         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10098         Allocate and free the mutex properly.
10099
10100         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10101         New macros.
10102         (GstElement): The state_lock is now recursive. Rebuild your
10103         plugins, suckers. Old macros adapted.
10104
10105         * docs/gst/gstreamer-sections.txt: Doc updates.
10106
10107         * gst/gstutils.h:
10108         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10109         (g_static_rec_cond_wait): Ported from state changes patch, while
10110         we wait on bug #317802 to be solved in a well-distributed GLib.
10111
10112         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10113         gst_element_change_state, variable name changes.
10114         (gst_element_change_state): Split out of gst_element_set_state in
10115         preparation for the state change merge. Doesn't pay attention to
10116         the 'transition' argument.
10117         (gst_element_set_state): Updates, hopefully purely cosmetic.
10118         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10119         state change patch.
10120         (gst_element_get_state_func): Renamed from get_state, cosmetic
10121         changes.
10122
10123 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * gst/elements/gstelements.c:
10126         * win32/GStreamer.vcproj:
10127         * win32/config.h:
10128         * win32/dirent.c: (_tseekdir):
10129         * win32/gst-inspect.vcproj:
10130         * win32/gst-launch.vcproj:
10131         * win32/gstconfig.h:
10132         * win32/gstelements.vcproj:
10133         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10134         * win32/gstreamer.def:
10135         * win32/msvc71.sln:
10136           updates for the win32 build (patch from Sebastien Moutte)
10137
10138 2005-10-10  Andy Wingo  <wingo@pobox.com>
10139
10140         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10141         gst_bin_get_state, cleaned up (but no logic changes).
10142         (bin_element_is_sink): Comment updates.
10143         (sink_iterator_filter): Remove needless cast.
10144         (gst_bin_iterate_sinks): Doc update.
10145         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10146         cleaned up (but no logic changes).
10147
10148         * check/states/sinks.c (test_src_sink): Cleanups from the state
10149         change patch.
10150         (test_livesrc_sink): Sync on the state.
10151
10152         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10153         the state change patch.
10154
10155         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10156         change patch.
10157
10158         * check/gst/gstbin.c: Merge in some style fixes and additional
10159         checks from Wim's state change patch.
10160
10161 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10162
10163         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10164         (gst_type_find_helper):
10165           Check whether we have the requested data already in our list of
10166           cached buffers before pulling a new buffer; also make the buffer
10167           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10168
10169 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10170
10171         * gst/gstcaps.c:
10172         * gst/gstevent.c:
10173           doc updates
10174         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10175           don't use long long, it's not portable.  Replacing with
10176           gint64 seems to work; let's hope no skeletons fall out of the closet.
10177
10178 2005-10-10  Andy Wingo  <wingo@pobox.com>
10179
10180         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10181
10182 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10183
10184         * docs/gst/gstreamer-sections.txt:
10185         * gst/gstevent.c:
10186         * gst/gstevent.h:
10187         * gst/gstinfo.c:
10188         * gst/gstinfo.h:
10189         * gst/gstmessage.c: (gst_message_parse_state_changed):
10190         * gst/gstpad.c:
10191         * gst/gstpad.h:
10192           more docs, fix compilation
10193
10194 2005-10-09  Philippe Khalaf <burger@speedy.org>
10195         * gst/gstmessage.c:
10196           Fixed a few forgotten variables on previous commit
10197
10198 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10199
10200         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10201           Fix evil typefind crasher: getrange() might return a short
10202           buffer at the end of a file, but gst_type_find_peek() must
10203           either return the full data as requested or NULL, but
10204           never a short buffer.
10205
10206 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10207
10208         * gst/gstmessage.c: (gst_message_new_state_changed),
10209         (gst_message_parse_state_changed):
10210         * gst/gstmessage.h:
10211           don't use "new", it's a C++ keyword
10212
10213 2005-10-08  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10216         * gst/gstelement.c: (gst_element_post_message):
10217         * gst/gstpipeline.c: (gst_pipeline_change_state):
10218         Small docs and debug updates.
10219
10220 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10221
10222         * docs/gst/gstreamer-sections.txt:
10223         * gst/gstelementfactory.c:
10224         * gst/gstevent.c:
10225         * gst/gsttaglist.c:
10226           more docs
10227
10228 2005-10-08  Wim Taymans  <wim@fluendo.com>
10229
10230         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10231         (gst_bin_dispose), (bin_bus_handler):
10232         Fix typos, add comments.
10233         Clear EOS list when going to PAUSED from any direction and do it
10234         in a threadsafe way.
10235         Get base time in a threadsafe way too.
10236         Fix confusing debug in the change_state function.
10237         Various other small cleanups.
10238         
10239         * gst/gstelement.c: (gst_element_post_message):
10240         Fix very verbose bus posting code.
10241
10242         * gst/gstpipeline.c: (gst_pipeline_class_init),
10243         (gst_pipeline_set_property), (gst_pipeline_get_property),
10244         (gst_pipeline_change_state):
10245         Small ARG_ -> PROP_ cleanup
10246
10247 2005-10-08  Wim Taymans  <wim@fluendo.com>
10248
10249         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10250         Do a less CPU demanding EOS check because we can.
10251
10252 2005-10-08  Wim Taymans  <wim@fluendo.com>
10253
10254         * libs/gst/dataprotocol/dataprotocol.c:
10255         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10256         (gst_dp_packet_from_event):
10257         * libs/gst/dataprotocol/dataprotocol.h:
10258         * libs/gst/dataprotocol/dp-private.h:
10259         It's about time we bump the version number.
10260         Since event types don't fit in the guint8 anymore describing
10261         the payload type, make payload type 16 bits wide.
10262
10263 2005-10-08  Wim Taymans  <wim@fluendo.com>
10264
10265         * docs/design/part-TODO.txt:
10266         * docs/design/part-clocks.txt:
10267         * docs/design/part-events.txt:
10268         * docs/design/part-gstbin.txt:
10269         * docs/design/part-gstelement.txt:
10270         * docs/design/part-gstpipeline.txt:
10271         * docs/design/part-live-source.txt:
10272         * docs/design/part-messages.txt:
10273         * docs/design/part-overview.txt:
10274         * docs/design/part-states.txt:
10275         Many doc updates.
10276
10277 2005-10-08  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstevent.c:
10280         * gst/gstevent.h:
10281         Fix event quark registration.
10282         Add some space between events so we can insert them in the
10283         right groups.
10284
10285 2005-10-08  Wim Taymans  <wim@fluendo.com>
10286
10287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10288         (gst_base_sink_handle_buffer):
10289         Better log message.
10290
10291         * gst/gstbus.h:
10292         * gst/gstelement.h:
10293         More docs.
10294
10295         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10296         (gst_queue_set_property), (gst_queue_get_property):
10297         * gst/gstqueue.h:
10298         Remove old unused properties.
10299
10300 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10301         * docs/gst/gstreamer-sections.txt:
10302         * gst/gstmessage.c:
10303         * gst/gstmessage.h:
10304         * gst/gstminiobject.c:
10305         * gst/gstminiobject.h:
10306         * gst/gstobject.h:
10307         * gst/gstpad.h:
10308         * gst/gstutils.h:
10309           lots of new docs and doc fixes
10310
10311 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10314         * gst/gstplugin.h:
10315         * gst/gstregistry.c: (gst_registry_lookup_locked),
10316         (gst_registry_scan_path_level):
10317         * gst/gstregistryxml.c: (load_plugin):
10318           Only ever load one plugin for a given plugin basename.
10319           This ensures correct overriding of GST_PLUGIN_PATH over
10320           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10321           system installed plugins.
10322
10323 2005-10-08  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10326         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10327         Prepare for doing QOS.
10328
10329 2005-10-08  Wim Taymans  <wim@fluendo.com>
10330
10331         * check/gst/gstbin.c: (GST_START_TEST):
10332         * check/pipelines/cleanup.c: (GST_START_TEST):
10333         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10334         Allow new clock message too.
10335
10336 2005-10-08  Wim Taymans  <wim@fluendo.com>
10337
10338         * gst/gstmessage.c: (gst_message_new_error),
10339         (gst_message_new_warning), (gst_message_new_tag),
10340         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10341         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10342         (gst_message_new_segment_start), (gst_message_new_segment_done),
10343         (gst_message_parse_state_changed),
10344         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10345         (gst_message_parse_new_clock):
10346         * gst/gstmessage.h:
10347         Also carry the clock in question.
10348
10349 2005-10-08  Wim Taymans  <wim@fluendo.com>
10350
10351         * gst/gstmessage.c: (gst_message_new_custom),
10352         (gst_message_new_eos), (gst_message_new_error),
10353         (gst_message_new_warning), (gst_message_new_tag),
10354         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10355         (gst_message_new_new_clock), (gst_message_new_segment_start),
10356         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10357         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10358         * gst/gstmessage.h:
10359         Clean up.
10360         Added clock related messages.
10361
10362         * gst/gstpipeline.c: (gst_pipeline_change_state):
10363         Post message when the clock changed.
10364
10365         * tools/gst-launch.c: (event_loop):
10366         Print new clock.
10367
10368 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10369
10370         * tools/gst-inspect.c: (print_element_properties_info):
10371           Can't pass NULL strings to g_print() on windows.
10372
10373 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * docs/Makefile.am:
10376         * docs/gst/Makefile.am:
10377         * docs/gst/gstreamer-docs.sgml:
10378         * docs/gst/running.xml:
10379         * docs/version.entities.in:
10380           add a chapter on running GStreamer.
10381           document GST_DEBUG and GST_PLUGIN* env vars
10382
10383 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * Makefile.am:
10386           remove include dir
10387         * configure.ac:
10388           remove PLUGINS_BUILDDIR stuff
10389         * gst/gst.c: (init_post):
10390           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10391         * idiottest.mak:
10392           remove, it was condescending and not needed
10393
10394 2005-10-08  Wim Taymans  <wim@fluendo.com>
10395
10396         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10397         (gst_base_sink_handle_object), (gst_base_sink_event),
10398         (gst_base_sink_wait), (gst_base_sink_handle_event),
10399         (gst_base_sink_change_state):
10400         * gst/base/gstbasesink.h:
10401         Repost EOS message while going to PLAYING if still EOS.
10402         Make sure that when receiving a FLUSH_START we don't attempt
10403         to sync on the clock anymore.
10404
10405 2005-10-08  Wim Taymans  <wim@fluendo.com>
10406
10407         * tools/gst-launch.c: (event_loop):
10408         Better message printout.
10409
10410 2005-10-08  Wim Taymans  <wim@fluendo.com>
10411
10412         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10413         (gst_bin_child_proxy_get_children_count):
10414         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10415         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10416         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10417         (gst_child_proxy_set_valist):
10418         * gst/parse/grammar.y:
10419         Make ChildProxy threadsafe and fix mem leaks.
10420
10421 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10422
10423         * gst/gst.c: (init_post):
10424           debug the GST_PLUGIN_ env vars
10425
10426 2005-10-08  Wim Taymans  <wim@fluendo.com>
10427
10428         * check/gst/gstbin.c: (GST_START_TEST):
10429         * check/gst/gstmessage.c: (GST_START_TEST):
10430         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10431         * gst/gstelement.c: (gst_element_commit_state),
10432         (gst_element_lost_state):
10433         * gst/gstmessage.c: (gst_message_new_state_changed),
10434         (gst_message_parse_state_changed):
10435         * gst/gstmessage.h:
10436         * tools/gst-launch.c: (event_loop):
10437         Added extra field to STATE_CHANGE message with the pending
10438         state, which will be different from the new state soon.
10439
10440 2005-10-08  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/gstbus.c: (gst_bus_pop):
10443         * gst/gstclock.c:
10444         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10445         Small cleanups and doc updates.
10446
10447 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * gst/gst.c: (init_pre):
10450         * gst/gstbin.c: (gst_bin_add_func):
10451           log distributing clocks and base time
10452         * gst/gstregistry.c: (gst_registry_add_plugin),
10453         (gst_registry_scan_path_level), (gst_registry_scan_path):
10454           clean up the debugging output a little
10455         * gst/gstutils.c: (gst_element_state_get_name):
10456           warn about a memleak (I've actually seen this be used, though
10457           it was probably a bug)
10458
10459 2005-10-07  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10462         (gst_base_src_init), (gst_base_src_default_newsegment),
10463         (gst_base_src_newsegment), (gst_base_src_do_seek),
10464         (gst_base_src_loop), (gst_base_src_start):
10465         * gst/base/gstbasesrc.h:
10466         Make the newsegment event customizable by subclasses.
10467
10468 2005-10-07  Wim Taymans  <wim@fluendo.com>
10469
10470         * gst/gstevent.c: (gst_event_new_buffersize),
10471         (gst_event_parse_buffersize):
10472         * gst/gstevent.h:
10473         New event for future idea.
10474
10475 2005-10-07  Andy Wingo  <wingo@pobox.com>
10476
10477         * gst/gstelement.c (gst_element_post_message): Doc update.
10478
10479         * docs/gst/gstreamer-sections.txt: Update.
10480
10481         * gst/gstmessage.c (gst_message_new_application): Made into a
10482         function like honest API calls.
10483         (gst_message_new_element): New message type.
10484
10485         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10486
10487         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10488         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10489         times.
10490
10491         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10492         NO_PREROLL from gst_element_change_state to fall through.
10493
10494 2005-10-07  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10497         (gst_ghost_pad_do_activate_push):
10498         Activating a ghostpad with no internal pad in push mode
10499         is ok.
10500
10501 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10502
10503         * gst/gstobject.h:
10504           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10505           Fixes compilation on Windows.
10506
10507 2005-10-07  Michael Smith <msmith@fluendo.com>
10508
10509         * tools/gst-inspect.c:
10510           Print out feature and plugin count at the end when printing out
10511           all features.
10512
10513 2005-10-04  Michael Smith <msmith@fluendo.com>
10514
10515         * gst/gsterror.c: (_gst_stream_errors_init):
10516           Add another error string used in a few existing plugins.
10517
10518         * gst/gstplugin.c:
10519         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10520         * tools/gst-inspect.c: (print_element_info):
10521           When a feature disappears from a plugin (and the feature exists in
10522           the cached registry file), things went horribly wrong. This isn't a
10523           complete fix, we should actually be removing the 'missing' features
10524           from the features list when we load the actual plugin. That's not
10525           yet implemented. 
10526
10527 2005-10-04  Johan Dahlin  <johan@gnome.org>
10528
10529         * check/gst/gstiterator.c: (GST_START_TEST):
10530         * gst/gstbin.c: (gst_bin_iterate_elements),
10531         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10532         * gst/gstelement.c: (gst_element_iterate_pads):
10533         * gst/gstformat.c: (gst_format_iterate_definitions):
10534         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10535         (gst_iterator_new_list), (gst_iterator_filter):
10536         * gst/gstiterator.h:
10537         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10538         Add a GType to GstIterator, update callsites and tests.
10539
10540 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10541
10542         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10543           give events a chance to be handled by event probes when the pad
10544           is not linked
10545
10546 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10547
10548         * gst/gstevent.c: (gst_event_type_get_name),
10549         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10550         * gst/gstevent.h:
10551           add string representations for event types
10552
10553 2005-10-06  Wim Taymans  <wim@fluendo.com>
10554
10555         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10556         Don't use NULL pointers.
10557
10558 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10559
10560         * gst/gst_private.h:
10561         * gst/gstbus.c:
10562         * gst/gstelement.c:
10563         * gst/gstinfo.c:
10564         * gst/gstpluginfeature.c:
10565           widen the debug category in output to fit the biggest one we have
10566           add a bus category and use it
10567           play with the colors
10568           fix up some categories
10569
10570 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10573           add push activation of sink ghost pads.
10574           Andye, please verify
10575
10576 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10577
10578         * gst/gstutils.c: (gst_element_link_pads):
10579           fix a bug in the case where neither element has a pad
10580         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10581           add a test for that case
10582
10583 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10584
10585         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10586           emit have-data before checking for peers.  This allows
10587           for probe handlers to connect elements.  This helps autopluggers.
10588         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10589         (gst_pad_suite):
10590           add six checks, linked/unlinked with no/true/false probe
10591
10592 2005-10-04  Wim Taymans  <wim@fluendo.com>
10593
10594         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10595         (gst_fake_sink_event), (gst_fake_sink_preroll),
10596         (gst_fake_sink_render), (gst_fake_sink_change_state):
10597         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10598         (gst_fake_src_get_property), (gst_fake_src_create),
10599         (gst_fake_src_stop):
10600         * gst/elements/gstidentity.c: (gst_identity_stop):
10601         Protect last_message with lock.
10602
10603 2005-10-04  Edward Hervey  <edward@fluendo.com>
10604
10605         * gst/gstformat.h: 
10606         Added precision in the comments for GST_FORMAT_DEFAULT
10607
10608 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10609
10610         * tools/gst-launch.c: (main):
10611           Don't try to run erroneous pipelines.
10612
10613 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10614
10615         * gst/gstbus.c: We don't need this header.
10616
10617 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * configure.ac:
10620           back to development
10621
10622 === release 0.9.3 ===
10623
10624 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * README:
10627         * configure.ac:
10628           Releasing 0.9.3, "Unregistered"
10629
10630 2005-10-03  Andy Wingo  <wingo@pobox.com>
10631
10632         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10633         whereby calling a pad's activatepush() function can start a thread
10634         that starts to push or pull before the pad gets the FLUSHING flag
10635         unset. Hack around it by holding the stream lock until the flag is
10636         set. Need to replace this with a proper solution. Together with
10637         the ghost pad fixes, this fixes mp3 playing/tagreading.
10638
10639         * docs/design/part-gstghostpad.txt: Add a note about activation of
10640         proxy pads outside of ghost pads.
10641
10642         * gst/gstghostpad.c: Implement the ghost pad activation design.
10643
10644 2005-10-02  Andy Wingo  <wingo@pobox.com>
10645
10646         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10647         It is volatile, after all.
10648
10649         * docs/design/part-gstghostpad.txt: Flesh out activation with
10650         ghost pads.
10651
10652         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10653         GST_DEBUG_FUNCPTR.
10654
10655 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10656
10657         * configure.ac:
10658           Fix (unused) AM_CONDITIONAL tests.
10659
10660 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10661
10662         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10663
10664         * gst/gstutils.c: (gst_pad_query_convert):
10665           Add assertion that makes sure src_val is >=0, just like
10666           gst_query_new_convert() has. (#315895)
10667
10668 2005-09-30  Edward Hervey  <edward@fluendo.com>
10669
10670         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10671         Let's not iterate pads we're not interested in, it avoids getting 
10672         sky-high refcounts on sinkpad.
10673
10674 2005-09-30  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/gstelement.c: (gst_element_set_state),
10677         (gst_element_change_state):
10678         Small tweak, element in ASYNC remains ASYNC.
10679
10680 2005-09-30  Wim Taymans  <wim@fluendo.com>
10681
10682         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10683         Only error is an error.
10684
10685         * gst/gstbin.c: (gst_bin_change_state):
10686         Better debugging.
10687
10688         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10689         Also call pad_block in pad alloc.
10690
10691         * gst/gstutils.c: (gst_flow_get_name):
10692         Better debugging.
10693
10694 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10697         (gst_base_src_get_range):
10698           Fix documentation typos. Add some more debug info.
10699
10700 2005-09-29  David Schleef  <ds@schleef.org>
10701
10702         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10703           more end-user friendly.
10704         * tools/gst-inspect.c: (main): Check if command-line argument is
10705           a file and attempt to load that file as a plugin.
10706
10707 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10708
10709         * check/gst/gstbin.c:
10710         * check/states/sinks.c:
10711           fix tests for the new warning
10712         * check/gst/gstpipeline.c:
10713           add a test for pipeline and bus interaction
10714         * gst/gstelement.c:
10715           elements should be NULL if they get disposed; add a warning if not
10716
10717 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         * gst/gstobject.c:
10720           for 2.6 refcounting, make debug log more correct by printing
10721           the actual refcounts at the time of swap (Wim)
10722
10723 2005-09-29  Andy Wingo  <wingo@pobox.com>
10724
10725         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10726         removes signal watches previously added via
10727         gst_bus_add_signal_watch.
10728         (gst_bus_add_signal_watch): Don't return the source id, just store
10729         it on the bus if there wasn't an id already.
10730
10731         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10732         add_signal_watch and remove_signal_watch.
10733
10734 2005-09-29  Edward Hervey  <edward@fluendo.com>
10735
10736         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10737         Better if we actually iterate the list :)
10738
10739 2005-09-29  Wim Taymans  <wim@fluendo.com>
10740
10741         * check/gst/gstbin.c: (GST_START_TEST):
10742         Change for new bus API.
10743
10744         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10745         (send_messages), (GST_START_TEST), (gstbus_suite):
10746         Change for new bus signal API.
10747
10748         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10749         (gst_bus_source_prepare), (gst_bus_source_check),
10750         (gst_bus_create_watch), (gst_bus_add_watch_full),
10751         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10752         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10753         * gst/gstbus.h:
10754         Remove support for multiple GSources operating on different
10755         message types as it is too complex and unneeded when using
10756         signals.
10757         Added support for receiving signals from the bus.
10758
10759 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10760
10761         * docs/libs/tmpl/gstdataprotocol.sgml:
10762         * docs/manual/advanced-dataaccess.xml:
10763         * gst/elements/gstcapsfilter.c:
10764         * gst/gstutils.c:
10765           rename filter-caps to caps property
10766
10767 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10768
10769         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10770           More robust fraction string parsing.
10771
10772         * docs/pwg/appendix-porting.xml:
10773           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10774
10775 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10776
10777         * gst/gstcaps.c: (gst_caps_do_simplify):
10778           Thou shalt not free a structure and then continue using it
10779           in the next loop iteration.
10780
10781         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10782         (gst_caps_suite):
10783           Add test case for caps simplification.
10784
10785 2005-09-29  Wim Taymans  <wim@fluendo.com>
10786
10787         * check/gst/gstbin.c: (GST_START_TEST):
10788         Oops.
10789
10790 2005-09-29  Wim Taymans  <wim@fluendo.com>
10791
10792         * check/gst/gstbin.c: (GST_START_TEST):
10793         Add bus to bin.
10794
10795         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10796         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10797         (find_element), (gst_bin_sort_iterator_next),
10798         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10799         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10800         (gst_bin_change_state), (gst_bin_dispose):
10801         A bin does not have a bus, it gets the bus from the parent.
10802
10803         * gst/gstelement.c: (gst_element_requires_clock),
10804         (gst_element_provides_clock), (gst_element_is_indexable),
10805         (gst_element_is_locked_state), (gst_element_change_state),
10806         (gst_element_set_bus_func):
10807         Small cleanups.
10808
10809         * gst/gstpipeline.c: (gst_pipeline_class_init),
10810         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10811         The pipeline provides a bus.
10812
10813 2005-09-28  Johan Dahlin  <johan@gnome.org>
10814
10815         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10816         gst_structure_get_enum instead of gst_structure_get_int
10817
10818         * gst/gststructure.c (gst_structure_get_enum): Impl.
10819
10820         * gst/gststructure.h (gst_structure_get_enum): Add
10821
10822         * docs/gst/gstreamer-sections.txt: Ditto
10823
10824         * gst/gstmessage.c (gst_message_new_state_changed): Use
10825         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10826         which does introspection.
10827         Reviewed by Christian Schaller
10828
10829 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10830
10831         * gst/gstinfo.c: (gst_debug_log_default):
10832           don't do dummy g_strdup()s
10833         * libs/gst/controller/gstcontroller.c:
10834         (on_object_controlled_property_changed),
10835         (gst_controlled_property_new), (gst_controller_new_valist),
10836         (gst_controller_new_list),
10837         (gst_controller_remove_properties_valist), (gst_controller_set),
10838         (gst_controller_get), (gst_controller_sync_values),
10839         (gst_controller_get_value_array), (_gst_controller_class_init),
10840         (gst_controller_get_type):
10841         * libs/gst/controller/gstcontroller.h:
10842         * libs/gst/controller/gstinterpolation.c:
10843         (gst_controlled_property_find_timed_value_node):
10844           convert // to /**/ comments
10845
10846 2005-09-28  Wim Taymans  <wim@fluendo.com>
10847
10848         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10849         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10850         (gst_bus_sync_signal_handler):
10851         * gst/gstbus.h:
10852         Added async-message and sync-message signals to the bus.
10853         Added helper BusFunc to emit signals for all posted messages.
10854
10855         * gst/gstmessage.c: (gst_message_type_get_name),
10856         (gst_message_type_to_quark), (gst_message_get_type):
10857         * gst/gstmessage.h:
10858         Register quarks for message names.
10859
10860 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10861
10862         * docs/libs/gstreamer-libs-sections.txt:
10863         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10864         (gst_controller_new_list):
10865         * libs/gst/controller/gstcontroller.h:
10866           added another constructor for language bindings
10867
10868 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10869
10870         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10871           add another check
10872         * gst/gstbus.c:
10873           add some doc
10874         * gst/gstinfo.c: (_gst_debug_init):
10875           slightly more readable color for refcount debugging
10876
10877 2005-09-28  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10880         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10881         (find_element), (gst_bin_sort_iterator_next),
10882         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10883         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10884         (gst_bin_change_state), (gst_bin_dispose):
10885         Small doc fixes. get_clock -> provide_clock.
10886
10887         * gst/gstelement.c: (gst_element_class_init),
10888         (gst_element_provides_clock), (gst_element_provide_clock),
10889         (gst_element_get_clock), (gst_element_commit_state),
10890         (gst_element_lost_state):
10891         * gst/gstelement.h:
10892         Make get/set_clock() symetric. Add provide_clock vmethod since
10893         that is actually what this function does.
10894
10895         * gst/gstpipeline.c: (gst_pipeline_class_init),
10896         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10897         (gst_pipeline_get_clock):
10898         get_clock -> provide_clock.
10899
10900 2005-09-28  Andy Wingo  <wingo@pobox.com>
10901
10902         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10903         lieu of real docs...
10904
10905         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10906
10907 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * gst/elements/gstcapsfilter.c:
10910         * gst/elements/gstfakesink.c:
10911         * gst/elements/gstfakesrc.c:
10912         * gst/elements/gstfdsink.c:
10913         * gst/elements/gstfdsrc.c:
10914         * gst/elements/gstfilesink.c:
10915         * gst/elements/gstfilesrc.c:
10916         * gst/elements/gstidentity.c:
10917         * gst/elements/gsttee.c:
10918         * gst/elements/gsttypefindelement.c:
10919           Make element details static.
10920
10921 2005-09-28  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10924         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10925         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10926         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10927         (gst_bin_change_state), (gst_bin_dispose):
10928         Some documentation updates.
10929         Clean up dispose handlers.
10930
10931         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10932         * gst/gstpad.c: (gst_pad_dispose):
10933         Clean up dispose handler.
10934
10935         * gst/gstpipeline.c: (gst_pipeline_change_state):
10936         Removed spurious UNLOCK.
10937
10938 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10939
10940         * docs/gst/gstreamer-sections.txt:
10941         * gst/base/gstbasesrc.h:
10942         * gst/gstelement.h:
10943         * gst/gstevent.h:
10944         * gst/gstobject.h:
10945         * gst/gstpad.h:
10946         * gst/gstpipeline.c:
10947         * gst/gstpipeline.h:
10948         * gst/gstutils.h:
10949         * gst/gstxml.h:
10950           added two new functions to the docs
10951                 documents all undocumented GstXXXFlags
10952                 completed some incomplete docs 
10953
10954 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10955
10956         * gst/gstbin.c: (gst_bin_dispose):
10957         * gst/gstelement.c: (gst_element_dispose):
10958           remove now useless and leaky resurrection code in dispose
10959         * gst/base/gstbasesrc.c: (gst_base_src_init):
10960         * gst/gstelementfactory.c: (gst_element_factory_create):
10961         * gst/gstobject.c: (gst_object_set_parent):
10962           add some debugging
10963
10964 2005-09-27  Wim Taymans  <wim@fluendo.com>
10965
10966         * docs/design/part-TODO.txt:
10967         Update TODO.
10968
10969         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10970         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10971         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10972         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10973         (gst_bin_change_state):
10974         * gst/gstelement.h:
10975         Remove element variable, we keep element info in the iterator now.
10976
10977 2005-09-27  Andy Wingo  <wingo@pobox.com>
10978
10979         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10980         values.
10981
10982 2005-09-27  Wim Taymans  <wim@fluendo.com>
10983
10984         * check/gst/gstbin.c: (GST_START_TEST):
10985         Enable check that works now.
10986
10987         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10988         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10989         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10990         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10991         (gst_bin_change_state):
10992         * gst/gstbin.h:
10993         Redid the state change algorithm using a topological sort algo.
10994         Handles all cases correctly.
10995         Exposed iterator for state change order.
10996
10997         * gst/gstelement.h:
10998         Temp storage for state changes. Need to get rid of this soon.
10999
11000 2005-09-27  Wim Taymans  <wim@fluendo.com>
11001
11002         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11003         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11004         (link_fold_func), (gst_pad_proxy_setcaps):
11005         Leak fixes, the fold functions need to unref the passed object and
11006         _get_parent_*() returns ref to parent.
11007
11008 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * check/gst/gstbuffer.c: (test_make_writable):
11011           Plug leak in test case and fix 'make check-valgrind'
11012
11013 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11014
11015         * gst/gstbuffer.c: (gst_subbuffer_init):
11016           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11017           works correctly in all circumstances (we could have just copied
11018           the parent buffer's readonly flag, but conceptually it seems
11019           cleaner to mark all subbuffers as read-only). (based on patch
11020           by Alessandro Decina, #314710).
11021         
11022         * check/gst/gstbuffer.c: (create_read_only_buffer),
11023         (test_make_writable), (test_subbuffer_make_writable),
11024         (gst_test_suite):
11025           Add some tests for gst_buffer_make_writable().
11026
11027 2005-09-27  Wim Taymans  <wim@fluendo.com>
11028
11029         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11030         use gst_object_has_ancestor().
11031
11032         * gst/gstobject.c: (gst_object_has_ancestor):
11033         * gst/gstobject.h:
11034         gst_object_has_ancestor() copied from gstbin.c as it is a
11035         usefull function.
11036
11037         * tests/instantiate/create.c: (create_all_elements):
11038         * tests/lat.c: (handoff_src), (handoff_sink):
11039         * tests/sched/runxml.c: (main):
11040         * tests/seeking/seeking1.c: (main):
11041         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11042         (main):
11043         Fix compilation of some tests.
11044
11045 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11046
11047         * gst/gsterror.h:
11048           Remove comment. GST_TYPE_G_ERROR is here to stay,
11049           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11050           (#316961, #300610).
11051
11052 2005-09-26  Wim Taymans  <wim@fluendo.com>
11053
11054         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11055         Added check that shows error in state change order.
11056
11057 2005-09-26  Wim Taymans  <wim@fluendo.com>
11058
11059         * gst/gstbin.c: (gst_bin_change_state):
11060         Make state change function use 3 queues again, we were
11061         adding elements in the wrong order.
11062
11063         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11064         Some debug info,
11065
11066         * gst/gstpad.c: (gst_pad_dispose):
11067         Added some debug info first.
11068
11069 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11070
11071         * docs/design/draft-push-pull.txt:
11072         * docs/design/part-events.txt:
11073         * docs/design/part-overview.txt:
11074         * docs/design/part-scheduling.txt:
11075           Replace all _pull_region() with _pull_range()
11076           
11077 2005-09-26  Andy Wingo  <wingo@pobox.com>
11078
11079         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11080
11081         * check/gst-libs/controller.c: Update for controller api change.
11082
11083         * configure.ac: 
11084         * tests/Makefile.am:
11085         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11086         over by GLib bug 118439.
11087         
11088         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11089         routines to a function.
11090
11091         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11092
11093         * libs/gst/controller/gsthelper.c:
11094         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11095         (gst_object_sync_values): Renamed from sink_values. Ugh.
11096
11097         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11098
11099         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11100         Renamed from controller_key, as it is exported.
11101
11102         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11103
11104 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11105
11106         * gst/Makefile.am:
11107         * gst/gst.h:
11108         * gst/gstpad.h:
11109         * gst/gstpadtemplate.h:
11110         * gst/gstquery.c:
11111         * gst/gstquery.h:
11112         * gst/gstqueryutils.c:
11113         * gst/gstqueryutils.h:
11114           remove queryutils headers after moving the two used functions
11115           to gstquery.  also fixes build problem for gstsiddec
11116
11117 2005-09-26  Michael Smith <msmith@fluendo.com>
11118
11119         * tools/gst-launch.1.in:
11120         Correct documentation in manpage of debug syntax
11121
11122 2005-09-26  Wim Taymans  <wim@fluendo.com>
11123
11124         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11125         (gst_base_src_is_seekable), (gst_base_src_change_state):
11126         Some more debugging info.
11127
11128 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11129
11130         * docs/gst/gstreamer-sections.txt:
11131         * gst/base/gstbasetransform.h:
11132         * gst/gstindex.h:
11133           added more docs
11134
11135 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11136
11137         * docs/gst/.cvsignore:
11138         * docs/gst/tmpl/.cvsignore:
11139         * docs/gst/tmpl/gstpipeline.sgml:
11140         * docs/gst/tmpl/gstplugin.sgml:
11141         * gst/gstpipeline.c:
11142         * gst/gstplugin.c:
11143         * gst/gstplugin.h:
11144           inlined the last two docs files
11145           removed the tmpl directory from cvs (no more conflicts here!)
11146
11147 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11148
11149         * docs/gst/gstreamer-sections.txt:
11150         * docs/gst/tmpl/.cvsignore:
11151         * docs/gst/tmpl/gstpad.sgml:
11152         * docs/gst/tmpl/gstpadtemplate.sgml:
11153         * gst/Makefile.am:
11154         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11155         (gst_pad_finalize), (gst_pad_set_pad_template):
11156         * gst/gstpad.h:
11157         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11158         (gst_pad_template_class_init), (gst_pad_template_init),
11159         (gst_pad_template_dispose), (name_is_valid),
11160         (gst_static_pad_template_get), (gst_pad_template_new),
11161         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11162         (gst_pad_template_pad_created):
11163         * gst/gstpadtemplate.h:
11164           inlined two more docs
11165           factored gstpadtemplate out of gstpad
11166
11167 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11168
11169         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11170         (test_children_state_change_order_semi_sink):
11171           Fix test case: we can't rely on a fixed state change order when
11172           going from READY => PAUSED because the sink might commit its 
11173           new state first when the first buffer created by the source 
11174           reaches the sink before the source has finished its change state.
11175           (Test case still fails at times, see #316856, comment 5 onwards)
11176
11177 2005-09-24  Wim Taymans  <wim@fluendo.com>
11178
11179         * docs/design/part-events.txt:
11180         * docs/design/part-gstbus.txt:
11181         * docs/design/part-gstpipeline.txt:
11182         * docs/design/part-messages.txt:
11183         * docs/design/part-overview.txt:
11184         * docs/design/part-segments.txt:
11185         * gst/gstbin.c:
11186         * gst/gstbuffer.c:
11187         * gst/gstclock.c:
11188         * gst/gstelement.c:
11189         * gst/gstevent.c:
11190         * gst/gstfilter.c:
11191         * gst/gstiterator.c:
11192         Various documentation updates.
11193
11194 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11195
11196         * gst/gstclock.h:
11197           Well, that's embarassing.  Luckily we weren't using
11198           GST_CLOCK_DIFF anywhere.
11199
11200 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * common/gtk-doc.mak:
11203           don't fail on building XML, FC4 slave shows a bunch of doc
11204           missing bits that I don't get
11205         * gst/gstpad.c:
11206         * gst/gstpipeline.c:
11207         * gst/gststructure.c:
11208           some doc updates
11209
11210 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11211
11212         * docs/design/part-gstbin.txt:
11213         * docs/design/part-gstbus.txt:
11214         * gst/gstbus.c:
11215           Add blurb about how the bus goes into flushing mode and
11216           drops all messages when its bin goes from READY into NULL 
11217           state.
11218
11219 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * docs/gst/gstreamer-sections.txt:
11222         * gst/gststructure.c: (gst_structure_get_clock_time):
11223         * gst/gststructure.h:
11224           add a method to get a GstClockTime out of a structure
11225
11226 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11227
11228         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11229         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11230           Added test to check state change order in bins (can still be made
11231           to fail here under heavy disk load; bails out with 'Push on pad
11232           fakesink:sink0, but it was not activated in push mode').
11233
11234         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11235           Fix state change order when there is only a semi sink (#316856)
11236
11237         * gst/gstbus.c: (gst_bus_class_init):
11238           Use _class_peek_parent(), not _class_ref(); fix docs to say
11239           'default main context' instead of 'mainloop' where that is
11240           what's meant.
11241
11242         * gst/gstelement.c: (gst_element_commit_state),
11243         (gst_element_set_state):
11244           Fix typos in debug messages
11245
11246 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11247
11248         * docs/README:
11249         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11250         * gst/gstpluginfeature.c:
11251         * gst/gstutils.c:
11252           various doc updates
11253         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11254           change an assert into an error until it gets fixed properly
11255
11256 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11257
11258         * docs/gst/gstreamer-sections.txt:
11259         * docs/gst/tmpl/.cvsignore:
11260         * docs/gst/tmpl/gstelement.sgml:
11261         * docs/gst/tmpl/gstinfo.sgml:
11262         * docs/gst/tmpl/gstobject.sgml:
11263         * gst/gstelement.c:
11264         * gst/gstelement.h:
11265         * gst/gstinfo.c:
11266         * gst/gstinfo.h:
11267         * gst/gstobject.c: (gst_object_class_init):
11268         * gst/gstobject.h:
11269           inlined 3 more biiiig doc files and added some missing docs on the fly
11270
11271 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11272
11273         * check/gst/.cvsignore:
11274         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11275         * gst/gstregistryxml.c: (load_plugin),
11276         (gst_registry_xml_save_plugin):
11277           put back source in registry.  add checks for find_plugin.
11278         * testsuite/states/bin.c: (assert_state), (empty_bin),
11279         (test_adding_one_element), (main):
11280         * testsuite/states/locked.c: (main):
11281           some compile/run fixes
11282
11283 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11284
11285         * check/gst/gstvalue.c: (GST_START_TEST):
11286           fix leaks in the test itself
11287
11288 2005-09-22  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11291         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11292         (gst_base_sink_query):
11293         Prepare for more accurate position reporting and query
11294         handling.
11295
11296         * gst/gstelement.c: (gst_element_send_event),
11297         (gst_element_set_state):
11298         Add some comment.
11299
11300 2005-09-22  Wim Taymans  <wim@fluendo.com>
11301
11302         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11303         (gst_query_parse_segment):
11304         * gst/gstquery.h:
11305         More documentation.
11306         Add segment query for future use.
11307
11308 2005-09-22  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/gstbin.c: (gst_bin_add_func):
11311         Some more debug info.
11312
11313         * gst/gstelement.c: (gst_element_send_event):
11314         Simplify send_event
11315
11316         * gst/gstelement.h:
11317         Don't know how flags got broken.
11318
11319         * gst/gstquery.h:
11320         Added new query.
11321
11322 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11323
11324         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11325           Add simplistic test suite for GST_TYPE_DATE serialisation and
11326           deserialisation.
11327
11328 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11329
11330         * docs/gst/gstreamer-sections.txt:
11331         * gst/gststructure.c: (gst_structure_set_valist),
11332         (gst_structure_get_date):
11333         * gst/gststructure.h:
11334         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11335         (gst_date_copy), (gst_value_compare_date),
11336         (gst_value_serialize_date), (gst_value_deserialize_date),
11337         (gst_value_transform_date_string),
11338         (gst_value_transform_string_date), (_gst_value_initialize):
11339         * gst/gstvalue.h:
11340           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11341           bunch of utility functions along with a hack that checks that
11342           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11343           is required. Part of the grand scheme in #170777.
11344
11345 2005-09-22  Andy Wingo  <wingo@pobox.com>
11346
11347         * gst/gstconfig.h.in: Psych out gtk-doc.
11348
11349         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11350
11351         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11352
11353         * tools/gst-inspect.c (print_element_list): Plug some
11354         inconsequential leaks.
11355
11356         * gst/gstregistry.c (gst_registry_get_default): Doc.
11357
11358         * check/gst/gstplugin.c: 
11359         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11360         * gst/gstelementfactory.c (gst_element_factory_create): 
11361         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11362         refcount changes.
11363
11364         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11365         (gst_plugin_feature_load): Doc, don't eat refs.
11366
11367         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11368         (gst_plugin_list_free): Doc.
11369         (gst_plugin_load_file): Doc updates.
11370
11371         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11372         accessors returning refcounted objects, return a ref.
11373
11374         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11375         accessor for caps. IDEMPOTENCE. Oh yes.
11376
11377 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11378
11379         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11380
11381         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11382         (_gst_debug_register_funcptr):
11383           Add mutex to serialise access to the hash table with
11384           the function pointer => function name string mapping;
11385           make that hash table static scope (#316809).
11386
11387         * gst/registries/.cvsignore:
11388           Remove left-over file.
11389
11390 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11391
11392         * docs/pwg/appendix-porting.xml:
11393           And something about newsegment events and caps-on-buffers to
11394           the porting guide (feel free to improve).
11395
11396 2005-09-21  Andy Wingo  <wingo@pobox.com>
11397
11398         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11399         data and event probes on the same pad.
11400         (test_buffer_probe_once): Test that removing probes from within
11401         the probe functions works.
11402
11403 2005-09-21  Andy Wingo  <wingo@pobox.com>
11404
11405         * check/gst/gstutils.c: New file.
11406         (test_buffer_probe_n_times): A simple buffer probe test. More to
11407         come, foolios.
11408
11409         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11410         have-data::buffer, not have-data.
11411         (gst_pad_add_event_probe): Likewise for have-data::event.
11412         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11413         peer' isn't quite right yet though.
11414         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11415         (gst_pad_remove_data_probe): Change to take the guint handler_id
11416         as their arg, not the function+data, which is more glib-like.
11417
11418         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11419         the signal emission to indicate if the data is a buffer or an
11420         event.
11421         (gst_pad_get_type): Initialize buffer and event quarks.
11422         (gst_pad_class_init): have-data is now a detailed signal, yes it
11423         is.
11424
11425 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11426
11427         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11428         * gst/gstutils.c: (gst_util_set_value_from_string),
11429         (gst_util_set_object_arg):
11430           Don't put functional code in g_return_if_fail() or
11431           g_return_val_if_fail() statements, otherwise things will 
11432           break when G_DISABLE_CHECKS is defined during compilation.
11433
11434 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11435
11436         * docs/gst/tmpl/.cvsignore:
11437         * docs/gst/tmpl/gstvalue.sgml:
11438         * gst/gstvalue.c:
11439         * gst/gstvalue.h:
11440           inlied another one and added  some obvious docs
11441
11442 2005-09-21  Wim Taymans  <wim@fluendo.com>
11443
11444         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11445         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11446         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11447         (gst_fdsrc_get_property), (gst_fdsrc_create):
11448         * gst/elements/gstfdsrc.h:
11449         Properly implement fdsrc. Removed signal and timeout,
11450         better implemented somewhere else.
11451
11452 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11453
11454         * docs/gst/tmpl/.cvsignore:
11455         * docs/gst/tmpl/gstimplementsinterface.sgml:
11456         * gst/gstinterface.c:
11457           inlined more docs
11458
11459 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11460
11461         * docs/gst/gstreamer-sections.txt:
11462         * docs/gst/tmpl/.cvsignore:
11463         * docs/gst/tmpl/gstenumtypes.sgml:
11464           remove obsolete doc file
11465
11466 2005-09-21  David Schleef  <ds@schleef.org>
11467
11468         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11469         little beer, fix a little leak.
11470
11471 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11472
11473         * docs/gst/gstreamer-docs.sgml:
11474         * docs/gst/gstreamer-sections.txt:
11475         * docs/gst/tmpl/.cvsignore:
11476         * gst/Makefile.am:
11477         * gst/gst.h:
11478         * gst/gstbin.c:
11479         * gst/gstelement.h:
11480         * gst/gstindex.c: (gst_index_class_init):
11481         * gst/gstindex.h:
11482         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11483         (gst_index_factory_class_init), (gst_index_factory_init),
11484         (gst_index_factory_finalize), (gst_index_factory_new),
11485         (gst_index_factory_destroy), (gst_index_factory_find),
11486         (gst_index_factory_create), (gst_index_factory_make):
11487         * gst/gstindexfactory.h:
11488         * gst/gstpluginfeature.c:
11489         * gst/gstpluginfeature.h:
11490         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11491           more docs inlined, splitted gstindex.{c,h}
11492
11493 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11496           fix a leak
11497
11498 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11499
11500         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11501           Set sync to FALSE by default.
11502
11503 2005-09-20  Wim Taymans  <wim@fluendo.com>
11504
11505         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11506         (gst_base_sink_init):
11507         Make sync property settable from subclass.
11508
11509         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11510         (gst_fake_sink_change_state):
11511         Set sync to FALSE by default.
11512
11513 2005-09-20  Wim Taymans  <wim@fluendo.com>
11514
11515         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11516         * tools/gst-launch.c: (main):
11517         The timeout handler should have lower priority than the source
11518         so we don't timeout before popping a message with 0 timeout.
11519         Dump error messages after failed state change.
11520
11521 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11522
11523         * tools/gst-inspect.c: (print_element_properties_info):
11524           Fix two typos.
11525
11526 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11527
11528         * check/gst/gstevent.c:
11529         * gst/elements/gstfakesink.c:
11530         * gst/elements/gstfakesink.h:
11531           remove the sync property from fakesink.
11532           has the side effect of setting sync TRUE
11533           for fakesink, which is a change.  Anyone who knows how
11534           to fix this nicely in a GObject-y way, feel free.
11535
11536 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11537
11538         * docs/gst/gstreamer-docs.sgml:
11539           remove probe refsection
11540
11541 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11542
11543         * check/Makefile.am:
11544           disable valgrinding the controller test again
11545         * docs/gst/gstreamer-sections.txt:
11546           update for api-changes
11547
11548 2005-09-20  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11551         (gst_base_sink_set_property), (gst_base_sink_get_property),
11552         (gst_base_sink_do_sync):
11553         * gst/base/gstbasesink.h:
11554         Added sync property to basesink to disable clock sync.
11555
11556 2005-09-20  Andy Wingo  <wingo@pobox.com>
11557
11558         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11559         eating the caller's refcount.
11560
11561         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11562         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11563         refcount.
11564
11565         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11566         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11567         of GLib 2.8 public, so we can know which refcount to check in
11568         tests.
11569
11570         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11571         (gst_object_init): Only set the gst refcount if we're going ahead
11572         with the refcount hack.
11573
11574 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11575
11576         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11577         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11578           more leaks plumbed, added more debug-logging
11579         * gst/gstmacros.h:
11580           whitespace fix
11581
11582 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * gst/gstmessage.c:
11585           remove include of gstmemchunk.h
11586
11587 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11588
11589         * gst/gstclock.c: (_gst_clock_id_free):
11590           Commit from the Political Party For More Atomic CVS Commits,
11591           so that people don't waste too much of their day fishing
11592           out obvious leaks out of massive commits.
11593           Oh, and fix a pretty damn obvious leak in the memchunk
11594           removal code.
11595
11596 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11597
11598         * check/Makefile.am:
11599         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11600           plug mem-leak, re-add to valgrindable tests
11601
11602 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11603
11604         * gst/gstplugin.h:
11605           unbreak the build for those who have chronic arthritis
11606           and typing "make check" is just too taxing on the hands
11607
11608 2005-09-20  Andy Wingo  <wingo@pobox.com>
11609
11610         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11611         really want it out, you should fix plugins at the same time.
11612
11613 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11614
11615         * configure.ac:
11616         * docs/gst/gstreamer-sections.txt:
11617         * gst/gstobject.c:
11618           added missing symbols to api docs
11619           disable ref-count hack if we have glib >= 2.8
11620
11621 2005-09-19  David Schleef  <ds@schleef.org>
11622
11623         * docs/gst/Makefile.am: Ignore a few more internal headers
11624         * docs/gst/gstreamer-docs.sgml: Remove old sections
11625         * docs/gst/gstreamer-sections.txt: Remove old sections
11626         * docs/gst/tmpl/gstobject.sgml: update
11627         * docs/gst/tmpl/gstplugin.sgml: update
11628         * docs/gst/tmpl/gstpluginfeature.sgml: update
11629         * docs/random/ds/0.9-suggested-changes: update.
11630         * gst/Makefile.am: remove memchunk and trashstack, since they're
11631           not used.
11632         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11633         * gst/gst.h: don't include some headers
11634         * gst/gstchildproxy.c: add gstmarshal.h
11635         * gst/gstclock.c: Don't use memchunks
11636         * gst/gstminiobject.c: Add some docs
11637         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11638         * gst/gstobject.h: same
11639         * gst/gstplugin.c: include gstmacros.h
11640         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11641         * gst/gstquery.c: don't use memchunks
11642         * gst/gstregistry.c: rename gst_registry_deinit()
11643         * gst/gstregistry.h: same
11644
11645 2005-09-19  David Schleef  <ds@schleef.org>
11646
11647         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11648         * docs/libs/gstreamer-libs-sections.txt:
11649         * docs/libs/tmpl/gstgetbits.sgml:
11650         * docs/libs/tmpl/gstputbits.sgml:
11651
11652 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11653
11654         * win32/gstenumtypes.c:
11655         * win32/gstenumtypes.h:
11656           Update.
11657
11658 2005-09-19  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11661         Automatically PAUSE and RESUME a pipeline when a flushing seek
11662         is performed.
11663
11664 2005-09-19  Andy Wingo  <wingo@pobox.com>
11665
11666         * gst/gstregistry.h: Spacing fixen.
11667
11668 2005-09-19  Wim Taymans  <wim@fluendo.com>
11669
11670         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11671         Handle state change failure more correctly.
11672
11673 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11674
11675         * check/Makefile.am:
11676         * check/pipelines/cleanup.c: (run_pipeline):
11677         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11678         (GST_START_TEST):
11679           enable cleanup again after fixing the leak
11680         * docs/README:
11681           some more info on docs
11682
11683 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11684
11685         * check/Makefile.am:
11686           re-enable tests now that leaks are plugged
11687         * check/gst/gst.c:
11688         * check/gst/gstbin.c:
11689         * check/gst/gstpipeline.c:
11690           add some more tests while fixing leaks
11691         * common/check.mak:
11692           make sure binaries are uptodate when valgrinding/gdbing
11693         * gst/gst.c:
11694         * gst/gstelementfactory.c:
11695           remove a ref too many, and add a FIXME for when we get
11696           round to disposing of classes
11697         * gst/gstplugin.c:
11698           fix the refcounting when loading a plugin from a file and
11699           the code pretends that the pointer is the same even though
11700           of course it can change
11701         * gst/gstpluginfeature.c:
11702           unref plugins marked cached (a bit confusing as a name)
11703           as the docs state should be done
11704           various doc additions to explain refcounting
11705         * gst/gstregistry.c:
11706         * gst/gstregistryxml.c:
11707           debugging
11708
11709 2005-09-19  Wim Taymans  <wim@fluendo.com>
11710
11711         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11712         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11713         (send_messages), (GST_START_TEST), (gstbus_suite):
11714         * check/gst/gstpipeline.c: (GST_START_TEST):
11715         * check/pipelines/cleanup.c: (run_pipeline):
11716         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11717         (GST_START_TEST):
11718         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11719         (gst_bus_source_check), (gst_bus_source_dispatch),
11720         (gst_bus_create_watch), (gst_bus_add_watch_full),
11721         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11722         * gst/gstbus.h:
11723         * tools/gst-launch.c: (event_loop):
11724         * tools/gst-md5sum.c: (event_loop):
11725         GstBusHandler -> GstBusFunc, return value has the same meaning as
11726         any other GSource (FALSE == remove source).
11727         _add_watch() and _add_watch_full() now take a MessageType mask to
11728         only handle specific types of messages.
11729         _poll() returns the GstMessage instead of the message type to avoid
11730         race conditions.
11731         _have_pending() takes a MessageType mask now too.
11732         Added testsuite for multiple bus watches.
11733         Fix testsuites and applications for new bus API.
11734
11735 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * check/Makefile.am:
11738           mark a bunch of the tests as to fix until we fix them
11739
11740 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11741
11742         * common/check.mak:
11743           use GST_PLUGIN settings for valgrind tests as well, so we're
11744           valgrinding the correct thing
11745         * gst/gst.c: (init_post):
11746           plug another leak
11747
11748 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11749
11750         * gst/gst.c: (init_post), (gst_deinit):
11751         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11752         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11753         * gst/gstindex.c: (gst_index_factory_class_init),
11754         (gst_index_factory_finalize):
11755         * gst/gstobject.c: (gst_object_dispose):
11756         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11757         (gst_plugin_load_file), (gst_plugin_desc_free):
11758         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11759         (gst_plugin_feature_finalize):
11760         * gst/gstregistry.c: (gst_registry_class_init),
11761         (gst_registry_init), (gst_registry_finalize),
11762         (gst_registry_get_default), (gst_registry_deinit):
11763         * gst/gstregistry.h:
11764         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11765           various cleanups and memleak plugging.  make valgrind is happy now.
11766
11767 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11768
11769         * common/check.mak:
11770           add a check-valgrind target
11771
11772 2005-09-18  David Schleef  <ds@schleef.org>
11773
11774         * tools/gst-inspect.c: Revert the GOption code.
11775
11776 2005-09-17  David Schleef  <ds@schleef.org>
11777
11778         * check/Makefile.am: Fix environment variables.
11779         * check/gst/gstplugin.c: Fix for API changes.
11780         * tools/gst-inspect.c: Fix for API changes.
11781         * tools/gst-xmlinspect.c: Fix for API changes.
11782         * gst/gstelementfactory.c:
11783         * gst/gstplugin.c:
11784         * gst/gstplugin.h:
11785         * gst/gstpluginfeature.c:
11786         * gst/gstpluginfeature.h:
11787         * gst/gstregistry.c:
11788         * gst/gstregistry.h:
11789         * gst/gstregistryxml.c:
11790         * gst/gsttypefind.c:
11791         * gst/gsttypefindfactory.c:
11792         * gst/indexers/gstfileindex.c:
11793         * gst/indexers/gstmemindex.c:
11794         * gst/schedulers/Makefile.am:
11795           Change registry to keep track of both plugins and features,
11796           removing the feature tracking from plugins themselves.
11797
11798 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11799
11800         * check/Makefile.am:
11801         * tools/gst-register.1.in:
11802           remove gst-register
11803
11804 2005-09-15  David Schleef  <ds@schleef.org>
11805
11806         * check/gst/gstplugin.c:
11807         * gst/gstelementfactory.c:
11808         * gst/gstplugin.c:
11809         * gst/gstpluginfeature.c:
11810         * gst/gstregistry.c:
11811           Getting tired of debugging.  Disabled all the unreffing of
11812           plugins and features, which fixes the segfaults, but of
11813           course leaks like crazy.  At least playbin works.
11814
11815 2005-09-15  David Schleef  <ds@schleef.org>
11816
11817         * check/gst/gstplugin.c: (register_check_elements),
11818         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11819         More testing
11820         * gst/elements/gsttypefindelement.c: Fix refcounting.
11821         * gst/gsttypefind.c:
11822         * gst/gsttypefindfactory.c:
11823         * gst/gsttypefindfactory.h:
11824
11825 2005-09-15  David Schleef  <ds@schleef.org>
11826
11827         * gst/gstindex.c: get refcounting correct.
11828         * gst/gstregistry.c: Handle the case where a feature/plugin is
11829           not found.
11830
11831 2005-09-15  David Schleef  <ds@schleef.org>
11832
11833         * check/Makefile.am:
11834         * check/gst/gstplugin.c: Add test
11835         * gst/gstplugin.c: Fix problems noticed by testsuite
11836         * gst/gstplugin.h:
11837         * gst/gstregistry.c: 
11838         * gst/gstregistry.h:
11839
11840 2005-09-15  David Schleef  <ds@schleef.org>
11841
11842         * gst/gstplugin.c: Implement semi-decent recounting and locking
11843           in plugins and plugin features.
11844         * gst/gstplugin.h:
11845         * gst/gstpluginfeature.c:
11846         * gst/gstpluginfeature.h:
11847         * gst/gstregistry.c:
11848
11849 2005-09-15  Michael Smith <msmith@fluendo.com>
11850
11851         * gst/gstregistry.c: (gst_registry_get_feature_list):
11852           Implement this. Makes oggdemux work; decodebin still broken.
11853
11854 2005-09-14  David Schleef  <ds@schleef.org>
11855
11856         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11857           #316076)
11858         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11859         * gst/check/Makefile.am:
11860         * libs/gst/controller/Makefile.am:
11861         * libs/gst/dataprotocol/Makefile.am:
11862
11863 2005-09-14  David Schleef  <ds@schleef.org>
11864
11865         * configure.ac: Remove getbits library.  Nothing uses it, and
11866           it should be in something like liboil if someone did want
11867           to use it.
11868         * libs/gst/Makefile.am:
11869         * libs/gst/getbits/Makefile.am:
11870         * libs/gst/getbits/gbtest.c:
11871         * libs/gst/getbits/getbits.c:
11872         * libs/gst/getbits/getbits.h:
11873         * libs/gst/getbits/gstgetbits_generic.c:
11874         * libs/gst/getbits/gstgetbits_i386.s:
11875         * libs/gst/getbits/gstgetbits_inl.h:
11876
11877 2005-09-14  David Schleef  <ds@schleef.org>
11878
11879         * gst/Makefile.am: Dist glib-compat.h
11880
11881 2005-09-14  David Schleef  <ds@schleef.org>
11882
11883         * configure.ac: Remove gst/registries, since it's no longer used.
11884         * gst/registries/Makefile.am:
11885         * gst/registries/gstlibxmlregistry.c:
11886         * gst/registries/gstlibxmlregistry.h:
11887         * gst/registries/gstxmlregistry.c:
11888         * gst/registries/gstxmlregistry.h:
11889         * gst/registries/registrytest.c:
11890
11891 2005-09-14  David Schleef  <ds@schleef.org>
11892
11893         * gst/glib-compat.h:
11894         * gst/gstregistryxml.c:
11895           Convergence is near.  Seriously.
11896
11897 2005-09-14  David Schleef  <ds@schleef.org>
11898
11899         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11900         * gst/glib-compat.h:
11901           Attempt #4 to appease the buildbots.
11902
11903 2005-09-14  David Schleef  <ds@schleef.org>
11904
11905         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11906           Attempt #3.
11907
11908 2005-09-14  David Schleef  <ds@schleef.org>
11909
11910         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11911         Attempt #2.
11912
11913 2005-09-14  David Schleef  <ds@schleef.org>
11914
11915         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11916           the new functions.
11917
11918 2005-09-14  David Schleef  <ds@schleef.org>
11919
11920         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11921         * gst/glib-compat.h: Add some functions that are in newer versions
11922           of glib than we care to require.
11923         * gst/gstregistryxml.c: Use them.
11924
11925 2005-09-14  David Schleef  <ds@schleef.org>
11926
11927         * po/POTFILES.in: remove gst-register.c
11928
11929 2005-09-14  David Schleef  <ds@schleef.org>
11930
11931         * docs/gst/gstreamer-docs.sgml:
11932         * docs/gst/gstreamer-sections.txt:
11933         * docs/gst/gstreamer.types:
11934         * docs/gst/tmpl/gstelement.sgml:
11935         * docs/gst/tmpl/gstplugin.sgml:
11936         * docs/gst/tmpl/gstpluginfeature.sgml:
11937           Documentation updates for registry changes.
11938
11939 2005-09-14  David Schleef  <ds@schleef.org>
11940
11941         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11942           because we don't require glib-2.8.
11943
11944 2005-09-14  David Schleef  <ds@schleef.org>
11945
11946         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11947           registries directory.
11948
11949 2005-09-14  David Schleef  <ds@schleef.org>
11950
11951         * check/Makefile.am:
11952         * check/generic/states.c:
11953         * gst/Makefile.am:
11954         * gst/gst.c:
11955         * gst/gst.h:
11956         * gst/gst_private.h:
11957         * gst/gstelementfactory.c:
11958         * gst/gstindex.c:
11959         * gst/gstinfo.c:
11960         * gst/gstplugin.c:
11961         * gst/gstplugin.h:
11962         * gst/gstpluginfeature.c:
11963         * gst/gstpluginfeature.h:
11964         * gst/gstregistry.c:
11965         * gst/gstregistry.h:
11966         * gst/gstregistrypool.c: remove
11967         * gst/gstregistrypool.h: remove
11968         * gst/gsttypefind.c:
11969         * gst/gsttypefindfactory.c:
11970         * gst/gsturi.c:
11971         * tools/Makefile.am:
11972         * tools/gst-compprep.c:
11973         * tools/gst-inspect.c:
11974         * tools/gst-register.c: remove
11975         * tools/gst-xmlinspect.c:
11976           Registry rewrite.  Changes registry from being a file created
11977           by a tool into a simple cache file created automatically by 
11978           libgstreamer.  Removed gst-register (because it's no longer
11979           needed).  Remove registry pools, because we only have one
11980           registry implementation (XML).  Fix up other subsystems as
11981           necessary.
11982
11983 2005-09-13  Michael Smith <msmith@fluendo.com>
11984
11985         * gst/gstconfig.h.in:
11986           Don't Use windows linking attributes for MinGW. Fixes #316157
11987
11988 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11989
11990         * gst/gstutils.c: (set_state_async_thread_func),
11991         (gst_element_set_state_async):
11992           Apparently people think it's better if this function doesn't
11993           try to set the state to whatever state was asked for on the first
11994           call to this function for any object.  Seriously.
11995
11996 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11997
11998         * check/gst/gstpipeline.c: (GST_START_TEST):
11999         * docs/gst/gstreamer-sections.txt:
12000         * gst/gstutils.c: (set_state_async_thread_func),
12001         (gst_element_set_state_async):
12002         * gst/gstutils.h:
12003           add a "gst_element_set_state_async" method that
12004           sets the state and starts a thread to make sure the state
12005           change completes as best as it can
12006
12007 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12008
12009         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12010           codify design+behaviour in testsuite after discussion
12011
12012 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12013
12014         * docs/gst/tmpl/gstelement.sgml:
12015         * docs/manual/appendix-quotes.xml:
12016           add a quote
12017         * gst/gstelement.c: (gst_element_set_state):
12018           add some debug
12019
12020 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12021
12022         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12023         (gst_base_transform_prepare_output_buf),
12024         (gst_base_transform_handle_buffer):
12025         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12026         (gst_capsfilter_prepare_buf):
12027           Remove the requirement for sub-classes to call the parent
12028           implementation of prepare_output_buffer with a wrapper function.
12029           
12030         * gst/gsttaglist.h:
12031         * gst/gsttagsetter.h:
12032           Fix #define wrapper
12033
12034 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12035
12036         * docs/gst/gstreamer-sections.txt:
12037           more doc cleanups
12038
12039 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * docs/gst/gstreamer-sections.txt:
12042         * docs/gst/tmpl/gstelement.sgml:
12043         * docs/gst/tmpl/gstplugin.sgml:
12044         * gst/gstminiobject.c:
12045         * gst/gstvalue.h:
12046           docs now stop throwing warnings
12047
12048 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12049
12050         * docs/gst/gstreamer-sections.txt:
12051         * docs/gst/gstreamer.types:
12052         * docs/gst/tmpl/gstpad.sgml:
12053         * docs/gst/tmpl/gsttypes.sgml:
12054         * gst/base/gstadapter.h:
12055         * gst/base/gstbasesink.h:
12056         * gst/base/gstbasesrc.h:
12057         * gst/gstbin.h:
12058         * gst/gstbuffer.h:
12059         * gst/gstbus.h:
12060         * gst/gstcaps.h:
12061         * gst/gstclock.h:
12062         * gst/gstelement.h:
12063         * gst/gstevent.h:
12064         * gst/gstmessage.h:
12065         * gst/gstpad.h:
12066         * gst/gststructure.c:
12067         * gst/registries/gstlibxmlregistry.h:
12068           various documentation fixes
12069
12070 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * docs/gst/gstreamer-sections.txt:
12073         * docs/gst/tmpl/gstvalue.sgml:
12074           rearrange gstvalue section
12075         * gst/gstutils.c: (gst_element_state_get_name):
12076           NONE -> VOID
12077         * gst/gstvalue.c: (_gst_value_initialize):
12078         * gst/gstvalue.h:
12079           doc updates
12080
12081 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12082
12083         * check/gst-libs/controller.c:
12084           Header include fix.
12085         * gst/base/gstbasetransform.c:
12086         (gst_base_transform_default_prepare_buf),
12087         (gst_base_transform_handle_buffer):
12088         * gst/base/gstbasetransform.h:
12089           Some more basetransform changes and fixes to enable sub-classes
12090           that modify buffer metadata only.
12091         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12092         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12093         (gst_capsfilter_prepare_buf):
12094           If the output pad has fixed allowed caps and input buffers 
12095           don't have any, set the fixed caps on outgoing buffers.
12096
12097 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12098         * check/elements/identity.c: (GST_START_TEST):
12099           Make the error a little clearer when the test fails because
12100           identity made a copy of the buffer.
12101         * docs/gst/gstreamer-sections.txt:
12102           New symbols in gstbasetransform.h
12103         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12104         (gst_base_transform_init), (gst_base_transform_transform_size),
12105         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12106         (gst_base_transform_default_prepare_buf),
12107         (gst_base_transform_get_unit_size),
12108         (gst_base_transform_buffer_alloc),
12109         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12110         (gst_base_transform_change_state),
12111         (gst_base_transform_set_passthrough),
12112         (gst_base_transform_set_in_place),
12113         (gst_base_transform_is_in_place):
12114         * gst/base/gstbasetransform.h:
12115           Change BaseTransform to separate in_place operate from same_caps
12116           output. in_place implies that the element can perform the transform
12117           on incoming buffers in-place, even if the caps on the output are
12118           different.
12119           Sub-class elements can now implement special buffer allocation
12120           methods for outgoing buffers if they wish to.
12121           Big documentation addition.
12122         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12123         * gst/elements/gstelements.c:
12124           Changes for basetransform modifications.
12125         * gst/elements/Makefile.am:
12126         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12127           Compile fix. Extra debug output.
12128
12129 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12132         (gst_pad_suite):
12133           add tests for valid pad naming
12134         * gst/check/gstcheck.c: (gst_check_log_message_func),
12135         (gst_check_log_critical_func):
12136           add ASSERT_WARNING
12137           remove printing of code, it is fragile when the code contains
12138           % and the line number is enough info
12139         * gst/check/gstcheck.h:
12140         * gst/gstpad.c: (gst_pad_template_new):
12141           fix memleaks
12142
12143 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12144
12145         * configure.ac:
12146           say what CHECK flags we use
12147         * docs/libs/gstreamer-libs.types:
12148         * libs/gst/controller/Makefile.am:
12149         * libs/gst/controller/gst-controller.c:
12150         * libs/gst/controller/gst-controller.h:
12151         * libs/gst/controller/gst-helper.c:
12152         * libs/gst/controller/gst-interpolation.c:
12153         * libs/gst/controller/gstcontroller.c:
12154         * libs/gst/controller/gsthelper.c:
12155         * libs/gst/controller/gstinterpolation.c:
12156         * tools/gst-inspect.c: (print_plugin_info):
12157           we don't use dashes in header names
12158
12159 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12160
12161         * check/Makefile.am:
12162         * check/gst/.cvsignore:
12163         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12164         (gst_pipeline_suite), (main):
12165           adding a test for pipelines and state changes
12166         * gst/gstutils.c: (get_state_func):
12167           add some debugging
12168         * gstreamer.spec.in:
12169           fix up spec file
12170
12171 2005-09-08  Michael Smith <msmith@fluendo.com>
12172
12173         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12174         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12175         (gst_file_src_is_seekable), (gst_file_src_get_size),
12176         (gst_file_src_start):
12177         * gst/elements/gstfilesrc.h:
12178           Various fixes for unseekable, unmmapable, and non-normal files, so
12179           that fallback to read() rather than mmap() works.
12180         * gst/gstevent.c: (gst_event_new_newsegment):
12181           Allow newsegment events with segment_start == segment_end, as will
12182           correctly happen if you use filesrc on a zero-size file, for
12183           example.
12184
12185 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12186
12187         * gst/gstplugin.c: (gst_plugin_load_file):
12188           Call g_module_close when we don't load the module
12189
12190         * gst/registries/gstlibxmlregistry.c:
12191         (gst_xml_registry_get_property):
12192           Port leak fix from 0.8
12193
12194 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12195
12196         * docs/gst/gstreamer-docs.sgml:
12197         * docs/gst/tmpl/.cvsignore:
12198         * docs/gst/tmpl/gsttrace.sgml:
12199         * docs/gst/tmpl/gsttrashstack.sgml:
12200         * gst/Makefile.am:
12201         * gst/gst.h:
12202         * gst/gstelement.h:
12203         * gst/gstevent.h:
12204         * gst/gstmessage.c:
12205         * gst/gstmessage.h:
12206         * gst/gsttag.c:
12207         * gst/gsttag.h:
12208         * gst/gsttaginterface.c:
12209         * gst/gsttaginterface.h:
12210         * gst/gsttaglist.c:
12211         * gst/gsttaglist.h:
12212         * gst/gsttagsetter.c:
12213         * gst/gsttagsetter.h:
12214         * gst/gsttrace.c:
12215         * gst/gsttrace.h:
12216         * gst/gsttrashstack.c:
12217           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12218           inlined docs for gsttrace, gsttrashstack
12219
12220 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12221
12222         * gst/Makefile.am:
12223         * gst/elements/gstbufferstore.h:
12224         * gst/elements/gsttypefindelement.c:
12225         * gst/elements/gsttypefindelement.h:
12226         * gst/gst.h:
12227         * gst/gsttypefind.c:
12228         * gst/gsttypefind.h:
12229         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12230         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12231         (gst_type_find_factory_dispose),
12232         (gst_type_find_factory_unload_thyself),
12233         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12234         (gst_type_find_factory_get_caps),
12235         (gst_type_find_factory_get_extensions),
12236         (gst_type_find_factory_call_function):
12237         * gst/gsttypefindfactory.h:
12238         * gst/registries/gstlibxmlregistry.c:
12239         * gst/registries/gstxmlregistry.c:
12240           splitted gsttypefind into gsttypefind, gsttypefindfactory
12241
12242 2005-09-07  Andy Wingo  <wingo@pobox.com>
12243
12244         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12245         condition whereby the pad's task function is entered before the
12246         pad_mode variable was set.
12247
12248 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12249
12250         * gst/gstpad.c: (gst_pad_alloc_buffer):
12251           Catch misbehaving pad_alloc functions that don't
12252           set up caps and do it for them.
12253
12254 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12255
12256         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12257           test for pipe!=NULL
12258         * docs/gst/tmpl/.cvsignore:
12259         * docs/gst/tmpl/gstmemchunk.sgml:
12260         * docs/gst/tmpl/gstparse.sgml:
12261         * docs/gst/tmpl/gsttaglist.sgml:
12262         * docs/gst/tmpl/gsttagsetter.sgml:
12263         * docs/gst/tmpl/gsttypefind.sgml:
12264         * docs/gst/tmpl/gsttypefindfactory.sgml:
12265         * gst/gstmemchunk.c:
12266         * gst/gstparse.c:
12267         * gst/gsttag.c:
12268         * gst/gsttaginterface.c:
12269         * gst/gsttypefind.c:
12270         * gst/gsttypefind.h:
12271           inlined more docs
12272
12273 === release 0.9.2 ===
12274
12275 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12276
12277         * NEWS:
12278         * RELEASE:
12279         * configure.ac:
12280           releasing 0.9.2, "South"
12281
12282 2005-09-05  Andy Wingo  <wingo@pobox.com>
12283
12284         * gst/registries/gstxmlregistry.h:
12285         * gst/registries/gstxmlregistry.c: Um... resurrect...
12286         
12287         * gst/registries/gstxmlregistry.h:
12288         * gst/registries/gstxmlregistry.c: and update to newer API.
12289         Incidentally they should be a bit faster now that they don't have
12290         to parse the caps.
12291         
12292 2005-09-05  Andy Wingo  <wingo@pobox.com>
12293
12294         * gst/registries/gstxmlregistry.h:
12295         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12296         replaced by the libxml registry a while back
12297
12298 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12299
12300         * docs/gst/tmpl/gstplugin.sgml:
12301         * gst/elements/gstelements.c:
12302         * gst/gst.c:
12303         * gst/gstplugin.c: (gst_plugin_register_func),
12304         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12305         (gst_plugin_get_source):
12306         * gst/gstplugin.h:
12307         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12308         (gst_xml_registry_save_plugin):
12309         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12310         (gst_xml_registry_save_plugin):
12311         * tools/gst-inspect.c: (print_plugin_info):
12312           add a "source" plugin description field, to represent the source
12313           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12314           will set it to PACKAGE, which is automake's idea of the name of
12315           the source project.
12316
12317 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12318
12319         * Makefile.am:
12320         * autogen.sh:
12321         * configure.ac:
12322         * docs/Makefile.am:
12323         * docs/faq/Makefile.am:
12324         * docs/gst/tmpl/gstelement.sgml:
12325         * docs/gst/tmpl/gsttypes.sgml:
12326         * docs/htmlinstall.mak:
12327         * docs/manual/Makefile.am:
12328         * docs/pwg/Makefile.am:
12329           reorganize doc build a little
12330           split out docbook and gtk-doc stuff
12331           have two separate --enable's and enable them through autogen
12332           but disable by default in configure (to be similar to other
12333           projects)
12334         * gstreamer.spec.in:
12335           clean up docs install
12336         * po/af.po:
12337         * po/az.po:
12338         * po/ca.po:
12339         * po/cs.po:
12340         * po/de.po:
12341         * po/en_GB.po:
12342         * po/fr.po:
12343         * po/it.po:
12344         * po/nb.po:
12345         * po/nl.po:
12346         * po/ru.po:
12347         * po/sq.po:
12348         * po/sr.po:
12349         * po/sv.po:
12350         * po/tr.po:
12351         * po/uk.po:
12352         * po/vi.po:
12353           translation updates
12354
12355 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12356
12357         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12358           Add comment.
12359           
12360         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12361         (gst_fake_sink_change_state):
12362           Make state change function thread-safe.
12363           
12364         * gst/gstpad.c: (gst_pad_alloc_buffer):
12365           Set offset on generic buffer allocated by fallback.
12366
12367 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12368
12369         * docs/gst/gstreamer-sections.txt:
12370         * docs/gst/tmpl/gstelement.sgml:
12371         * gst/gstpad.c:
12372         * libs/gst/controller/gst-controller.c:
12373         (gst_controlled_property_set_interpolation_mode),
12374         (gst_controlled_property_new),
12375         (gst_controller_find_controlled_property):
12376          run the wingo-magic script against the docs
12377
12378 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12379
12380         * docs/gst/gstreamer-docs.sgml:
12381         * docs/gst/gstreamer-sections.txt:
12382         * docs/gst/tmpl/.cvsignore:
12383         * docs/gst/tmpl/gstelementdetails.sgml:
12384         * docs/gst/tmpl/gstelementfactory.sgml:
12385         * gst/gst.c:
12386         * gst/gstbus.c:
12387         * gst/gstelementfactory.c:
12388         * gst/gstelementfactory.h:
12389           merged elementdetails docs into elementfactory docs
12390           inlined both
12391
12392 2005-09-02  Andy Wingo  <wingo@pobox.com>
12393
12394         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12395         consider this enum an enum and not a flags.
12396
12397 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12398
12399         * docs/gst/gstreamer-docs.sgml:
12400         * docs/gst/tmpl/.cvsignore:
12401         * docs/gst/tmpl/gstghostpad.sgml:
12402         * docs/gst/tmpl/gstiterator.sgml:
12403         * docs/gst/tmpl/gstmacros.sgml:
12404         * docs/gst/tmpl/gstrealpad.sgml:
12405         * docs/gst/tmpl/gstregistry.sgml:
12406         * docs/gst/tmpl/gstregistrypool.sgml:
12407         * docs/gst/tmpl/gststructure.sgml:
12408         * docs/gst/tmpl/gstsystemclock.sgml:
12409         * docs/gst/tmpl/gsttrace.sgml:
12410         * gst/gstghostpad.c:
12411         * gst/gstmacros.h:
12412         * gst/gstmemchunk.c:
12413         * gst/gstmemchunk.h:
12414         * gst/gstqueue.c:
12415         * gst/gstregistry.c:
12416         * gst/gstregistrypool.c:
12417         * gst/gststructure.c:
12418         * gst/gstsystemclock.c:
12419           more docs inlined
12420
12421 2005-09-02  Andy Wingo  <wingo@pobox.com>
12422
12423         * gst/gstelement.h (GstState): Renamed from GstElementState,
12424         changed to be a normal enum instead of flags.
12425         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12426         munged to be GST_STATE_CHANGE_*.
12427         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12428         work with the new state representation.
12429         (GstStateChange): New enumeration of possible state transitions.
12430         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12431         (GstElementClass::change_state): Pass the GstStateChange along as
12432         an argument. Helps language bindings, so they don't have to use
12433         tricky lock-needing macros like GST_STATE_CHANGE ().
12434
12435         * scripts/update-states (file): New script. Run it on a file to
12436         update it for state naming and API changes. Updates files in
12437         place.
12438
12439         * All files updated for the new API.
12440
12441 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12442
12443         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12444         * gst/gstutils.c: (gst_util_set_value_from_string),
12445         (gst_util_set_object_arg):
12446           fix a bunch of unchecked return values
12447         * tools/gst-complete.c: (main):
12448         * gstreamer.spec.in:
12449           clean up a little
12450
12451 2005-09-01  Wim Taymans  <wim@fluendo.com>
12452
12453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12454         (gst_base_sink_event), (gst_base_sink_do_sync),
12455         (gst_base_sink_handle_event):
12456         * gst/base/gstbasesink.h:
12457         Handle newsegments more correctly.
12458
12459         * gst/gstbus.c:
12460         Fix docs.
12461
12462         * gst/gstevent.c: (gst_event_new_newsegment):
12463         A newsegment cannot have a start_time of -1
12464
12465 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12466
12467         * win32/gstenumtypes.c:
12468         * win32/gstenumtypes.h:
12469           Update
12470
12471 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12472
12473         * libs/gst/controller/gst-controller.c:
12474         (gst_controlled_property_set_interpolation_mode),
12475         (gst_controlled_property_new):
12476          fixed boolean again
12477
12478 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * docs/faq/gst-uninstalled:
12481           add -good
12482         * gst/gstevent.c:
12483         * gst/gstevent.h:
12484           remove wrong docs
12485         * gst/gstutils.c: (gst_element_link_filtered):
12486         * gst/gstutils.h:
12487           add gst_element_link_filtered
12488
12489 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12490
12491         * docs/gst/gstreamer-docs.sgml:
12492         * docs/gst/gstreamer-sections.txt:
12493         * docs/gst/tmpl/.cvsignore:
12494         * docs/gst/tmpl/gsterror.sgml:
12495         * docs/gst/tmpl/gstfilter.sgml:
12496         * docs/gst/tmpl/gsturihandler.sgml:
12497         * docs/gst/tmpl/gsturitype.sgml:
12498         * docs/gst/tmpl/gstutils.sgml:
12499         * docs/gst/tmpl/gstxml.sgml:
12500         * gst/gsterror.c:
12501         * gst/gsterror.h:
12502         * gst/gstfilter.c:
12503         * gst/gsturi.c:
12504         * gst/gsturitype.c:
12505         * gst/gstutils.c:
12506         * gst/gstxml.c:
12507           inlined more docs, fixed double id-ref
12508
12509 2005-08-31  Wim Taymans  <wim@fluendo.com>
12510
12511         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12512         (gst_base_transform_handle_buffer):
12513         Passthrough elements don't need the caps as they don't care.
12514
12515 2005-08-31  Wim Taymans  <wim@fluendo.com>
12516
12517         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12518         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12519         Don't leak refcounts on buffers.
12520
12521 2005-08-31  Wim Taymans  <wim@fluendo.com>
12522
12523         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12524         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12525         (gst_base_transform_chain), (gst_base_transform_change_state):
12526         * gst/base/gstbasetransform.h:
12527         Handle the case where we are not negotiated more gracefully.
12528
12529 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12530
12531         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12532         (gst_file_src_map_region):
12533           Set READONLY flag on mmap'ed buffers, otherwise
12534           gst_buffer_make_writable() won't work properly (#314708).
12535
12536 2005-08-31  Wim Taymans  <wim@fluendo.com>
12537
12538         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12539         passthrough elements can even do inplace on non writable
12540         buffers (as they don't touch them).
12541
12542 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12543
12544         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12545         (gst_test_mono_source_set_property),
12546         (gst_test_mono_source_class_init), (GST_START_TEST),
12547         (gst_controller_suite):
12548           more tests (hehe I have the most)
12549         * gst/gstbus.c:
12550           describe popping messages whenusing mulltiple sources
12551         * libs/gst/controller/gst-controller.c:
12552         (gst_controlled_property_set_interpolation_mode),
12553         (gst_controlled_property_new):
12554         * libs/gst/controller/gst-controller.h:
12555         * libs/gst/controller/gst-interpolation.c:
12556           implement boolean properties
12557
12558 2005-08-31  Wim Taymans  <wim@fluendo.com>
12559
12560         * gst/gstminiobject.c: (gst_mini_object_ref):
12561         Cannot assert that the refcount has to be positive
12562         since a disposed object can be resurrected.
12563
12564 2005-08-31  Wim Taymans  <wim@fluendo.com>
12565
12566         * gst/gstpad.c: (gst_pad_init):
12567         Revert change, need to first fix badly behaving 
12568         apps.
12569
12570 2005-08-30  Wim Taymans  <wim@fluendo.com>
12571
12572         * check/elements/fakesrc.c: (setup_fakesrc):
12573         * check/elements/identity.c: (setup_identity):
12574         Activate pads before using them.
12575
12576 2005-08-30  Wim Taymans  <wim@fluendo.com>
12577
12578         * gst/base/gstadapter.c: (gst_adapter_flush):
12579         Flushing out 0 bytes is ok for this function.
12580
12581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12582         no newsegment gives a warning and sets the start/stop to 
12583         invalid.
12584
12585         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12586         (gst_base_transform_set_passthrough):
12587         Some debug info.
12588
12589         * gst/gstminiobject.c: (gst_mini_object_ref):
12590         Check refcount here too.
12591
12592         * gst/gstpad.c: (gst_pad_init):
12593         Pads are initially flushing and refusing data.
12594
12595         * gst/gstutils.c: (gst_element_link_pads_filtered):
12596         When adding a capsfilter element make sure it has the
12597         same state as the parent bin.
12598
12599 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12600
12601         * docs/gst/tmpl/.cvsignore:
12602         * docs/gst/tmpl/gstformat.sgml:
12603         * docs/gst/tmpl/gstversion.sgml:
12604         * gst/gstbus.h:
12605         * gst/gstformat.c:
12606         * gst/gstformat.h:
12607         * gst/gstversion.h.in:
12608           more docs and two more inlined
12609
12610 2005-08-30  Wim Taymans  <wim@fluendo.com>
12611
12612         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12613         Don't sync to clock.
12614
12615 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12616
12617         * docs/gst/gstreamer-sections.txt:
12618           ultral33t func10ns deserve to appear in the docs actually
12619         * docs/gst/tmpl/.cvsignore:
12620         * docs/gst/tmpl/gstcompat.sgml:
12621         * docs/gst/tmpl/gstconfig.sgml:
12622         * gst/check/gstcheck.c:
12623         * gst/gstcompat.h:
12624         * gst/gstconfig.h.in:
12625           inlined more docs
12626
12627 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12628
12629         * docs/gst/tmpl/.cvsignore:
12630         * docs/gst/tmpl/gstquery.sgml:
12631         * docs/gst/tmpl/gstutils.sgml:
12632         * gst/gstquery.c:
12633         * gst/gstquery.h:
12634           inlined and extended docs
12635
12636 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12637
12638         * check/gst-libs/controller.c: (GST_START_TEST),
12639         (gst_controller_suite):
12640           more tests
12641         * docs/gst/tmpl/gstutils.sgml:
12642         * docs/libs/gstreamer-libs-sections.txt:
12643         * docs/libs/tmpl/gstdataprotocol.sgml:
12644           include path fixes
12645         * examples/controller/audio-example.c: (main):
12646           controller example works now
12647         * gst/gstclock.h:
12648           doc fixes
12649         * tools/gst-inspect.c: (print_element_properties_info):
12650           show param spec flags
12651
12652 2005-08-29  Andy Wingo  <wingo@pobox.com>
12653
12654         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12655
12656 2005-08-28  Andy Wingo  <wingo@pobox.com>
12657
12658         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12659         as having two arguments instead of just one. Allows superclasses
12660         to access information on subclasses -- see the terrible for() loop
12661         in gtype.c:g_type_create_instance for the reason why. All callers
12662         changed.
12663
12664 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12665
12666         * docs/design/part-messages.txt:
12667           update info
12668         * docs/gst/tmpl/.cvsignore:
12669         * docs/gst/tmpl/gstcaps.sgml:
12670         * docs/gst/tmpl/gstclock.sgml:
12671         * gst/gstbus.c:
12672         * gst/gstcaps.c:
12673         * gst/gstcaps.h:
12674         * gst/gstclock.c:
12675         * gst/gstclock.h:
12676         * gst/gstmessage.c:
12677           added descriptions for bus and message
12678           inline caps and clock docs
12679
12680 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12681
12682         * gst/gstmessage.c:
12683         * gst/gstmessage.h:
12684           doc fixes
12685
12686 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12689           fix div-by-zero
12690
12691 2005-08-26  Andy Wingo  <wingo@pobox.com>
12692
12693         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12694         element_set_state's return val.
12695         (test_2_elements): Add test that's been disabled for months.
12696
12697         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12698         can-activate-pull properties.
12699
12700         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12701         can-activate-pull properties. Implement is_seekable so fakesrc can
12702         operate in pull mode.
12703
12704         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12705         properties.
12706         (gst_base_sink_activate, gst_base_sink_activate_pull)
12707         (gst_base_sink_activate_push): Make activation mode choosing work.
12708         Cleanups.
12709         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12710         is right. Make pull mode work. Post an eos before pausing in pull
12711         mode.
12712         (gst_base_sink_change_state): Pay attention to the core's
12713         change_state() return val.
12714         
12715         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12716         has-getrange properties. Cleanups.
12717         
12718         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12719         has_getrange and replace with can_activate_pull and
12720         can_activate_push.
12721
12722         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12723         locking comments. Remove has_loop, has_chain and replace with
12724         can_activate_pull and can_activate_push.
12725
12726 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12727
12728         * configure.ac:
12729         * examples/Makefile.am:
12730         * examples/metadata/Makefile.am:
12731         * examples/metadata/read-metadata.c: (message_loop),
12732         (have_pad_handler), (make_pipeline), (print_tag), (main):
12733           Add metadata reading example that loops over a list of filenames,
12734           dumping any tags found.
12735
12736         * gst/gstbus.c: (gst_bus_dispose):
12737         * gst/gstelement.c: (gst_element_dispose):
12738           Release a few potentially-held references in dispose.
12739
12740 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12741
12742         * docs/gst/tmpl/gstminiobject.sgml:
12743           do *not* add tmpl/*.sgml files to CVS!
12744
12745 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12746
12747         * libs/gst/bytestream/.cvsignore:
12748         * libs/gst/bytestream/Makefile.am:
12749         * libs/gst/bytestream/adapter.c:
12750         * libs/gst/bytestream/adapter.h:
12751         * libs/gst/bytestream/bytestream.c:
12752         * libs/gst/bytestream/bytestream.h:
12753         * libs/gst/bytestream/filepad.c:
12754         * libs/gst/bytestream/filepad.h:
12755           removing obsolete files
12756
12757 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12758
12759         * docs/gst/gstreamer-docs.sgml:
12760         * docs/libs/gstreamer-libs-docs.sgml:
12761           disabed additional index entries again, as this makes docs-gen just
12762           slow and they aren't useful yet
12763         * docs/libs/gstreamer-libs-sections.txt:
12764           little -section.txt cleanup for libs
12765
12766 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12767
12768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12769         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12770           fix up some debugging
12771         (gst_base_transform_get_unit_size),
12772         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12773         (gst_base_transform_handle_buffer):
12774         * gst/base/gstbasetransform.h:
12775           handle and store timed NEWSEGMENT events so that subclasses that
12776           calculate time by counting samples have a segment_start time they
12777           need to add to their timestamps - see audioresample
12778
12779 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12780
12781         * gst/gstbin.h:
12782           removed ';' from the end of macro defs
12783         * docs/gst/gstreamer-docs.sgml:
12784         * docs/gst/gstreamer-sections.txt:
12785         * docs/gst/tmpl/.cvsignore:
12786         * gst/gstbus.h:
12787         * gst/gstelement.c: (gst_element_class_init),
12788         (gst_element_set_state), (activate_pads),
12789         (gst_element_save_thyself):
12790         * gst/gstevent.c: (gst_event_new_newsegment):
12791         * gst/gstevent.h:
12792         * gst/gstiterator.c:
12793         * gst/gstiterator.h:
12794         * gst/gstpad.c:
12795         * gst/gstprobe.h:
12796         * gst/gstutils.c: (gst_pad_query_convert):
12797         * gst/gstutils.h:
12798           fixed parameter name mismatches between source, header and docs
12799           added some more docs, resolved the last batch of unused elements in
12800           docs (now someone needs to doc them)
12801
12802 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12803
12804         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12805         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12806           don't walk through the plugins backwards.  Where is all this
12807           reversed logic coming from ?
12808
12809 2005-08-25  Wim Taymans  <wim@fluendo.com>
12810
12811         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12812         (gst_base_transform_transform_size),
12813         (gst_base_transform_configure_caps),
12814         (gst_base_transform_get_unit_size),
12815         (gst_base_transform_buffer_alloc),
12816         (gst_base_transform_change_state):
12817         * gst/base/gstbasetransform.h:
12818         Cache caps unit_size.
12819         Make sure we cannot negotiate up and downstream at the
12820         same time.
12821
12822 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12823
12824         * gst/gst.c: (init_pre), (init_post):
12825           register the installed plugin path after the env var
12826         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12827         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12828           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12829           directories, so the tests can prefer uninstalled over installed
12830
12831 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12832
12833         * gst/base/gstbasetransform.h:
12834           comment
12835         * gst/gstpad.c:
12836           add to docs
12837
12838 2005-08-25  Wim Taymans  <wim@fluendo.com>
12839
12840         * gst/gstbin.c: (bin_bus_handler):
12841         Be a bit more conservative about the posted message.
12842         
12843         * gst/gstbus.c: (gst_bus_post):
12844         Some cleanups, warn wrong return values.
12845
12846 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12847
12848         * check/gst/gstbin.c: (GST_START_TEST):
12849         * gst/gstbin.c: (bin_bus_handler):
12850         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12851         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12852         (gst_message_new_warning), (gst_message_new_tag),
12853         (gst_message_new_state_changed), (gst_message_new_segment_start),
12854         (gst_message_new_segment_done), (gst_message_new_custom):
12855         * gst/gstmessage.h:
12856         * tools/gst-launch.c: (event_loop):
12857         * tools/gst-md5sum.c: (event_loop):
12858           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12859
12860 2005-08-25  Wim Taymans  <wim@fluendo.com>
12861
12862         * check/generic/states.c: (GST_START_TEST):
12863         Cleanup can be done at the end.
12864
12865         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12866         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12867         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12868         Oh boy.. Thanks for finding this, Thomas. 
12869
12870 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12871
12872         * docs/gst/gstreamer.types:
12873           added missing types
12874
12875 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12876
12877         * docs/gst/gstreamer-docs.sgml:
12878         * docs/gst/gstreamer-sections.txt:
12879         * docs/gst/tmpl/.cvsignore:
12880         * gst/gstbin.c:
12881         * gst/gstiterator.c:
12882         * gst/gstutils.c:
12883         * gst/registries/gstxmlregistry.h:
12884           added missing classes and symbols (123 more to go)
12885           removed removed symbols from section file
12886           fixed many doc-comments
12887
12888 2005-08-24  Wim Taymans  <wim@fluendo.com>
12889
12890         * check/generic/states.c: (GST_START_TEST):
12891         Make sure all tasks are stopped.
12892
12893         * check/gst/gstbin.c: (GST_START_TEST):
12894         Unref after usage for proper valgrinding.
12895
12896         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12897         Really wait for the task to stop before destroying the
12898         mutex.
12899
12900         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12901         (gst_queue_src_activate_push):
12902         Small cleanups. Don't stop the task when we did not start
12903         it.
12904
12905         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12906         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12907         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12908         (gst_task_join):
12909         * gst/gsttask.h:
12910         Protect the stream lock with the object lock.
12911         Disallow setting the stream lock when running.
12912         Add cleanup_all to wait for the threadpool to finish.
12913         Remove code to autoallocate a mutex if none was provided.
12914         Add _join() to wait for a task to stop.
12915         Protect the thread pool with a global lock.
12916
12917 2005-08-24  Wim Taymans  <wim@fluendo.com>
12918
12919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12920         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12921         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12922         * gst/base/gstbasesink.h:
12923         Handle newsegment events correctly.
12924         Drop buffers out of the segment range.
12925
12926 2005-08-22  Andy Wingo  <wingo@pobox.com>
12927
12928         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12929         macro, implements an interface and gstimplementsinterface for a
12930         new type.
12931
12932 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12933
12934         * check/Makefile.am:
12935         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12936           add a test that does a bunch of state changes on elements
12937           needs some fixing for valgrind
12938         * check/states/sinks.c: (gst_object_suite):
12939           whitespace
12940         * gst/gstcaps.h:
12941           add prototype for gst_caps_is_equal_fixed
12942         * gst/gstplugin.c:
12943         * gst/gstregistrypool.c:
12944           doc fixes
12945
12946 2005-08-24  Andy Wingo  <wingo@pobox.com>
12947
12948         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12949         convert a negative value. Doesn't make much sense. Mostly this is
12950         here to force callers to ensure -1 maps to -1.
12951
12952 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12953
12954         * docs/pwg/advanced-types.xml:
12955           Well done to Michael for catching my deliberate introduction
12956           of this spelling mistake. 
12957         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12958         * gst/gstelement.h:
12959           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12960           unlink pads before removing the element from the bin.
12961
12962 2005-08-24  Andy Wingo  <wingo@pobox.com>
12963
12964         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12965         the same thing as GST_DEBUG=*:4.
12966         (parse_debug_level, parse_debug_category): New helper parsers.
12967
12968 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12971         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12972         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12973         (gst_base_transform_buffer_alloc),
12974         (gst_base_transform_handle_buffer):
12975           use gboolean return values and pointers to size so we can use the
12976           full GST_BUFFER_SIZE range (guint) for buffer sizes
12977           use GstPadDirection for transform_caps
12978         * gst/base/gstbasetransform.h:
12979           rename get_size to get_unit_size since that's what it is
12980         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12981           use GstPadDirection for transform_caps
12982         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12983         * gst/gstutils.h:
12984           cleanup and debugging
12985
12986 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12987
12988         * gst/gstelement.c: (gst_element_class_init),
12989         (gst_element_set_state), (activate_pads),
12990         (gst_element_save_thyself):
12991         * tools/gst-compprep.c: (main):
12992         * tools/gst-inspect.c: (print_element_properties_info):
12993         * tools/gst-xmlinspect.c: (print_element_properties):
12994           Fixed long standing mem-leak
12995
12996 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12997
12998         * check/gst/gstbin.c: (GST_START_TEST):
12999         * gst/gstbin.c: (bin_bus_handler):
13000         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13001         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13002         (gst_message_new_warning), (gst_message_new_tag),
13003         (gst_message_new_state_changed), (gst_message_new_segment_start),
13004         (gst_message_new_segment_done), (gst_message_new_custom):
13005         * gst/gstmessage.h:
13006         * tools/gst-launch.c: (event_loop):
13007         * tools/gst-md5sum.c: (event_loop):
13008           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13009           that applications can sensibly post custom messages with references
13010           to their own objects.
13011
13012 2005-08-24  Andy Wingo  <wingo@pobox.com>
13013
13014         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13015         already.
13016
13017 2005-08-24  Wim Taymans  <wim@fluendo.com>
13018
13019         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13020         (gst_base_transform_transform_caps),
13021         (gst_base_transform_transform_size),
13022         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13023         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13024         (gst_base_transform_handle_buffer):
13025         * gst/base/gstbasetransform.h:
13026         Many fixes and new features added by Thomas. Can now also do
13027         transforms with variable sizes and a custom fixate_caps function.
13028
13029 2005-08-24  Wim Taymans  <wim@fluendo.com>
13030
13031         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13032         Some debugging.
13033
13034         * gst/gstclock.h:
13035         Cast to ClockTime before formatting to time.
13036
13037         * gst/gstutils.h:
13038         Cleanups.
13039
13040 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13041
13042         * check/gst-libs/controller.c: (GST_START_TEST),
13043         (gst_controller_suite):
13044         * docs/gst/tmpl/gstcaps.sgml:
13045         * docs/gst/tmpl/gstghostpad.sgml:
13046         * docs/gst/tmpl/gstquery.sgml:
13047         * docs/gst/tmpl/gstutils.sgml:
13048         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13049         (gst_object_sink_values), (gst_object_get_value_arrays),
13050         (gst_object_get_value_array):
13051           gracefully handle helper method calls to objects that are not beeing
13052           controlled, added test case for that          
13053
13054 2005-08-23  Wim Taymans  <wim@fluendo.com>
13055
13056         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13057         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13058         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13059         (gst_event_parse_qos), (gst_event_new_seek),
13060         (gst_event_parse_seek):
13061         * gst/gstevent.h:
13062         Some more debugging output and doc cleanups.
13063
13064         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13065         Fix possible deadlock.
13066
13067 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13068
13069         * docs/gst/gstreamer-docs.sgml:
13070         * docs/gst/gstreamer-sections.txt:
13071         * docs/gst/gstreamer.types:
13072         * docs/gst/tmpl/.cvsignore:
13073         * gst/gstbin.h:
13074         * gst/gstbus.c:
13075         * gst/gstelement.c:
13076         * gst/gstevent.h:
13077           added 100 symbols from gstreamer-unused.txt to the right sections
13078           fixed more broken comments
13079           added GstBus to docs
13080
13081 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13082
13083         * docs/gst/gstreamer-sections.txt:
13084         * docs/gst/tmpl/.cvsignore:
13085         * docs/gst/tmpl/gstbin.sgml:
13086         * docs/gst/tmpl/gstbuffer.sgml:
13087         * gst/base/gstbasesrc.c:
13088         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13089         * gst/gstbuffer.c:
13090         * gst/gstbuffer.h:
13091         * tools/gst-launch.1.in:
13092           inlined more doc comments, added missing comments and fixed comments
13093           fixed typos
13094
13095 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13096
13097         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13098           some debugging
13099         * gst/gstcaps.h:
13100           whitespace fixes
13101         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13102           more debugging
13103         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13104         * gst/gststructure.h:
13105           add a fixate function for booleans; add a FIXME that these func
13106           names should probably be gst_structure_fixate_*
13107
13108 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13109
13110         * docs/gst/gstreamer-docs.sgml:
13111         * docs/gst/gstreamer-sections.txt:
13112         * gst/Makefile.am:
13113         * gst/gstbin.c: (gst_bin_get_type),
13114         (gst_bin_child_proxy_get_child_by_index),
13115         (gst_bin_child_proxy_get_children_count),
13116         (gst_bin_child_proxy_init):
13117         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13118         (gst_child_proxy_get_child_by_index),
13119         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13120         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13121         (gst_child_proxy_get), (gst_child_proxy_set_property),
13122         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13123         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13124         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13125         * gst/gstchildproxy.h:
13126         * gst/parse/grammar.y:
13127         * tools/gst-inspect.c: (print_interfaces),
13128         (print_element_properties_info), (print_element_info):
13129           ported gstchildproxy over from 0.8
13130           ported gst-inspect fixes and enhancements over from 0.8
13131
13132 2005-08-22  Wim Taymans  <wim@fluendo.com>
13133
13134         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13135         (gst_base_transform_handle_buffer):
13136         Also call the transform function if we have ANY caps.
13137
13138         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13139         Fix debug info.
13140
13141 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13142
13143         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13144           Don't pretend to handle seek events if the source is not seekable
13145
13146 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13147
13148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13149           Remove extra parameter to debug output
13150
13151         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13152         (gst_base_src_do_seek), (gst_base_src_activate_push):
13153           Fix seek event handling.
13154
13155         * gst/gstpipeline.c: (gst_pipeline_change_state):
13156         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13157         (gst_queue_src_activate_push):
13158           Don't start the src pad task on FLUSH_STOP if the pad
13159           isn't linked.
13160           Debug changes.
13161
13162 2005-08-22  Wim Taymans  <wim@fluendo.com>
13163
13164         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13165         Added check for gst_static_caps_get() refcounting.
13166
13167 2005-08-22  Wim Taymans  <wim@fluendo.com>
13168
13169         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13170         Make _static_caps_get() refcounting sane.
13171         
13172         * gst/gstelement.c: (gst_element_set_state):
13173         Add g_return_val_if_fail() to protect against segfaults.
13174
13175 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13176
13177         * docs/gst/tmpl/gstevent.sgml:
13178         * gst/gstevent.c:
13179         * gst/gstevent.h:
13180           inlined remaining docs, added missing doc comments
13181
13182 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13183
13184         * check/gst/gstbin.c: (GST_START_TEST):
13185           since we don't know when preroll is done, use refcount range
13186           check for the sink
13187         * gst/check/gstcheck.h:
13188           add macro for checking refcount range
13189
13190 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13191
13192         * check/Makefile.am:
13193           clean up environment for when registry gets built versus
13194           when actual tests are run; valgrind seems to not report
13195           leaks if GST_PLUGIN_PATH is set to some specific values
13196         * check/gst/gstbin.c: (GST_START_TEST):
13197           add more refcounting checks; maybe this exposes a
13198           preroll lock bug ?
13199         * common/check.mak:
13200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13201         * gst/check/gstcheck.h:
13202         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13203         (gst_bin_change_state):
13204         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13205           add/fix debugging/whitespace
13206
13207 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13208
13209         * check/gst/gstevent.c: (event_probe), (test_event),
13210         (GST_START_TEST):
13211          Er, don't call gst_bin_watch_for_state_change you idiot.
13212
13213 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13214
13215         * check/Makefile.am:
13216           Use CHECK_CFLAGS and CHECK_LIBS
13217         * check/gst/gstevent.c: (event_probe), (test_event),
13218         (GST_START_TEST):
13219           Don't leak events.
13220         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13221         (gst_base_src_start), (gst_base_src_stop),
13222         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13223         (gst_base_src_change_state):
13224           Sprinkle gst_base_src_stop liberally around error paths to fix
13225           problems reusing a source after failed state changes.
13226         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13227         (helper_find_suggest), (gst_type_find_helper):
13228           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13229         * gst/gstevent.h:
13230         * docs/gst/tmpl/gstevent.sgml:
13231           Migrate part of the docs from the SGML file. Wait for ensonic to
13232           tell me how I did it wrong ;)
13233         * tools/gst-typefind.c: (main):
13234           Extra robustness to state changes between files.
13235
13236 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13237
13238         * check/Makefile.am:
13239           don't valgrind the controller test - it's leaking - Stefan, HELP
13240         * gst/check/gstcheck.c: (gst_check_message_error),
13241         (gst_check_chain_func), (gst_check_setup_element),
13242         (gst_check_teardown_element), (gst_check_setup_src_pad),
13243         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13244         (gst_check_teardown_sink_pad):
13245         * gst/check/gstcheck.h:
13246           add a bunch of methods to set up elements, and src and sink pads
13247         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13248         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13249         (GST_START_TEST):
13250           use them
13251         * gst/gstmessage.c:
13252         * gst/gsttag.h:
13253           whitespace/doc fixes
13254
13255 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13256
13257         * gst/gstelement.h:
13258           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13259           be handled by the application and not always printed as well
13260
13261 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13262
13263         * check/Makefile.am:
13264           set GST_TOOLS_DIR
13265         * gst/check/gstcheck.c: (gst_check_message_error):
13266         * gst/check/gstcheck.h:
13267           add a fail_unless_equals_int
13268           add fail_unless for error messages
13269
13270 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13271
13272         * check/Makefile.am:
13273         * check/gst.supp:
13274         * common/Makefile.am:
13275         * common/check.mak:
13276         * common/gst.supp:
13277           factor out some of the common stuff so we can use it
13278
13279 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13280
13281         * check/Makefile.am:
13282         * check/gst/gstiterator.c: (GST_START_TEST):
13283         * check/gst/gstsystemclock.c: (GST_START_TEST),
13284         (gst_systemclock_suite):
13285         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13286         * gst/gstclock.c:
13287           valgrind more tests
13288
13289 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13290
13291         * check/elements/.cvsignore:
13292         * check/elements/gstfakesrc.c:
13293           rename to name of element
13294         * check/elements/identity.c: (chain_func), (event_func),
13295         (setup_identity), (cleanup_identity), (GST_START_TEST),
13296         (identity_suite), (main):
13297           add a test for identity
13298         * check/Makefile.am:
13299         * pkgconfig/Makefile.am:
13300         * pkgconfig/gstreamer-check.pc.in:
13301         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13302         * gst/check:
13303         * gst/Makefile.am:
13304         * configure.ac:
13305           move the check stuff to a library that gets installed
13306         * check/gst-libs/controller.c: (GST_START_TEST):
13307         * check/gst-libs/gdp.c:
13308         * check/gst/gst.c: (GST_START_TEST):
13309         * check/gst/gstbin.c:
13310         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13311         * check/gst/gstbus.c:
13312         * check/gst/gstcaps.c: (GST_START_TEST):
13313         * check/gst/gstelement.c:
13314         * check/gst/gstghostpad.c:
13315         * check/gst/gstiterator.c:
13316         * check/gst/gstmessage.c:
13317         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13318         * check/gst/gstobject.c:
13319         * check/gst/gstpad.c: (GST_START_TEST):
13320         * check/gst/gststructure.c: (GST_START_TEST):
13321         * check/gst/gstsystemclock.c: (GST_START_TEST),
13322         (gst_systemclock_suite):
13323         * check/gst/gsttag.c: (gst_tag_suite):
13324         * check/gst/gstvalue.c:
13325         * check/pipelines/cleanup.c:
13326         * check/pipelines/simple_launch_lines.c:
13327         * check/states/sinks.c:
13328           change include statement
13329
13330         * docs/gst/gstreamer-sections.txt:
13331         * docs/gst/tmpl/gstpad.sgml:
13332           document more pad stuff
13333         * gst/gstminiobject.c: (gst_mini_object_ref),
13334         (gst_mini_object_unref):
13335           debug refcounting
13336
13337 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13338
13339         * docs/gst/tmpl/gst.sgml:
13340         * gst/gst.c:
13341           eliminate another tmpl file, fix spelling in the long-description
13342
13343 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13344
13345         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13346         (test_event), (timediff), (gstevents_suite):
13347           Should fix build on 64-bit arch's
13348
13349 2005-08-18  Andy Wingo  <wingo@pobox.com>
13350
13351         Make sure that when a pipeline goes to PLAYING, that data has
13352         actually hit the sink.
13353
13354         * check/states/sinks.c (test_sink): A sink that doesn't get any
13355         data shouldn't return SUCCESS for going to either PLAYING or
13356         PAUSED. Test also the return values on the way back down.
13357
13358         * gst/gstelement.c (gst_element_set_state): When changing the
13359         state of an element currently changing state asynchronously, go to
13360         lost-state after commiting the pending state. Makes future calls
13361         to get_state continue to return ASYNC.
13362
13363         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13364         ASYNC when going to PLAYING if we still don't have preroll, as can
13365         happen with live sources.
13366
13367 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13368
13369         * docs/pwg/advanced-types.xml:
13370           Hack long paragraph into 2 chunks as a workaround for buggy
13371           jadetex version in sid and breezy that loops infinitely and
13372           eats all RAM.
13373
13374 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13375
13376         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13377         (test_event), (timediff), (gstevents_suite):
13378           Provide more error margin in clock measurements to allow for 
13379           g_get_current_time inaccuracies.
13380
13381 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13382
13383         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13384         (test_event), (timediff), (gstevents_suite):
13385            Fix error message output so I might be able to tell why the
13386            test works here but fails on the build farm.
13387
13388 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13389
13390         * check/Makefile.am:
13391         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13392         (test_event), (timediff), (gstevents_suite), (main):
13393           I wrote a test!
13394
13395         * docs/design/part-seeking.txt:
13396           Spelling correction
13397
13398         * docs/gst/tmpl/gstevent.sgml:
13399         * docs/gst/tmpl/gstfakesrc.sgml:
13400           Docs updates.
13401
13402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13403           Treat a buffer-without-newsegment the same as a receiving 
13404           a newsegment not in time format, and disable syncing to the clock
13405           with a warning.
13406
13407         * gst/gstbus.c: (gst_bus_set_sync_handler):
13408           Assert if anyone tries to replace the existing sync_handler for bus, 
13409           as only the owner should be setting it.
13410
13411         * gst/gstevent.h:
13412           Have a fixed set of custom event enums with events identified by
13413           their structure name (as in 0.8), rather than a free-for-all
13414           allowing collisions between enum values from different plugins.
13415
13416         * gst/gstpad.c: (gst_pad_class_init):
13417           Docs change.
13418           
13419         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13420           Handle out-of-band downstream events from the sending thread.
13421
13422 2005-08-17  Andy Wingo  <wingo@pobox.com>
13423
13424         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13425         play-timeout==0 to mean no timeout at all. In that case, don't
13426         bother with a get_state or a warning, just return directly, even
13427         if it's ASYNC.
13428
13429         * gst/base/gstbasetransform.c: Debug changes.
13430
13431         * gst/gstutils.h:
13432         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13433         ensure bins post state change messages. A bit of a hack but I can't
13434         think of a way to avoid it.
13435
13436         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13437
13438 2005-08-16  Andy Wingo  <wingo@pobox.com>
13439
13440         * gst/base/gstadapter.h:
13441         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13442         peek() but you own the data. Not terribly efficient atm.
13443
13444 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13445
13446         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13447         (gst_element_found_tags):
13448         * gst/gstutils.h:
13449           Add two utility functions for tag handling.
13450
13451 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13452
13453         * docs/manual/advanced-dataaccess.xml:
13454         * docs/manual/basics-helloworld.xml:
13455           Fix docs to use _bin_add() before _link(), which fixes the examples
13456           with recent core versions (reported by Madhan Raj M
13457           <raj_madan@rediffmail.com>, #313199).
13458
13459 2005-08-16  Wim Taymans  <wim@fluendo.com>
13460
13461         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13462         Added subtract checks.
13463
13464         * docs/design/part-events.txt:
13465         Some more docs about newsegment
13466
13467         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13468         Fix FIXME
13469
13470         * gst/gstcaps.c: (gst_caps_to_string):
13471         Add comments, cleanups.
13472         
13473         * gst/gstelement.c: (gst_element_save_thyself):
13474         cleanups
13475         
13476         * gst/gstvalue.c: (gst_value_collect_int_range),
13477         (gst_string_unwrap), (gst_value_union_int_int_range),
13478         (gst_value_union_int_range_int_range),
13479         (gst_value_intersect_int_int_range),
13480         (gst_value_intersect_int_range_int_range),
13481         (gst_value_intersect_double_double_range),
13482         (gst_value_intersect_double_range_double_range),
13483         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13484         (gst_value_subtract_int_range_int),
13485         (gst_value_subtract_double_range_double),
13486         (gst_value_subtract_double_range_double_range),
13487         (gst_value_subtract_from_list), (gst_value_subtract_list),
13488         (gst_value_can_compare), (gst_value_compare_fraction):
13489         Cleanups, add comments, remove unneeded asserts.
13490
13491 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13492
13493         * tools/gst-launch.c: (event_loop):
13494           don't convert NULL structures to strings
13495
13496 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13497
13498         * docs/gst/gstreamer-sections.txt:
13499           made some defines private
13500         * docs/gst/tmpl/gstconfig.sgml:
13501         * docs/gst/tmpl/gstqueue.sgml:
13502         * docs/gst/tmpl/gsttaglist.sgml:
13503         * docs/gst/tmpl/gsttypes.sgml:
13504         * docs/gst/tmpl/gstutils.sgml:
13505         * docs/pwg/appendix-porting.xml:
13506         * gst/base/gstbasesink.h:
13507         * gst/base/gstbasesrc.c:
13508         * gst/base/gstbasesrc.h:
13509         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13510         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13511         * gst/gstelement.c: (gst_element_class_init):
13512         * gst/gstpad.c: (gst_pad_class_init):
13513         * gst/gstqueue.c: (gst_queue_class_init):
13514         * gst/gstxml.c: (gst_xml_class_init):
13515           documented all undocumented signal inline
13516         * libs/gst/controller/gst-controller.h:
13517           added padding
13518
13519 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13520
13521         * docs/pwg/appendix-porting.xml:
13522           Document _set_link_function -> _set_setcaps_function.
13523
13524 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13525
13526         * check/Makefile.am:
13527           add a .check target for running the check
13528         * check/gst-libs/controller.c: (GST_START_TEST):
13529           cosmetic fixups
13530         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13531           complete checks for gstbuffer; would be nice if I could get the
13532           gcov stuff to work so I can see if I actually completed gstbuffer.c
13533         * check/gstcheck.h:
13534           add ASSERT_BUFFER_REFCOUNT
13535
13536 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13537
13538         * docs/gst/gstreamer-sections.txt:
13539         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13540         * gst/gsttag.h:
13541           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13542           spew out a warning if a tag that is already registered
13543           is re-registered, unless it is re-registered with a 
13544           different type (#308438).
13545
13546 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13547
13548         * docs/pwg/appendix-porting.xml:
13549         * docs/pwg/building-state.xml:
13550           Add some paragraphs about state changes in 0.9 to the PWG
13551           and the porting guide, in particular about the new meaning
13552           of GST_STATE_PAUSED and how to write state change functions
13553           with concurrent access by multiple threads in mind.
13554
13555 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13556
13557         * docs/gst/gstreamer-docs.sgml:
13558         * docs/libs/gstreamer-libs-docs.sgml:
13559           added deprecation and since indexes
13560         * libs/gst/controller/gst-controller.c:
13561         * libs/gst/controller/gst-helper.c:
13562           added since tags
13563
13564
13565 2005-08-11  Wim Taymans  <wim@fluendo.com>
13566
13567         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13568         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13569         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13570         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13571         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13572         (gst_ghost_pad_set_target):
13573         Actually implement (re)setting the target on a ghostpad
13574         as described in the docs.
13575
13576 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13577
13578         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13579           Check whether GST_DEBUG_NO_COLOR environment variable is
13580           set and disable coloured debug output if that is the case.
13581
13582 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13583
13584         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13585         (gst_type_find_helper):
13586           The memory returned by gst_type_find_peek() needs to
13587           stay valid until the end of a typefind function, and
13588           typefind functions may keep results from different 
13589           offsets around, so we can't just unref the buffer from
13590           the previous _peek(), but have to save all buffers 
13591           returned by _peek() until typefinding is done and only
13592           free them then.
13593
13594 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13595
13596         * docs/gst/gstreamer-sections.txt:
13597         * gst/gstutils.h:
13598           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13599
13600 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13601
13602         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13603           Fix a pretty good memleak.
13604
13605 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13606
13607         * gst/gstiterator.h:
13608           Fix wrong include and 'make distcheck'.
13609
13610 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13611
13612         * gst/gstbin.c: (bin_bus_handler):
13613           Use gst_element_post_message() instead.
13614
13615 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13616
13617         * gst/base/gstadapter.h:
13618         * gst/base/gstbasesink.h:
13619         * gst/base/gstbasesrc.h:
13620         * gst/base/gstbasetransform.h:
13621         * gst/base/gstcollectpads.h:
13622         * gst/base/gstpushsrc.h:
13623         * gst/gstiterator.h:
13624           Add padding to our base elements' class and instance structs and
13625           to GstIterator (you will need to rebuild all plugins and apps!)
13626
13627 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13628
13629         * gst/gstbin.c: (bin_bus_handler):
13630           Make default message forwarding from child->bus to bin->bus
13631           threadsafe and make it not emit warnings if the parent has no bus.
13632
13633 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13634
13635         * gst/gstelement.c: (activate_pads):
13636           On paused->ready, set pad->caps to NULL, as is the documented
13637           behaviour in this state change. Fixes playback of series of
13638           media files when visualization is enabled in Totem.
13639
13640 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13641
13642         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13643           Allow NULL as filter-caps (which means "any").
13644
13645 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13646
13647         * docs/libs/gstreamer-libs-sections.txt:
13648         * libs/gst/controller/gst-controller.c:
13649         * libs/gst/controller/gst-controller.h:
13650         * libs/gst/controller/gst-helper.c:
13651           adding more entries to the docs and fix small doc-bugs
13652
13653 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13654
13655         * docs/gst/gstreamer-docs.sgml:
13656         * docs/gst/gstreamer-sections.txt:
13657         * docs/gst/gstreamer.types:
13658         * docs/gst/tmpl/gstbasesink.sgml:
13659         * docs/gst/tmpl/gstbasesrc.sgml:
13660         * docs/gst/tmpl/gstbasetransform.sgml:
13661         * docs/gst/tmpl/gstfakesrc.sgml:
13662         * gst/base/gstcollectpads.c:
13663         * gst/base/gstcollectpads.h:
13664         * libs/gst/controller/gst-controller.c:
13665         * libs/gst/controller/gst-controller.h:
13666         * libs/gst/controller/gst-helper.c:
13667         * libs/gst/controller/gst-interpolation.c:
13668         * libs/gst/controller/lib.c:
13669           added long/short desc for controller docs
13670           added collectpads base class docs
13671           added correct includes to base-class docs
13672
13673 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13674
13675         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13676         (gst_test_mono_source_set_property),
13677         (gst_test_mono_source_class_init), (GST_START_TEST),
13678         (gst_controller_suite):
13679         * docs/gst/gstreamer-docs.sgml:
13680         * docs/gst/gstreamer-sections.txt:
13681         * docs/gst/gstreamer.types:
13682         * docs/libs/gstreamer-libs-docs.sgml:
13683         * docs/libs/gstreamer-libs-sections.txt:
13684         * gst/base/gstadapter.c:
13685         * libs/gst/controller/gst-controller.c:
13686         (gst_controlled_property_new), (gst_controlled_property_free),
13687         (gst_controller_new_valist),
13688         (gst_controller_remove_properties_valist),
13689         (gst_controller_sink_values), (_gst_controller_finalize):
13690         * libs/gst/controller/gst-controller.h:
13691         * libs/gst/controller/gst-helper.c:
13692         (gst_object_control_properties), (gst_object_uncontrol_properties),
13693         (gst_object_get_controller), (gst_object_set_controller),
13694         (gst_object_sink_values), (gst_object_get_value_arrays),
13695         (gst_object_get_value_array):
13696           more tests (and fixes) for the controller
13697           more docs for the controller
13698           integrated companies docs for the adapter 
13699
13700 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13701
13702         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13703         (GST_START_TEST), (fakesrc_suite):
13704           add tests for sizetype
13705
13706 2005-08-04  Andy Wingo  <wingo@pobox.com>
13707
13708         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13709         fixes buffer_alloc proxying among other things.
13710
13711         * gst/base/gstbasetransform.c:
13712         * gst/base/gstbasetransform.h:
13713         Revert patch to gstbasetransform from 7-28 removing
13714         delay_configure.
13715
13716         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13717         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13718         Semantics changed, should return not the size of the output buffer
13719         but the byte size of a buffer with a given caps.
13720
13721         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13722         debug object.
13723         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13724         out) are not the pad caps until setcaps finishes.
13725         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13726         not-in-place case as well. Deal with changing from in-place to
13727         not-in-place within calling pad_alloc_buffer. Still a bit
13728         concerned about the overhead here...
13729
13730 2005-08-03  Andy Wingo  <wingo@pobox.com>
13731
13732         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13733         fixating is an error.
13734
13735 2005-08-04  Edward Hervey  <edward@fluendo.com>
13736
13737         * gst/base/gstadapter.h: 
13738         Added gst_adapter_get_type() to the header
13739
13740 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13741
13742         * check/Makefile.am:
13743         * check/gst-libs/controller.c:
13744         * libs/gst/controller/gst-controller.c:
13745         (gst_controller_new_valist):
13746           added check test suite for the controller
13747         * gst/base/gstpushsrc.c:
13748           fixed a doc typo
13749
13750 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13751
13752         * docs/gst/Makefile.am:
13753         * docs/gst/gstreamer-docs.sgml:
13754         * docs/gst/gstreamer-sections.txt:
13755         * docs/gst/gstreamer.types:
13756         * docs/gst/tmpl/gstfakesrc.sgml:
13757         * gst/base/README:
13758         * gst/base/gstbasesink.c:
13759         * gst/base/gstbasesink.h:
13760         * gst/base/gstbasesrc.c:
13761         * gst/base/gstbasesrc.h:
13762         * gst/base/gstbasetransform.c:
13763         * gst/base/gstpushsrc.c:
13764         * gst/base/gstpushsrc.h:
13765           add short/long description docs to base classes
13766           add pushsrc to the docs
13767           remove consolidated doc fragments
13768
13769 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13770
13771         * configure.ac:
13772         * docs/libs/Makefile.am:
13773         * docs/libs/gstreamer-libs-docs.sgml:
13774         * docs/libs/gstreamer-libs-sections.txt:
13775         * docs/libs/gstreamer-libs.types:
13776         * examples/Makefile.am:
13777         * examples/controller/.cvsignore:
13778         * examples/controller/Makefile.am:
13779         * examples/controller/audio-example.c: (main):
13780         * libs/gst/Makefile.am:
13781         * libs/gst/controller/.cvsignore:
13782         * libs/gst/controller/Makefile.am:
13783         * libs/gst/controller/gst-controller.c:
13784         (on_object_controlled_property_changed), (gst_timed_value_compare),
13785         (gst_timed_value_find),
13786         (gst_controlled_property_set_interpolation_mode),
13787         (gst_controlled_property_new), (gst_controlled_property_free),
13788         (gst_controller_find_controlled_property),
13789         (gst_controller_new_valist), (gst_controller_new),
13790         (gst_controller_remove_properties_valist),
13791         (gst_controller_remove_properties), (gst_controller_set),
13792         (gst_controller_set_from_list), (gst_controller_unset),
13793         (gst_controller_get), (gst_controller_get_all),
13794         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13795         (gst_controller_get_value_array),
13796         (gst_controller_set_interpolation_mode),
13797         (_gst_controller_finalize), (_gst_controller_init),
13798         (_gst_controller_class_init), (gst_controller_get_type):
13799         * libs/gst/controller/gst-controller.h:
13800         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13801         (g_object_uncontrol_properties), (g_object_get_controller),
13802         (g_object_set_controller), (g_object_sink_values),
13803         (g_object_get_value_arrays), (g_object_get_value_array):
13804         * libs/gst/controller/gst-interpolation.c:
13805         (gst_controlled_property_find_timed_value_node),
13806         (interpolate_none_get), (interpolate_trigger_get),
13807         (interpolate_trigger_get_value_array):
13808         * libs/gst/controller/lib.c: (gst_controller_init):
13809         * pkgconfig/Makefile.am:
13810         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13811         * pkgconfig/gstreamer-control.pc.in:
13812         * testsuite/Makefile.am:
13813         * testsuite/controller/.cvsignore:
13814         * testsuite/controller/Makefile.am:
13815         * testsuite/controller/interpolator.c: (main):
13816           added controller code
13817           removed dparam pc files
13818
13819 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13820         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13821         (gst_collectpads_stop):
13822           Broadcast the condition when shutting down, to make sure we wake all
13823           threads up. Shut down pads on finalize, for safety.
13824
13825 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13826         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13827         (gst_base_transform_handle_buffer),
13828         (gst_base_transform_change_state):
13829           Handle PAUSED->READY->PAUSED transition after negotiation
13830           occurred already.
13831         * gst/gstmessage.c: (gst_message_init):
13832           Extra piece of debug for new messages.
13833
13834 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13835
13836         * configure.ac:
13837         * docs/gst/tmpl/gstbasesrc.sgml:
13838         * docs/gst/tmpl/gstelement.sgml:
13839         * docs/gst/tmpl/gstevent.sgml:
13840         * docs/gst/tmpl/gstfakesrc.sgml:
13841         * docs/gst/tmpl/gstformat.sgml:
13842         * docs/gst/tmpl/gstghostpad.sgml:
13843         * docs/gst/tmpl/gstpad.sgml:
13844         * docs/gst/tmpl/gstquery.sgml:
13845         * docs/gst/tmpl/gststructure.sgml:
13846         * docs/gst/tmpl/gsttaglist.sgml:
13847         * docs/gst/tmpl/gstvalue.sgml:
13848         * docs/libs/gstreamer-libs-docs.sgml:
13849         * docs/libs/gstreamer-libs-sections.txt:
13850         * docs/libs/gstreamer-libs.types:
13851         * libs/gst/Makefile.am:
13852         * libs/gst/control/.cvsignore:
13853         * libs/gst/control/Makefile.am:
13854         * libs/gst/control/control.c:
13855         * libs/gst/control/control.h:
13856         * libs/gst/control/dparam.c:
13857         * libs/gst/control/dparam.h:
13858         * libs/gst/control/dparam_smooth.c:
13859         * libs/gst/control/dparam_smooth.h:
13860         * libs/gst/control/dparamcommon.h:
13861         * libs/gst/control/dparammanager.c:
13862         * libs/gst/control/dparammanager.h:
13863         * libs/gst/control/dplinearinterp.c:
13864         * libs/gst/control/dplinearinterp.h:
13865         * libs/gst/control/unitconvert.c:
13866         * libs/gst/control/unitconvert.h:
13867         * testsuite/Makefile.am:
13868         * testsuite/dynparams/.cvsignore:
13869         * testsuite/dynparams/Makefile.am:
13870         * testsuite/dynparams/dparamstest.c:
13871         * tools/Makefile.am:
13872         * tools/gst-inspect.c: (print_element_info), (main):
13873         * tools/gst-xmlinspect.c: (print_element_info), (main):
13874           deactivate and remove dparams (libgstcontrol)
13875
13876 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13877
13878         * gst/elements/gsttypefindelement.c:
13879         (gst_type_find_element_have_type), (gst_type_find_element_init),
13880         (stop_typefinding), (gst_type_find_element_handle_event),
13881         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13882         * gst/elements/gsttypefindelement.h:
13883           Set caps on all outgoing buffers, not just the first one.
13884
13885 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13886
13887         * gst/elements/gsttypefindelement.c:
13888         (gst_type_find_element_have_type),
13889         (gst_type_find_element_check_set_buffer_caps),
13890         (gst_type_find_element_init), (stop_typefinding),
13891         (gst_type_find_element_handle_event),
13892         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13893         * gst/elements/gsttypefindelement.h:
13894           Set caps on first outgoing buffer when we've found the type.
13895
13896 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13897
13898         * docs/gst/gstreamer-docs.sgml:
13899         * docs/gst/gstreamer-sections.txt:
13900         * docs/gst/tmpl/gstscheduler.sgml:
13901         * docs/gst/tmpl/gstschedulerfactory.sgml:
13902           Remove some old cruft from docs.
13903
13904 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13905
13906         * gst/gstpad.h:
13907           Fix inline docs for GstPadLinkReturn.
13908           
13909         * gst/gststructure.c: (gst_structure_has_name):
13910         * gst/gststructure.h:
13911         * docs/gst/gstreamer-sections.txt:
13912           New API: gst_structure_has_name().
13913
13914 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13915
13916         * configure.ac:
13917           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13918           and _LARGEFILE_SOURCE in config.h as required. Do not 
13919           export those flags in our .pc files any longer (#142209).
13920
13921           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13922
13923         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13924         (gst_file_sink_do_seek), (gst_file_sink_event),
13925         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13926           Redo seek/tell calls with large file support in mind; add some
13927           debugging messages; add log message that tells us when large
13928           file support is unavailable or not enabled for some reason.
13929
13930         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13931           Add log message that tells us when large file support 
13932           is unavailable or not enabled for some reason.
13933
13934 2005-07-29  Wim Taymans  <wim@fluendo.com>
13935
13936         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13937         Added test for removing an element with ghostpad from a bin.
13938         Fixed test as current implementation does the right thing.
13939
13940         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13941         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13942         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13943         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13944         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13945         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13946         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13947         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13948         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13949         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13950         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13951         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13952         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13953         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13954         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13955         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13956         * gst/gstghostpad.h:
13957         Clean up ghostpads, remove properties for internal stuff.
13958         Make threadsafe.
13959         Fix refcounting.
13960         Prepare for switching targets, not all use cases work yet.
13961
13962 2005-07-29  Wim Taymans  <wim@fluendo.com>
13963
13964         * docs/design/part-gstghostpad.txt:
13965         Small update.
13966
13967         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13968         (gst_bin_remove_func):
13969         Unlinking pads while holding the bin LOCK is not a good
13970         idea.
13971
13972         * gst/gstpad.c: (gst_pad_class_init),
13973         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13974         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13975         No prob setting template after creating the pad.
13976
13977 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13978
13979         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13980         (gst_bus_peek), (gst_bus_source_dispatch),
13981         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13982         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13983           gst_bus_poll may be called from other threads. Handle
13984           this nicely by not making poll_data disappear off the
13985           stack once gst_bus_poll returns.
13986           gst_bus_peek now increments the refcount on the returned
13987           message.
13988
13989 2005-07-29  Wim Taymans  <wim@fluendo.com>
13990
13991         * docs/design/part-gstghostpad.txt:
13992         Overview of current GhostPad datastructures and use
13993         cases for changing the target.
13994
13995 2005-07-28  Wim Taymans  <wim@fluendo.com>
13996
13997         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13998         Added checks for hierarchy consistency whan adding linked
13999         elements to bins.
14000
14001         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14002         Added check to test element scheduling without bin/pipeline.
14003
14004         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14005         First add elements to bin, then link.
14006         
14007         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14008         (gst_bin_remove_func):
14009         Unlink pads from elements added/removed from bin to maintain
14010         hierarchy consistency.
14011
14012 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14013
14014         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14015         (gst_base_transform_handle_buffer):
14016         * gst/base/gstbasetransform.h:
14017           Remove broken delay_configure (fixes renegotiation of software
14018           scaling pipelines); remove some leftover printf()s.
14019
14020 2005-07-28  Wim Taymans  <wim@fluendo.com>
14021
14022         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14023         Added some more tests for wrong hierarchy
14024
14025         * docs/design/part-overview.txt:
14026         Some updates.
14027
14028         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14029         Cleanups.
14030
14031         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14032         (gst_element_dispose):
14033         Some more cleanups.
14034
14035         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14036         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14037         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14038         (gst_pad_set_caps), (gst_pad_send_event):
14039         Check for correct hierarchy when linking pads. Moving to
14040         strict requirement for ghostpads when linking elements in
14041         different bins.
14042
14043         * gst/gstpad.h:
14044         Clean ups. Added WRONG_HIERARCHY return value.
14045
14046 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14047
14048         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14049           Better debug if no transform is possible.
14050
14051 2005-07-27  Wim Taymans  <wim@fluendo.com>
14052
14053         * docs/random/wtay/network-transp:
14054         Some old doc I had.
14055
14056 2005-07-27  Wim Taymans  <wim@fluendo.com>
14057
14058         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14059         (gst_dp_event_from_packet):
14060         Fix serialization of seek events.
14061
14062 2005-07-27  Wim Taymans  <wim@fluendo.com>
14063
14064         * check/gst-libs/gdp.c: (GST_START_TEST):
14065         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14066         Fix compilation and fix event serialization.
14067
14068 2005-07-27  Wim Taymans  <wim@fluendo.com>
14069
14070         * CHANGES-0.9:
14071         * docs/design/part-TODO.txt:
14072         * docs/design/part-events.txt:
14073         Some docs updates
14074
14075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14076         (gst_base_sink_event), (gst_base_sink_do_sync),
14077         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14078         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14079         (gst_base_src_do_seek), (gst_base_src_event_handler),
14080         (gst_base_src_loop):
14081         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14082         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14083         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14084         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14085         (gst_base_transform_set_passthrough),
14086         (gst_base_transform_is_passthrough):
14087         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14088         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14089         Event updates.
14090
14091         * gst/gstbuffer.h:
14092         Use faster casts.
14093
14094         * gst/gstelement.c: (gst_element_seek):
14095         * gst/gstelement.h:
14096         Update gst_element_seek.
14097
14098         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14099         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14100         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14101         (gst_event_new_eos), (gst_event_new_newsegment),
14102         (gst_event_parse_newsegment), (gst_event_new_tag),
14103         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14104         (gst_event_parse_qos), (gst_event_new_seek),
14105         (gst_event_parse_seek), (gst_event_new_navigation):
14106         * gst/gstevent.h:
14107         Make GstEvent use GstStructure. Add parsing code, make sure the
14108         API is sufficiently generic.
14109         Mark possible directions of events and serialization.
14110
14111         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14112         (_gst_message_copy), (gst_message_new_segment_start),
14113         (gst_message_new_segment_done), (gst_message_new_custom),
14114         (gst_message_parse_segment_start),
14115         (gst_message_parse_segment_done):
14116         Small cleanups.
14117
14118         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14119         (gst_pad_set_caps), (gst_pad_send_event):
14120         Update for new events. 
14121         Catch events sent in wrong directions.
14122
14123         * gst/gstqueue.c: (gst_queue_link_src),
14124         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14125         (gst_queue_handle_src_query):
14126         Event updates.
14127
14128         * gst/gsttag.c:
14129         * gst/gsttag.h:
14130         Remove event code from this file.
14131
14132         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14133         (gst_dp_event_from_packet):
14134         Event updates.
14135
14136 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14137
14138         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14139         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14140         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14141           Make debugging actually useful.
14142
14143 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14144
14145         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14146         (gst_pad_fixate_caps):
14147           Implement default fixation once again, so that gst_pad_fixate()
14148           actually does anything at all. This probably needs to be some
14149           sort of a last resort, and use profile-based fixation first, but
14150           since that doesn't exist yet, this is the best we have. Fixes
14151           visualization in Totem.
14152
14153 2005-07-22  Wim Taymans  <wim@fluendo.com>
14154
14155         * docs/design/part-events.txt:
14156         Small update.
14157
14158         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14159         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14160         (gst_base_sink_activate_pull):
14161         Some more comments.
14162
14163         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14164         (gst_fake_src_create):
14165         Fix handoff marshall.
14166
14167         * gst/elements/gstidentity.c: (gst_identity_class_init),
14168         (gst_identity_transform_ip):
14169         We're a real inplace element.
14170
14171         * gst/gstbus.c: (gst_bus_post):
14172         Added some comments.
14173
14174         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14175         * tests/muxing/case1.c: (main):
14176         * tests/sched/dynamic-pipeline.c: (main):
14177         * tests/sched/interrupt1.c: (main):
14178         * tests/sched/interrupt2.c: (main):
14179         * tests/sched/interrupt3.c: (main):
14180         * tests/sched/runxml.c: (main):
14181         * tests/sched/sched-stress.c: (main):
14182         * tests/seeking/seeking1.c: (event_received), (main):
14183         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14184         (main):
14185         * tests/threadstate/threadstate3.c: (main):
14186         * tests/threadstate/threadstate4.c: (main):
14187         * tests/threadstate/threadstate5.c: (main):
14188         Fix the tests.
14189
14190 2005-07-21  Wim Taymans  <wim@fluendo.com>
14191
14192         * docs/design/part-seeking.txt:
14193         Some small additions.
14194
14195         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14196         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14197         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14198         * gst/base/gstbasesink.h:
14199         discont values are gint64, handle the math correctly.
14200
14201         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14202         Make the basesrc report error if the source pad is not linked.
14203
14204         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14205         (gst_queue_loop), (gst_queue_handle_src_query),
14206         (gst_queue_src_activate_push):
14207         Make queue collect data even if the srcpad is not linked.
14208         Start pushing out data as soon as it is linked.
14209
14210         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14211         * gst/gstutils.h:
14212         Added gst_flow_get_name() to ease error reporting.
14213
14214 2005-07-20  Wim Taymans  <wim@fluendo.com>
14215
14216         * gst/gstmessage.c: (gst_message_new_segment_start),
14217         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14218         (gst_message_parse_segment_done):
14219         * gst/gstmessage.h:
14220         Added a bunch of messages for advanced seeking.
14221
14222         * gst/parse/grammar.y:
14223         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14224         (gst_dpman_state_changed):
14225         Fix some new-pad -> pad-added signals
14226
14227 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14228
14229         * docs/manual/appendix-porting.xml:
14230         * docs/pwg/appendix-porting.xml:
14231           Document new-pad/state-change signal renames and the FixedList
14232           type rename.
14233
14234 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14235
14236         * docs/manual/advanced-autoplugging.xml:
14237         * docs/manual/basics-helloworld.xml:
14238         * docs/manual/basics-pads.xml:
14239         * docs/random/ds/0.9-suggested-changes:
14240         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14241         * gst/gstelement.h:
14242         * gst/gstevent.h:
14243         * gst/gstformat.h:
14244         * gst/gstquery.h:
14245         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14246         (gst_structure_parse_array), (gst_structure_parse_value):
14247         * gst/gstvalue.c: (gst_type_is_fixed),
14248         (gst_value_list_prepend_value), (gst_value_list_append_value),
14249         (gst_value_list_get_size), (gst_value_list_get_value),
14250         (gst_value_transform_array_string), (gst_value_serialize_array),
14251         (gst_value_deserialize_array), (gst_value_intersect_array),
14252         (gst_value_is_fixed), (_gst_value_initialize):
14253         * gst/gstvalue.h:
14254           GstElement::new-pad -> pad-added, GstElement::state-change ->
14255           state-changed, GstValueFixedList -> GstValueArray, add format and
14256           flags as their own arguments in gst_element_seek() (should improve
14257           "bindeability"), remove function generators since they don't work
14258           under a whole bunch of compilers (they were deprecated already
14259           anyway).
14260
14261 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14262
14263         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14264         (_gst_debug_register_funcptr):
14265         * gst/gstinfo.h:
14266           Fix illegal cast on some platforms (#309253).
14267
14268 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14269
14270         * gst/gstmessage.c: (gst_message_new_custom):
14271         * gst/gstmessage.h:
14272           Add _new_custom, make _new_application a macro to _new_custom.
14273
14274 2005-07-20  Wim Taymans  <wim@fluendo.com>
14275
14276         * gst/base/gstbasesrc.c: (gst_base_src_init),
14277         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14278         * gst/base/gstbasesrc.h:
14279         Add a gboolean to decide when to push out a discont.
14280
14281         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14282         (gst_queue_loop), (gst_queue_handle_src_query),
14283         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14284         (gst_queue_set_property), (gst_queue_get_property):
14285         Some cleanups.
14286
14287         * tests/threadstate/threadstate1.c: (main):
14288         Make a thread test compile and run... very silly..
14289
14290
14291 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14292
14293         * docs/manual/appendix-porting.xml:
14294           Mention removal of libgstgconf-0.9.la and existence of gconf
14295           elements.
14296
14297 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14298
14299         * docs/pwg/advanced-clock.xml:
14300         * docs/pwg/appendix-porting.xml:
14301         * docs/pwg/intro-preface.xml:
14302         * docs/pwg/other-base.xml:
14303         * docs/pwg/other-manager.xml:
14304         * docs/pwg/other-nton.xml:
14305         * docs/pwg/other-ntoone.xml:
14306         * docs/pwg/other-oneton.xml:
14307         * docs/pwg/pwg.xml:
14308           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14309           demuxer), remove n-to-n (was never written), fix some code examples
14310           and links and update the porting section to include all this.
14311
14312 2005-07-19  Wim Taymans  <wim@fluendo.com>
14313
14314         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14315         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14316         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14317         (gst_queue_src_activate_push), (gst_queue_change_state),
14318         (gst_queue_get_property):
14319         * gst/gstqueue.h:
14320         Propagate GstFlowReturn more intelligently upstream and output
14321         an ERROR/EOS when streaming stopped due to fatal error.
14322
14323 2005-07-19  Wim Taymans  <wim@fluendo.com>
14324
14325         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14326         Don't block forever for the state change to complete, the
14327         pipeline already did with a sensible timeout.
14328
14329 2005-07-19  Wim Taymans  <wim@fluendo.com>
14330
14331         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14332         Make sure we never call the create function is we
14333         got deactivated.
14334
14335 2005-07-19  Andy Wingo  <wingo@pobox.com>
14336
14337         * gst/parse/parse.l: Attempt to solve bug #172815.
14338
14339 2005-07-19  Wim Taymans  <wim@fluendo.com>
14340
14341         * docs/design/part-clocks.txt:
14342         * docs/design/part-events.txt:
14343         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14344         Small docs updates.
14345         Only update the seeking values when we are not
14346         busy streaming.
14347
14348 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14349
14350         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14351           Oops, ignore the result of gst_pad_push_event here.
14352
14353 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14354
14355         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14356         (gst_base_src_activate_push):
14357           Send discont event from the loop function, as pads
14358           aren't activated yet in the activate_push handler.
14359
14360         * gst/gstbin.c: (bin_bus_handler):
14361           Don't leak element name.
14362
14363 2005-07-18  Andy Wingo  <wingo@pobox.com>
14364
14365         * configure.ac: Use AS_LIBTOOL_TAGS.
14366
14367 2005-07-18  Wim Taymans  <wim@fluendo.com>
14368
14369         * docs/gst/gstreamer.types:
14370         Remove deleted types.
14371
14372 2005-07-18  Wim Taymans  <wim@fluendo.com>
14373
14374         * check/elements/gstfakesrc.c: (GST_START_TEST):
14375         * configure.ac:
14376         * gst/Makefile.am:
14377         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14378         (init_popt_callback):
14379         * gst/gst.h:
14380         * gst/gst_private.h:
14381         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14382         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14383         * gst/gstbin.h:
14384         * gst/gstbus.h:
14385         * gst/gstconfig.h.in:
14386         * gst/gstelement.c: (gst_element_class_init),
14387         (gst_element_set_base_time), (gst_element_get_base_time),
14388         (iterator_fold_with_resync), (gst_element_change_state),
14389         (gst_element_dispose), (gst_element_get_bus):
14390         * gst/gstelement.h:
14391         * gst/gstelementfactory.h:
14392         * gst/gsterror.c: (_gst_core_errors_init):
14393         * gst/gsterror.h:
14394         * gst/gstevent.h:
14395         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14396         * gst/gstindex.c:
14397         * gst/gstinfo.c: (_gst_debug_init):
14398         * gst/gstmessage.c: (_gst_message_copy):
14399         * gst/gstmessage.h:
14400         * gst/gstminiobject.h:
14401         * gst/gstobject.c:
14402         * gst/gstobject.h:
14403         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14404         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14405         * gst/gstpad.h:
14406         * gst/gstparse.h:
14407         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14408         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14409         (gst_pipeline_get_last_stream_time):
14410         * gst/gstpipeline.h:
14411         * gst/gstpluginfeature.h:
14412         * gst/gstquery.h:
14413         * gst/gstscheduler.c:
14414         * gst/gstscheduler.h:
14415         * gst/gststructure.h:
14416         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14417         (gst_task_finalize), (gst_task_func), (gst_task_create),
14418         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14419         (gst_task_stop), (gst_task_pause):
14420         * gst/gsttask.h:
14421         * gst/gsttypefind.h:
14422         * gst/gsttypes.h:
14423         * gst/registries/gstlibxmlregistry.c: (load_feature),
14424         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14425         * gst/registries/gstxmlregistry.c:
14426         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14427         * gst/schedulers/threadscheduler.c:
14428         * libs/gst/control/dparammanager.h:
14429         * tools/gst-inspect.c: (print_element_list),
14430         (print_plugin_features), (print_element_features):
14431         * tools/gst-xmlinspect.c: (print_element_list),
14432         (print_plugin_info), (main):
14433         Removed plugable schedulers.
14434         Removed Scheduler/Manager from elements.
14435         Removed gsttypes.h, rearranged includes.
14436         Removed dependency pad<->element, element<>pipeline, and
14437         various others,  fix includes.
14438         implement gst_pad_get_parent() with gst_object_get_parent()
14439         Make GstTask sefcontained.
14440         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14441         timeout.
14442         Fix endless loop in iterator_fold_with_resync.
14443
14444
14445 2005-07-18  Wim Taymans  <wim@fluendo.com>
14446
14447         * gst/Makefile.am:
14448         * gst/gstarch.h:
14449         Remove old file.
14450
14451 2005-07-18  Wim Taymans  <wim@fluendo.com>
14452
14453         * gst/Makefile.am:
14454         No more cothreads.h
14455
14456 2005-07-18  Wim Taymans  <wim@fluendo.com>
14457
14458         * gst/cothreads.c:
14459         * gst/cothreads.h:
14460         Let's remove these.
14461
14462 2005-07-18  Wim Taymans  <wim@fluendo.com>
14463
14464         * docs/design/part-dynamic.txt:
14465         * docs/design/part-events.txt:
14466         * docs/design/part-seeking.txt:
14467         Some more docs in the works.
14468
14469         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14470         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14471         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14472         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14473         (gst_base_transform_handle_buffer),
14474         (gst_base_transform_sink_activate_push),
14475         (gst_base_transform_src_activate_pull),
14476         (gst_base_transform_set_passthrough),
14477         (gst_base_transform_is_passthrough):
14478         Refcounting fixes.
14479
14480         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14481         Cleanups.
14482
14483         * gst/gstevent.c: (gst_event_finalize):
14484         Set SRC to NULL.
14485
14486         * gst/gstutils.c: (gst_element_unlink),
14487         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14488         (gst_pad_proxy_setcaps):
14489         * gst/gstutils.h:
14490         Add _get_parent_element() to get a pads parent as an element.
14491
14492 2005-07-18  Wim Taymans  <wim@fluendo.com>
14493
14494         * check/gst/gstbin.c: (GST_START_TEST):
14495         Remove bogus test.
14496
14497 2005-07-18  Wim Taymans  <wim@fluendo.com>
14498
14499         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14500         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14501         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14502         (gst_base_sink_event), (gst_base_sink_do_sync),
14503         (gst_base_sink_chain), (gst_base_sink_loop),
14504         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14505         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14506         Refcounting fixes.
14507         Fix logic for returning ASYNC when not prerolled.
14508
14509 2005-07-18  Wim Taymans  <wim@fluendo.com>
14510
14511         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14512         Fix nasty refcount bug.
14513
14514 2005-07-16 Philippe Khalaf <burger@speedy.org>
14515
14516         * gst/elements/gstfdsrc.c:
14517         * gst/elements/gstfdsrc.h:
14518         * gst/elements/gstelements.c:
14519         * gst/elements/Makefile.am:
14520         Ported fdsrc to 0.9.
14521
14522 2005-07-16  Wim Taymans  <wim@fluendo.com>
14523
14524         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14525         (gst_base_sink_do_sync):
14526         Fix compile error.
14527
14528 2005-07-16  Wim Taymans  <wim@fluendo.com>
14529
14530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14531         (gst_base_sink_event), (gst_base_sink_get_times),
14532         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14533         * gst/base/gstbasesink.h:
14534         Store and use discont values when syncing buffers as described
14535         in design docs.
14536         
14537         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14538         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14539         (gst_base_src_activate_push):
14540         Push discont event when starting.
14541
14542         * gst/elements/gstidentity.c: (gst_identity_transform):
14543         Small cleanups.
14544
14545         * gst/gstbin.c: (gst_bin_change_state):
14546         Small cleanups in base_time  distribution.
14547
14548         * gst/gstelement.c: (gst_element_set_base_time),
14549         (gst_element_get_base_time), (gst_element_change_state):
14550         * gst/gstelement.h:
14551         Added methods for the base_time of the element.
14552         Some MT fixes.
14553
14554         * gst/gstpipeline.c: (gst_pipeline_send_event),
14555         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14556         (gst_pipeline_get_last_stream_time):
14557         * gst/gstpipeline.h:
14558         MT fixes.
14559         Handle seeking as described in design doc, remove stream_time
14560         hack.
14561         Cleanups clock and stream_time selection code. Added accessors
14562         for the stream_time.
14563         
14564
14565 2005-07-16  Andy Wingo  <wingo@pobox.com>
14566
14567         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14568         (#305291).
14569
14570 2005-07-16  Wim Taymans  <wim@fluendo.com>
14571
14572         * check/gst/gstbin.c: (GST_START_TEST):
14573         Make elements silent as the deep_notify refs the
14574         parent, which might make the test fail.
14575
14576         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14577         Don't hold the lock for too long.
14578
14579 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14580
14581         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14582           Don't unref the caps we passed to gst_caps_make_writable() after
14583           passing them. gst_caps_make_writable() will do that for us.
14584
14585 2005-07-15  Andy Wingo  <wingo@pobox.com>
14586
14587         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14588         (#157311).
14589
14590         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14591         own marshalling function for the handoff signal. Properly type the
14592         buffer as a buffer. Fixes some warnings. Should do a more general
14593         solution.
14594         (gst_identity_class_init): Plug into the right marshaller.
14595
14596 2005-07-15  Wim Taymans  <wim@fluendo.com>
14597
14598         * docs/design/part-TODO.txt:
14599         * docs/design/part-clocks.txt:
14600         * docs/design/part-element-sink.txt:
14601         * docs/design/part-events.txt:
14602         * docs/design/part-gstpipeline.txt:
14603         Updated docs, mostly DISCONT related.
14604
14605 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14606
14607         * docs/pwg/building-pads.xml:
14608           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14609
14610 2005-07-15  Andy Wingo  <wingo@pobox.com>
14611
14612         * tools/gst-typefind.c: Update, add copyright block.
14613
14614         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14615         Normalize and truncate caps before fixation.
14616
14617         * gst/gstcaps.h:
14618         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14619         discards all but the first structure from its argument.
14620
14621 2005-07-15  Wim Taymans  <wim@fluendo.com>
14622
14623         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14624         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14625         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14626         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14627         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14628         (gst_base_transform_chain), (gst_base_transform_change_state),
14629         (gst_base_transform_set_passthrough),
14630         (gst_base_transform_is_passthrough):
14631         * gst/base/gstbasetransform.h:
14632         Make passthrough work using the bufferpools.
14633         Changed API a bit, subclasses have to write into a buffer
14634         provided by the base class.
14635         More debug info in nego functions.
14636         
14637         * gst/elements/gstidentity.c: (gst_identity_init),
14638         (gst_identity_transform):
14639         Port to new base class.
14640
14641 2005-07-15  Wim Taymans  <wim@fluendo.com>
14642
14643         * gst/gstmessage.c: (gst_message_new_state_changed):
14644         * tools/gst-launch.c: (event_loop), (main):
14645         Totally dump messages in -launch with the -m option.
14646         Fix message name for State messages,
14647
14648 2005-07-14  Wim Taymans  <wim@fluendo.com>
14649
14650         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14651         Post error messages on errors.
14652
14653 2005-07-14  Wim Taymans  <wim@fluendo.com>
14654
14655         * gst/gstcaps.c: (gst_caps_do_simplify):
14656         Remove debug info.
14657
14658         * gst/gsterror.h:
14659         Define error for stream stopped.
14660
14661         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14662         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14663         Do proper return values.
14664
14665         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14666         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14667         (gst_pad_get_range):
14668         Better return values.
14669
14670         * gst/gstpad.h:
14671         Reorganise return values, add macro to check for fatal errors.
14672
14673         * gst/gstqueue.c: (gst_queue_chain):
14674         Return proper GstFlowReturn values,
14675
14676 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14677
14678         * docs/gst/gstreamer-sections.txt:
14679         * docs/gst/gstreamer.types:
14680         * docs/gst/tmpl/gst.sgml:
14681         * docs/gst/tmpl/gstbasesink.sgml:
14682         * docs/gst/tmpl/gstbasesrc.sgml:
14683         * docs/gst/tmpl/gstbasetransform.sgml:
14684         * docs/gst/tmpl/gstbin.sgml:
14685         * docs/gst/tmpl/gstbuffer.sgml:
14686         * docs/gst/tmpl/gstcaps.sgml:
14687         * docs/gst/tmpl/gstclock.sgml:
14688         * docs/gst/tmpl/gstcompat.sgml:
14689         * docs/gst/tmpl/gstconfig.sgml:
14690         * docs/gst/tmpl/gstelement.sgml:
14691         * docs/gst/tmpl/gstelementdetails.sgml:
14692         * docs/gst/tmpl/gstelementfactory.sgml:
14693         * docs/gst/tmpl/gstenumtypes.sgml:
14694         * docs/gst/tmpl/gsterror.sgml:
14695         * docs/gst/tmpl/gstevent.sgml:
14696         * docs/gst/tmpl/gstfakesink.sgml:
14697         * docs/gst/tmpl/gstfakesrc.sgml:
14698         * docs/gst/tmpl/gstfilesink.sgml:
14699         * docs/gst/tmpl/gstfilesrc.sgml:
14700         * docs/gst/tmpl/gstfilter.sgml:
14701         * docs/gst/tmpl/gstformat.sgml:
14702         * docs/gst/tmpl/gstghostpad.sgml:
14703         * docs/gst/tmpl/gstimplementsinterface.sgml:
14704         * docs/gst/tmpl/gstindex.sgml:
14705         * docs/gst/tmpl/gstindexfactory.sgml:
14706         * docs/gst/tmpl/gstinfo.sgml:
14707         * docs/gst/tmpl/gstiterator.sgml:
14708         * docs/gst/tmpl/gstmacros.sgml:
14709         * docs/gst/tmpl/gstmemchunk.sgml:
14710         * docs/gst/tmpl/gstminiobject.sgml:
14711         * docs/gst/tmpl/gstobject.sgml:
14712         * docs/gst/tmpl/gstpad.sgml:
14713         * docs/gst/tmpl/gstpadtemplate.sgml:
14714         * docs/gst/tmpl/gstparse.sgml:
14715         * docs/gst/tmpl/gstpipeline.sgml:
14716         * docs/gst/tmpl/gstplugin.sgml:
14717         * docs/gst/tmpl/gstpluginfeature.sgml:
14718         * docs/gst/tmpl/gstquery.sgml:
14719         * docs/gst/tmpl/gstqueue.sgml:
14720         * docs/gst/tmpl/gstregistry.sgml:
14721         * docs/gst/tmpl/gstregistrypool.sgml:
14722         * docs/gst/tmpl/gstscheduler.sgml:
14723         * docs/gst/tmpl/gstschedulerfactory.sgml:
14724         * docs/gst/tmpl/gststructure.sgml:
14725         * docs/gst/tmpl/gstsystemclock.sgml:
14726         * docs/gst/tmpl/gsttaglist.sgml:
14727         * docs/gst/tmpl/gsttagsetter.sgml:
14728         * docs/gst/tmpl/gsttrace.sgml:
14729         * docs/gst/tmpl/gsttrashstack.sgml:
14730         * docs/gst/tmpl/gsttypefind.sgml:
14731         * docs/gst/tmpl/gsttypefindfactory.sgml:
14732         * docs/gst/tmpl/gsttypes.sgml:
14733         * docs/gst/tmpl/gsturihandler.sgml:
14734         * docs/gst/tmpl/gsturitype.sgml:
14735         * docs/gst/tmpl/gstutils.sgml:
14736         * docs/gst/tmpl/gstvalue.sgml:
14737         * docs/gst/tmpl/gstversion.sgml:
14738         * docs/gst/tmpl/gstxml.sgml:
14739         * docs/libs/tmpl/gstcontrol.sgml:
14740         * docs/libs/tmpl/gstdataprotocol.sgml:
14741         * docs/libs/tmpl/gstdparam.sgml:
14742         * docs/libs/tmpl/gstdplinint.sgml:
14743         * docs/libs/tmpl/gstdpman.sgml:
14744         * docs/libs/tmpl/gstdpsmooth.sgml:
14745         * docs/libs/tmpl/gstgetbits.sgml:
14746         * docs/libs/tmpl/gstunitconvert.sgml:
14747         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14748         (gst_push_src_base_init), (gst_push_src_class_init),
14749         (gst_push_src_init), (gst_push_src_create):
14750         * gst/base/gstpushsrc.h:
14751         * gst/elements/gstelements.c:
14752         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14753         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14754         (gst_fake_sink_init), (gst_fake_sink_set_property),
14755         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14756         (gst_fake_sink_event), (gst_fake_sink_preroll),
14757         (gst_fake_sink_render), (gst_fake_sink_change_state):
14758         * gst/elements/gstfakesink.h:
14759         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14760         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14761         (gst_fake_src_base_init), (gst_fake_src_class_init),
14762         (gst_fake_src_init), (gst_fake_src_event_handler),
14763         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14764         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14765         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14766         (gst_fake_src_create_buffer), (gst_fake_src_create),
14767         (gst_fake_src_start), (gst_fake_src_stop):
14768         * gst/elements/gstfakesrc.h:
14769         * gst/elements/gstfilesink.c: (_do_init),
14770         (gst_file_sink_base_init), (gst_file_sink_class_init),
14771         (gst_file_sink_init), (gst_file_sink_dispose),
14772         (gst_file_sink_set_location), (gst_file_sink_set_property),
14773         (gst_file_sink_get_property), (gst_file_sink_open_file),
14774         (gst_file_sink_close_file), (gst_file_sink_query),
14775         (gst_file_sink_event), (gst_file_sink_render),
14776         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14777         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14778         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14779         * gst/elements/gstfilesink.h:
14780         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14781         (gst_file_src_class_init), (gst_file_src_init),
14782         (gst_file_src_finalize), (gst_file_src_set_location),
14783         (gst_file_src_set_property), (gst_file_src_get_property),
14784         (gst_file_src_map_region), (gst_file_src_map_small_region),
14785         (gst_file_src_create_mmap), (gst_file_src_create_read),
14786         (gst_file_src_create), (gst_file_src_is_seekable),
14787         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14788         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14789         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14790         (gst_file_src_uri_handler_init):
14791         * gst/elements/gstfilesrc.h:
14792           more autistic cleanliness in functions/names/defines
14793
14794 2005-07-13  Andy Wingo  <wingo@pobox.com>
14795
14796         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14797         source couldn't negotiate.
14798
14799         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14800         connections again.
14801
14802         * gst/gstutils.h:
14803         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14804         function. I am channeling Hades. Put your boots on suckers!!!
14805
14806 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14807
14808         * testsuite/caps/Makefile.am:
14809         * testsuite/caps/value_compare.c:
14810         * testsuite/caps/value_intersect.c:
14811         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14812           move two testsuite apps over to the check dir
14813
14814 2005-07-12  Wim Taymans  <wim@fluendo.com>
14815
14816         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14817         Added more debug info in the negotiate process.
14818
14819         * gst/gstmessage.h:
14820         Prepare for segment playback.
14821
14822         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14823         Better debugging.
14824
14825         * gst/gstutils.c:
14826         Some more docs.
14827
14828         * tools/gst-launch.c: (main):
14829         NULL pipeline on errors.
14830
14831 2005-07-12  Andy Wingo  <wingo@pobox.com>
14832
14833         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14834         not it comes from a malloc region. Make sure our copy gets freed.
14835
14836 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14837
14838         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14839         * check/gst/gstmessage.c: (GST_START_TEST):
14840         * check/gst/gststructure.c: (GST_START_TEST),
14841         (gst_structure_suite), (main):
14842           more testing
14843         * gst/gstelement.c: (gst_element_message_full):
14844           clean up GError and debug string now that they get copied
14845         * gst/gstmessage.c: (gst_message_new_error),
14846         (gst_message_new_warning), (gst_message_parse_error),
14847         (gst_message_parse_warning):
14848           use GST_TYPE_G_ERROR for structure_new, and take copies of
14849           arguments, so that we don't mess up refcounting
14850
14851 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14852
14853         * check/Makefile.am:
14854           add per-test valgrind targets
14855         * check/gst-libs/gdp.c: (GST_START_TEST),
14856         (gst_data_protocol_suite), (main):
14857           clean up
14858
14859 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14860
14861         * check/Makefile.am:
14862           instate more valgrindable tests
14863         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14864         (GST_START_TEST), (fakesrc_suite):
14865         * check/gst/gstpad.c: (GST_START_TEST):
14866         * check/gst/gststructure.c: (GST_START_TEST):
14867           fix test leaks
14868         * docs/gst/tmpl/gstminiobject.sgml:
14869         * gst/gstpad.c: (gst_pad_finalize):
14870           fix the static mutex leak
14871
14872 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14873
14874         * check/Makefile.am:
14875           add two more tests for valgrinding
14876         * check/gst/gstvalue.c: (GST_START_TEST):
14877           test refcount of deserialized buffer, found a leak
14878         * docs/gst/gstreamer-docs.sgml:
14879         * docs/gst/gstreamer-sections.txt:
14880         * docs/gst/gstreamer.types:
14881         * docs/gst/tmpl/gstminiobject.sgml:
14882           add miniobject to docs
14883         * gst/gstminiobject.c:
14884           add some docs
14885         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14886         (gst_string_unwrap):
14887           fix a hard-to-find invalid write for one of the tests
14888           fix a leak for deserialized buffers
14889
14890 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14891
14892         * docs/pwg/advanced-events.xml:
14893         * docs/pwg/advanced-request.xml:
14894         * docs/pwg/advanced-scheduling.xml:
14895         * docs/pwg/appendix-porting.xml:
14896         * docs/pwg/building-boiler.xml:
14897         * docs/pwg/intro-preface.xml:
14898         * docs/pwg/other-ntoone.xml:
14899           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14900           of example code and explanation for pad activation, loop() and
14901           getrange() functions and a bit more. Remove old comments pointing
14902           to loop-functions.
14903         * examples/pwg/Makefile.am:
14904           Add loop/getrange examples.
14905
14906 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14907
14908         * configure.ac:
14909           check for valgrind binary + some fixes
14910         * check/gst.supp:
14911           valgrind suppressions for the tests
14912         * check/Makefile.am:
14913           add a valgrind: target that valgrinds the unit tests
14914         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14915         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14916         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14917         * check/gst/gstghostpad.c:
14918           added some cleanup
14919         * check/gst/gstdata.c:
14920           removed
14921         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14922         (thread_unref), (gst_mini_object_suite), (main):
14923           added
14924         * gst/gst.c: (gst_deinit):
14925         * gst/gst.h:
14926           add a method to clean up.
14927         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14928         (gst_system_clock_obtain):
14929           allow for disposing the system clock.
14930         * tools/gst-launch.c: (main):
14931           deinit
14932
14933 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14934
14935         * docs/gst/tmpl/gstbasesrc.sgml:
14936         * docs/gst/tmpl/gstfakesrc.sgml:
14937         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14938         (gst_base_src_init), (gst_base_src_set_property),
14939         (gst_base_src_get_property), (gst_base_src_get_range),
14940         (gst_base_src_start):
14941         * gst/base/gstbasesrc.h:
14942           add num-buffers property
14943         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14944         (gst_fakesrc_init), (gst_fakesrc_set_property),
14945         (gst_fakesrc_get_property), (gst_fakesrc_create),
14946         (gst_fakesrc_start):
14947           remove num-buffers property
14948
14949 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * docs/gst/gstreamer-sections.txt:
14952         * docs/gst/tmpl/gstbasesink.sgml:
14953         * docs/gst/tmpl/gstbasesrc.sgml:
14954         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14955         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14956         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14957         (gst_base_sink_set_property), (gst_base_sink_get_property),
14958         (gst_base_sink_handle_object), (gst_base_sink_event),
14959         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14960         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14961         (gst_base_sink_loop), (gst_base_sink_deactivate),
14962         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14963         (gst_base_sink_change_state):
14964         * gst/base/gstbasesink.h:
14965         * gst/base/gstbasesrc.h:
14966         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14967         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14968         (gst_filesink_init):
14969           more macro splitting
14970
14971 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * gst/gstelement.c: (gst_element_get_bus):
14974           add debug
14975         * tools/gst-launch.c: (check_intr), (event_loop):
14976           fix bus leaks
14977
14978 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14979
14980         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14981           fix a caps leak
14982
14983 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14984
14985         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14986         (gst_base_src_finalize):
14987           add finalize method and clean up properly
14988         * gst/gstpipeline.c: (gst_pipeline_dispose):
14989           add debug
14990
14991 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14992
14993         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14994         (gst_bin_suite):
14995           add more things to check
14996         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14997         * gst/gstelement.c:
14998           more debug
14999
15000 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15003         (GST_START_TEST), (fakesrc_suite):
15004         * check/gst-libs/gdp.c: (GST_START_TEST):
15005         * check/gst/gst.c: (GST_START_TEST):
15006         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15007         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15008         * check/gst/gstbus.c: (GST_START_TEST):
15009         * check/gst/gstcaps.c: (GST_START_TEST):
15010         * check/gst/gstdata.c: (GST_START_TEST):
15011         * check/gst/gstelement.c: (GST_START_TEST):
15012         * check/gst/gstghostpad.c: (GST_START_TEST):
15013         * check/gst/gstiterator.c: (GST_START_TEST):
15014         * check/gst/gstmessage.c: (GST_START_TEST):
15015         * check/gst/gstobject.c: (GST_START_TEST):
15016         * check/gst/gstpad.c: (GST_START_TEST):
15017         * check/gst/gststructure.c: (GST_START_TEST):
15018         * check/gst/gstsystemclock.c: (GST_START_TEST),
15019         (gst_systemclock_suite):
15020         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15021         * check/gst/gstvalue.c: (GST_START_TEST):
15022         * check/pipelines/cleanup.c: (GST_START_TEST):
15023         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15024         * check/states/sinks.c: (GST_START_TEST):
15025         * check/gstcheck.c: (gst_check_init):
15026         * check/gstcheck.h:
15027           add debugging category
15028           use GST_START_TEST now, so we add a debug line
15029
15030 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15033           add test for state change message on a bin
15034         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15035           add another test
15036         * gst/gstbin.c: (gst_bin_init):
15037         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15038         * gst/gstelement.c: (gst_element_post_message),
15039         (gst_element_set_state):
15040         * gst/gstelementfactory.c: (gst_element_factory_create):
15041         * gst/gstmessage.c: (gst_message_new):
15042         * gst/gstscheduler.c:
15043           various debugging additions and cleanups
15044
15045 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15046
15047         * check/Makefile.am:
15048         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15049         (main):
15050           adding tests for elements
15051         * gst/gstelement.c: (gst_element_dispose):
15052
15053 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15054
15055         * gst/registries/gstlibxmlregistry.c: (load_feature):
15056           plug more leaks.  A simple gst_init() now is leakfree, yay.
15057
15058 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15059
15060         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15061         (gst_xml_registry_load):
15062           plug another memleak
15063
15064 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15065
15066         * configure.ac:
15067           use GST_SET_ERROR_CFLAGS
15068         * docs/faq/cvs.xml:
15069           change to ERROR_CFLAGS
15070
15071 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15072
15073         * configure.ac:
15074           make GST_ERROR_CFLAGS overridable and re-enable Werror
15075         * docs/faq/cvs.xml:
15076           add a note about error CFLAGS
15077         * docs/gst/tmpl/gstfakesrc.sgml:
15078         * gst/elements/gstfakesrc.c:
15079           comment out some unused code
15080         * gst/gst.c: (split_and_iterate):
15081         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15082         (load_feature):
15083           plug some memleaks
15084
15085 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15086
15087         * common/Makefile.am:
15088         * common/gtk-doc.mak:
15089         * docs/gst/Makefile.am:
15090           factor out gtk-doc.mak
15091
15092 2005-07-07  Wim Taymans  <wim@fluendo.com>
15093
15094         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15095         (gst_thread_scheduler_dispose):
15096         Unlock the STREAM_LOCK completely.
15097
15098 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15099
15100         * check/Makefile.am:
15101         * check/elements/.cvsignore:
15102         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15103         (START_TEST), (fakesrc_suite), (main):
15104         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15105         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15106         (gst_fakesrc_create), (gst_fakesrc_start):
15107         * gst/elements/gstfakesrc.h:
15108           adding a first element test
15109
15110 2005-07-07  Andy Wingo  <wingo@pobox.com>
15111
15112         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15113         debug message.
15114
15115 2005-07-07  Wim Taymans  <wim@fluendo.com>
15116
15117         * gst/gstquery.c:
15118         * gst/gstquery.h:
15119         Remove old types
15120
15121 2005-07-07  Wim Taymans  <wim@fluendo.com>
15122
15123         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15124         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15125         Allow subclasses to implement their own negotiation.
15126
15127 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15128
15129         * docs/design/part-gstbin.txt:
15130         * docs/design/part-gstpipeline.txt:
15131           Update design notes to reflect the movement of
15132           responsibility for bus handling from GstPipeline to
15133           GstBin
15134
15135 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15136
15137         * configure.ac:
15138           Remove unnecessary queue2/3/4 examples.
15139
15140 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15141
15142         * examples/Makefile.am:
15143         * examples/helloworld/helloworld.c: (event_loop), (main):
15144         * examples/queue/queue.c: (event_loop), (main):
15145         * examples/queue2/queue2.c: (main):
15146           Update a couple of the examples to work again.
15147
15148         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15149         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15150          Spelling corrections and extra debug.
15151         
15152         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15153         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15154         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15155         * gst/gstbin.h:
15156         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15157         (gst_pipeline_change_state):
15158         * gst/gstpipeline.h:
15159           Move the bus handler for children to the GstBin, and create a
15160           separate bus for receiving messages from children to the one the
15161           bus sends 'upwards' on.
15162
15163 2005-07-06  Wim Taymans  <wim@fluendo.com>
15164
15165         * gst/base/README:
15166         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15167         (gst_base_sink_handle_object), (gst_base_sink_loop),
15168         (gst_base_sink_change_state):
15169         * gst/base/gstbasesink.h:
15170         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15171         (gst_base_src_init), (gst_base_src_setcaps),
15172         (gst_base_src_getcaps), (gst_base_src_loop),
15173         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15174         (gst_base_src_start), (gst_base_src_change_state):
15175         * gst/base/gstbasesrc.h:
15176         Make basesrc negotiate.
15177         Handle the case where preroll fails in basesink.
15178         Update README.
15179
15180 2005-07-06  Wim Taymans  <wim@fluendo.com>
15181
15182         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15183         Implement the fixate function.
15184         Clean up acceptcaps.
15185
15186 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15187
15188         * docs/pwg/building-filterfactory.xml:
15189         * docs/pwg/pwg.xml:
15190           Remove never-written filter-factory chapter; I'll add the various
15191           base classes to part 4 ("other element types") later on.
15192
15193 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15194
15195         * docs/pwg/advanced-negotiation.xml:
15196         * docs/pwg/building-boiler.xml:
15197         * docs/pwg/building-pads.xml:
15198         * docs/pwg/pwg.xml:
15199         * examples/pwg/Makefile.am:
15200           Add a chapter on caps negotiation, simplify the original code
15201           samples a bit w.r.t. caps negotiation, add link to the advanced
15202           section. Add a bunch of examples showing different use cases of
15203           different types of caps negotiation. Upstream renegotiation isn't
15204           fully documented yet since nobody knows how that works.
15205
15206 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15207
15208         * check/gst/gstpad.c:
15209         * check/gstcheck.c:
15210         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15211           if pad has no parent, return NULL as list of internal links
15212
15213 2005-07-05  Andy Wingo  <wingo@pobox.com>
15214
15215         * gst/elements/gstfilesrc.c:
15216         * gst/elements/gstfakesrc.c: 
15217         * gst/base/gstpushsrc.c:
15218         * gst/base/gstbasesrc.h: 
15219         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15220         
15221 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15222
15223         * Makefile.am:
15224           better report generation target (lcov needs a patch)
15225
15226 2005-07-05  Andy Wingo  <wingo@pobox.com>
15227
15228         * gst/elements, testsuite: Null if we got it...
15229
15230 2005-07-05  Wim Taymans  <wim@fluendo.com>
15231
15232         * configure.ac:
15233         * libs/gst/dataprotocol/Makefile.am:
15234         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15235         * libs/gst/dataprotocol/dataprotocol.h:
15236         * pkgconfig/Makefile.am:
15237         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15238         * pkgconfig/gstreamer-dataprotocol.pc.in:
15239         Ported dataprotol to 0.9. 
15240         Added pkgconfig files.
15241
15242 2005-07-05  Andy Wingo  <wingo@pobox.com>
15243
15244         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15245         Default to returning TRUE for the case when tranform_caps returns
15246         a fixed caps, like for identity or volume.
15247
15248         * check/gst/gstbus.c (pound_bus_with_messages): 
15249         * check/gst/gstmessage.c (START_TEST): 
15250         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15251         message API change.
15252
15253         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15254         logic weaks here: always run transform_caps, trying passthrough
15255         operation only if the original caps intersects with the transform.
15256
15257         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15258         source and sink caps.
15259
15260         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15261         Intersect the peer caps with the pad template before going into
15262         transform_caps.
15263         (gst_base_transform_transform_caps): More debugging.
15264
15265         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15266         src argument.
15267
15268 2005-07-04  Edward Hervey  <edward@fluendo.com>
15269
15270         * gst/gstutils.c:
15271         * gst/gstutils.h:
15272         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15273         in bindings.
15274
15275 2005-07-04  Andy Wingo  <wingo@pobox.com>
15276
15277         * check/gst/gstpad.c: Only set explicit caps on pads.
15278
15279 2005-07-01  Andy Wingo  <wingo@pobox.com>
15280
15281         * tests/network-clock.scm: Commentary update.
15282
15283         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15284         Didn't really make sense, not implementable with basetransform,
15285         etc.
15286         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15287         attempt at implementing the sync property, needs an unlock method.
15288
15289         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15290         New func, by default returns the same caps (the identity
15291         transformation).
15292         (gst_base_transform_getcaps): Uses transform_caps to return
15293         something sensible.
15294         (gst_base_transform_setcaps): Complicated logic to get caps on
15295         both pads, even if they are different, and to call set_caps once
15296         for every time both pads get their caps set.
15297         (gst_base_transform_handle_buffer): Give the ref to the transform
15298         function. Allows in-place modification of the buffer.
15299
15300         * gst/base/gstbasetransform.h (transform_caps): New class method.
15301         Given caps on one side, what can I do on the other.
15302         (set_caps): Take two caps, one for each side of the element.
15303
15304         * gst/gstpad.h:
15305         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15306         caps in place. This is safe because we can check the mutability of
15307         the caps, and a good idea because fixate functions are just called
15308         as a matter of last resort. (Not actually implemented.)
15309         (gst_pad_set_caps): If the caps we're setting is actually the same
15310         as the existing pad caps, just update the pointer without calling
15311         setcaps. Assert that caps is either NULL or fixed, as per the
15312         docs.
15313
15314         * gst/gstghostpad.c: Update for fixate changes.
15315
15316 2005-07-02  Andy Wingo  <wingo@pobox.com>
15317
15318         * gst/gstcaps.c:
15319         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15320         two refcounts makes it immutable, which is enough. Doc more.
15321
15322 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15323
15324         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15325           Put the mini_object into GValue as a mini_object,
15326           not a gpointer, since that's how we declared
15327           the signal.
15328
15329 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15330
15331         * examples/pwg/Makefile.am:
15332           Fix buildbot again.
15333
15334 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15335
15336         * docs/pwg/building-testapp.xml:
15337           Add extra check.
15338         * examples/pwg/Makefile.am:
15339           Fix buildbot.
15340
15341 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15342
15343         * configure.ac:
15344         * examples/Makefile.am:
15345         * examples/pwg/Makefile.am:
15346         * examples/pwg/extract.pl:
15347           Enable building the PWG examples.
15348         * docs/pwg/advanced-interfaces.xml:
15349           Add URI interface stub.
15350         * docs/pwg/advanced-types.xml:
15351         * docs/pwg/other-autoplugger.xml:
15352         * docs/pwg/appendix-porting.xml:
15353         * docs/pwg/pwg.xml:
15354           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15355         * docs/pwg/building-boiler.xml:
15356         * docs/pwg/building-chainfn.xml:
15357         * docs/pwg/building-pads.xml:
15358         * docs/pwg/building-props.xml:
15359         * docs/pwg/building-state.xml:
15360         * docs/pwg/building-testapp.xml:
15361           Update the building-*.xml parts for 0.9 changes. All examples
15362           code blocks compile in examples/pwg/*.
15363
15364 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15365
15366         * docs/manual/advanced-autoplugging.xml:
15367         * docs/manual/appendix-checklist.xml:
15368         * docs/manual/appendix-integration.xml:
15369         * docs/manual/highlevel-components.xml:
15370           Fix playbin/decodebin examples, update docs a bit, mention bus
15371           instead of signals in various places, mention kmplayer and
15372           kaffeine since they have a working GStreamer backend in the KDE
15373           section.
15374
15375 2005-06-30  Wim Taymans  <wim@fluendo.com>
15376
15377         * CHANGES-0.9:
15378         * docs/design/draft-ghostpads.txt:
15379         * docs/design/draft-push-pull.txt:
15380         * docs/design/draft-query.txt:
15381         * docs/design/part-TODO.txt:
15382         * docs/design/part-query.txt:
15383         Added CHANGES-0.9 doc, updated status of other docs.
15384         
15385         * gst/gstquery.h:
15386         Remove "hmm" macro
15387
15388 2005-06-30  Wim Taymans  <wim@fluendo.com>
15389
15390         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15391         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15392         (gst_base_sink_change_state):
15393         * gst/base/gstbasesink.h:
15394         Some tweaks, only EOS and a buffer complete a preroll.
15395
15396 2005-06-30  Andy Wingo  <wingo@pobox.com>
15397
15398         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15399         activate_push down to the internal pad as well.
15400
15401 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15402
15403         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15404
15405         * gst/gsttaginterface.c:
15406           Some documentation fixes (#307394 and #307397).
15407
15408 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15409
15410         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15411
15412         * gst/gstvalue.c: (gst_value_intersect_list):
15413           Fix memleak (#309125).
15414
15415 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15416
15417         * docs/manual/advanced-dataaccess.xml:
15418           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15419         * docs/manual/basics-pads.xml:
15420           Add reference for filtered caps to above chapter.
15421
15422 2005-06-30  Wim Taymans  <wim@fluendo.com>
15423
15424         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15425         (gst_bin_change_state):
15426         Probes are gone.
15427         Lame attempt at making the state change function a bit
15428         more readable.
15429
15430 2005-06-30  Wim Taymans  <wim@fluendo.com>
15431
15432         * docs/design/part-clocks.txt:
15433         * docs/design/part-element-sink.txt:
15434         * docs/design/part-events.txt:
15435         * docs/design/part-preroll.txt:
15436         * docs/design/part-states.txt:
15437         Some more tweeks and additions to the docs.
15438
15439 2005-06-30  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15442         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15443         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15444         (gst_pad_check_pull_range), (gst_pad_get_range),
15445         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15446         * gst/gstpad.h:
15447         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15448         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15449         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15450         (gst_pad_remove_buffer_probe):
15451         Removed atomic operations, use existing LOCK.
15452         Move exception handling out of main code path.
15453
15454 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15455
15456         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15457         (silly_return_true_function), (gst_pad_class_init),
15458         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15459         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15460         (gst_pad_send_event):
15461           Fix accumulator, add default value by using _emitv() instead
15462           of _emit() for signal emission.
15463
15464 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15465
15466         * docs/manual/advanced-dataaccess.xml:
15467         * examples/manual/Makefile.am:
15468           Add probe example.
15469         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15470           Make work (??).
15471
15472 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15473
15474         * gst/elements/gstfilesink.c: (gst_filesink_render):
15475           Simplify code so that we don't have to handle short
15476           writes and return GST_FLOW_ERROR if an error occured.
15477
15478 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15479
15480         * docs/gst/gstreamer-docs.sgml:
15481           Remove probes more.
15482
15483 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15484
15485         * docs/gst/gstreamer-sections.txt:
15486         * docs/gst/tmpl/gstpad.sgml:
15487         * docs/gst/tmpl/gstprobe.sgml:
15488         * gst/Makefile.am:
15489         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15490         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15491         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15492         (gst_pad_push_event), (gst_pad_send_event):
15493         * gst/gstpad.h:
15494         * gst/gstutils.c: (gst_pad_add_data_probe),
15495         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15496         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15497         (gst_pad_remove_buffer_probe):
15498         * gst/gstutils.h:
15499           Remove old probes, add new g-signal-based probes and some utility
15500           functions.
15501
15502 2005-06-29  Edward Hervey  <edward@fluendo.com>
15503
15504         * gst/gstelementfactory.c:
15505         * gst/gstutils.h:
15506         * gst/gstutils.c:
15507         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15508         the definition to the header file.
15509
15510 2005-06-29  Andy Wingo  <wingo@pobox.com>
15511
15512         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15513         plugins from the source directory.
15514
15515 2005-06-29  Wim Taymans  <wim@fluendo.com>
15516
15517         * docs/gst/tmpl/gstbuffer.sgml:
15518         * docs/gst/tmpl/gstclock.sgml:
15519         Some fixings for blantently wrong text.
15520
15521 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15522
15523         * check/Makefile.am:
15524         * gst/gst.c: (add_path_func), (init_pre):
15525         * gst/gstregistry.c: (gst_registry_add_path):
15526           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15527           only scan the GST_PLUGIN_PATH locations, and not add
15528           system locations
15529
15530 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15531
15532         * docs/gst/gstreamer-sections.txt:
15533         * docs/gst/tmpl/gstbasesrc.sgml:
15534         * gst/gstelement.c:
15535         * gst/gstelement.h:
15536         * gst/gstevent.c:
15537         * gst/gstutils.c:
15538           doc fixes
15539
15540 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15541
15542         * docs/manual/advanced-autoplugging.xml:
15543           Fix autoplugging example.
15544
15545 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15546
15547         * docs/manual/advanced-autoplugging.xml:
15548         * docs/manual/mime-world.fig:
15549           Try to get autoplugging working, fix type detection. Fix text
15550           in hello-world image.
15551
15552 2005-06-29  Wim Taymans  <wim@fluendo.com>
15553
15554         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15555         (gst_base_sink_change_state):
15556         Small debug line.
15557
15558         * gst/gstclock.h:
15559         map SIGNAL and BROADCAST to the right function.
15560
15561         * gst/gstobject.h:
15562         Remove redundant braces.
15563
15564         * gst/gstpad.c: (gst_pad_set_caps):
15565         Don't call setcaps function when reseting caps to NULL.
15566
15567         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15568         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15569         (gst_system_clock_id_unschedule):
15570         Use BROADCAST as this is what we do.
15571
15572 2005-06-29  Wim Taymans  <wim@fluendo.com>
15573
15574         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15575         We are actually prerolling before commiting the state
15576         change. 
15577
15578 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15579
15580         * docs/manual/advanced-clocks.xml:
15581         * docs/manual/advanced-interfaces.xml:
15582         * docs/manual/advanced-metadata.xml:
15583         * docs/manual/advanced-position.xml:
15584         * docs/manual/advanced-schedulers.xml:
15585         * docs/manual/advanced-threads.xml:
15586         * docs/manual/appendix-porting.xml:
15587         * docs/manual/basics-bins.xml:
15588         * docs/manual/basics-bus.xml:
15589         * docs/manual/basics-elements.xml:
15590         * docs/manual/basics-helloworld.xml:
15591         * docs/manual/basics-pads.xml:
15592         * docs/manual/highlevel-components.xml:
15593         * docs/manual/manual.xml:
15594         * docs/manual/thread.fig:
15595           Update (until threads/scheduling) Application Development Manual;
15596           remove GstThread, add GstBus, add simple porting checklist, add
15597           documentation for tag writing, clocks, make all examples until this
15598           part compile and run.
15599         * examples/manual/Makefile.am:
15600           Update from changes to Application Development Manual; add bus
15601           example, remove thread example.
15602
15603 2005-06-28  Wim Taymans  <wim@fluendo.com>
15604
15605         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15606         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15607         (gst_bus_source_dispatch):
15608         Add debugging messages.
15609         Make internal methods static.
15610         Handle the case where the bus is flushed in the handler.
15611         
15612         * gst/gstelement.c: (gst_element_get_bus):
15613         Fix refcount in _get_bus();
15614
15615         * gst/gstpipeline.c: (gst_pipeline_change_state),
15616         (gst_pipeline_get_clock_func):
15617         Clock refcounting fixes.
15618         Handle the case where preroll timed out more gracefully.
15619         
15620         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15621         Clean up the internal thread in dispose. This is needed
15622         for subclasses that actually get disposed.
15623         
15624         * gst/schedulers/threadscheduler.c:
15625         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15626         (gst_thread_scheduler_dispose):
15627         Free thread pool in dispose.
15628
15629 2005-06-28  Andy Wingo  <wingo@pobox.com>
15630
15631         * tests/network-clock-utils.scm (debug, print-event): New utils.
15632
15633         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15634         (*packet-loss*): Unified loss probability.
15635         (network-time): Report out-of-band events.
15636
15637         * tests/plot-data: Add support for out-of-band events. Hack it
15638         into this script instead of passing it down the pipe; should fix
15639         this later.
15640
15641 2005-06-28  Wim Taymans  <wim@fluendo.com>
15642
15643         * docs/gst/gstreamer.types:
15644         * docs/gst/tmpl/gstbasesrc.sgml:
15645         * docs/gst/tmpl/gstpad.sgml:
15646         Docs fixes.
15647
15648 2005-06-28  Wim Taymans  <wim@fluendo.com>
15649
15650         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15651         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15652         (gst_proxy_pad_do_fixatecaps):
15653         Correctly proxy the check_pull_range function.
15654
15655 2005-06-28  Andy Wingo  <wingo@pobox.com>
15656
15657         * tests/network-clock.scm: Removed need for slib.
15658         
15659 2005-06-28  Wim Taymans  <wim@fluendo.com>
15660
15661         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15662         (gst_basesink_preroll_queue_flush):
15663         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15664         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15665         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15666         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15667         (gst_proxy_pad_set_property):
15668         * gst/gstpad.c:
15669         * gst/gstpad.h:
15670         * gst/gstqueue.c: (gst_queue_init):
15671         The deprecated pad loop function is removed now.
15672
15673 2005-06-28  Andy Wingo  <wingo@pobox.com>
15674
15675         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15676         New parameters, simulate network packet loss.
15677
15678         * tests/network-clock-utils.scm: Initialize the RNG.
15679
15680 2005-06-28  Wim Taymans  <wim@fluendo.com>
15681
15682         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15683         (gst_basesink_event), (gst_basesink_deactivate):
15684         Flushing the preroll queue always needs to unlock the waiters.
15685
15686 2005-06-28  Edward Hervey  <edward@fluendo.com>
15687
15688         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15689         Wheen a seek was successful on a pipeline, set the stream_time to the
15690         seek offset in order to have a synchronized stream_time.
15691
15692 2005-06-28  Wim Taymans  <wim@fluendo.com>
15693
15694         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15695         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15696         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15697         (gst_proxy_pad_do_fixatecaps):
15698         Call wrapper function instead of just calling the function
15699         pointers. This takes care of any locking and whatmore.
15700
15701 2005-06-28  Wim Taymans  <wim@fluendo.com>
15702
15703         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15704         (gst_pad_pull_range):
15705         * gst/gstpad.h:
15706         CONNECTED -> LINKED.
15707
15708 2005-06-28  Andy Wingo  <wingo@pobox.com>
15709
15710         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15711         source-munging commit!!!
15712
15713         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15714         (gst_object_sink): Take gpointer arguments, not GstObject --
15715         avoids casts. Like GLib.
15716
15717         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15718         activate.
15719
15720 2005-06-27  Andy Wingo  <wingo@pobox.com>
15721
15722         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15723         remaining buffer.
15724
15725         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15726         returns a sorted copy of the trace list.
15727         (gst_alloc_trace_print_live): New API, only prints traces with
15728         live objects. Sort the list.
15729         (gst_alloc_trace_print_all): Sort the list.
15730         (gst_alloc_trace_print): Align columns.
15731
15732         * gst/elements/gstttypefindelement.c:
15733         * gst/elements/gsttee.c:
15734         * gst/base/gstbasesrc.c:
15735         * gst/base/gstbasesink.c:
15736         * gst/base/gstbasetransform.c:
15737         * gst/gstqueue.c: Adapt for pad activation changes.
15738
15739         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15740         sched.
15741         (gst_pipeline_dispose): Drop ref on sched.
15742
15743         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15744         (gst_pad_activate_default): Push mode by default.
15745         (pre_activate_switch, post_activate_switch): New stubs, things to
15746         do before and after switching activation modes on pads.
15747         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15748         the pad's activate function to choose which mode to activate.
15749         Shortcut on deactivation and call the right function directly.
15750         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15751         mode.
15752         (gst_pad_activate_push): New API, same for push mode.
15753         (gst_pad_set_activate_function) 
15754         (gst_pad_set_activatepull_function) 
15755         (gst_pad_set_activatepush_function): Setters for new API.
15756
15757         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15758         Trace all miniobjects.
15759         (gst_mini_object_make_writable): Unref the arg if we copy, like
15760         gst_caps_make_writable.
15761
15762         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15763
15764         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15765         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15766         Adapt for new pad API.
15767
15768         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15769
15770         * gst/gstelement.h:
15771         * gst/gstelement.c (gst_element_iterate_src_pads) 
15772         (gst_element_iterate_sink_pads): New API functions.
15773         
15774         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15775         should fold into gstiterator.c in some form.
15776         (gst_element_pads_activate): Simplified via use of fold and
15777         delegation of decisions to gstpad->activate.
15778
15779         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15780         help in debugging.
15781
15782         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15783         class once in init, like gstmessage. Didn't run into this issue
15784         but it seems correct. Don't initialize a trace, gstminiobject does
15785         that.
15786
15787         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15788         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15789         to the bus.
15790         (assert_live_count): New util function, uses alloc traces to check
15791         cleanup.
15792
15793         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15794         To be modified when unlink drops the internal pad.
15795
15796 2005-06-27  Wim Taymans  <wim@fluendo.com>
15797
15798         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15799         (gst_bin_change_state):
15800         Cleanup the get_state() function a little, make sure it
15801         iterates the same set of elements.
15802         Added stub iterate_state_order().
15803
15804 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15805
15806         * docs/gst/gstreamer-docs.sgml:
15807         * docs/gst/gstreamer-sections.txt:
15808         * docs/gst/gstreamer.types:
15809         * docs/gst/tmpl/gstbasesink.sgml:
15810         * docs/gst/tmpl/gstbasesrc.sgml:
15811         * docs/gst/tmpl/gstbasetransform.sgml:
15812         * docs/gst/tmpl/gstelement.sgml:
15813         * docs/gst/tmpl/gstiterator.sgml:
15814         * gst/base/gstbasesrc.c:
15815         * gst/base/gstbasesrc.h:
15816         * gst/base/gstbasetransform.h:
15817         * gst/gstelement.c:
15818         * gst/gstiterator.h:
15819           adding basetransform and iterator docs
15820
15821 2005-06-27  Andy Wingo  <wingo@pobox.com>
15822
15823         * docs/design/part-activation.txt: Notes on how activation should
15824         work -- not quite implemented yet.
15825
15826 2005-06-25  Wim Taymans  <wim@fluendo.com>
15827
15828         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15829         At least get the chain function correct, needs more
15830         fixing.
15831
15832 2005-06-25  Wim Taymans  <wim@fluendo.com>
15833
15834         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15835         (gst_basesink_handle_object), (gst_basesink_event),
15836         (gst_basesink_do_sync), (gst_basesink_handle_event),
15837         (gst_basesink_change_state):
15838         * gst/gsttask.h:
15839         Right, two problems here: ghostpads don't take locks and
15840         glib _rec_mutex_lock_full() with depth==0 still locks.
15841         Catch illegal locking and g_warn them.
15842
15843 2005-06-25  Wim Taymans  <wim@fluendo.com>
15844
15845         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15846         Have to check for completion now...
15847
15848 2005-06-25  Wim Taymans  <wim@fluendo.com>
15849
15850         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15851         (gst_basesink_handle_object), (gst_basesink_event),
15852         (gst_basesink_do_sync), (gst_basesink_handle_event),
15853         (gst_basesink_change_state):
15854         * gst/gstpad.h:
15855         Unlock STREAM_LOCK whatever the recursion was.
15856
15857 2005-06-25  Wim Taymans  <wim@fluendo.com>
15858
15859         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15860         (gst_basesink_preroll_queue_empty),
15861         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15862         (gst_basesink_event), (gst_basesink_do_sync),
15863         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15864         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15865         (gst_basesink_change_state):
15866         Reworked the base sink, handle event and buffer serialisation
15867         correctly and removed possible deadlock.
15868         Handle EOS correctly.
15869
15870 2005-06-25  Wim Taymans  <wim@fluendo.com>
15871
15872         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15873         (gst_pipeline_change_state):
15874         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15875         Allow elements to post EOS in the state change function.
15876         Fix up -launch, make it exit the poll loop when the
15877         pipeline actually changed state.
15878         Fix up warning parsing in -launch.
15879
15880 2005-06-25  Wim Taymans  <wim@fluendo.com>
15881
15882         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15883         (gst_tee_sink_activate):
15884         Core takes STREAM_LOCK for us now.
15885
15886 2005-06-25  Wim Taymans  <wim@fluendo.com>
15887
15888         * gst/gstelement.c: (gst_element_get_state_func),
15889         (gst_element_set_state):
15890         * gst/gstelement.h:
15891         * gst/gstmessage.c: (gst_message_parse_error),
15892         (gst_message_parse_warning):
15893         Keep track of current target state while performing a state
15894         change so that subclasses can do something interesting.
15895         Fix parsing of warning/error messages when GError is NULL.
15896
15897 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15898
15899         * docs/gst/Makefile.am:
15900         * docs/gst/gstreamer-docs.sgml:
15901         * docs/gst/gstreamer-sections.txt:
15902         * docs/gst/gstreamer.types:
15903         * docs/gst/tmpl/gstbasesink.sgml:
15904         * docs/gst/tmpl/gstbasesrc.sgml:
15905         * docs/gst/tmpl/gstbin.sgml:
15906         * docs/gst/tmpl/gstcompat.sgml:
15907         * docs/gst/tmpl/gstfakesink.sgml:
15908         * docs/gst/tmpl/gstfakesrc.sgml:
15909         * docs/gst/tmpl/gstfilesink.sgml:
15910         * docs/gst/tmpl/gstfilesrc.sgml:
15911         * docs/gst/tmpl/gstindex.sgml:
15912         * docs/manual/appendix-quotes.xml:
15913         * gst/base/gstbasesrc.h:
15914         * gst/elements/gstfakesrc.h:
15915         * gst/gstmessage.h:
15916           start pulling in base classes and elements in our docs
15917
15918 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15919
15920         * docs/gst/Makefile.am:
15921         * docs/libs/Makefile.am:
15922           fixed make distcheck with gtk-doc 1.3
15923
15924 2005-06-23  Wim Taymans  <wim@fluendo.com>
15925
15926         * gst/gstelement.c: (gst_element_get_state_func),
15927         (gst_element_set_state), (gst_element_change_state):
15928         When the state did not change, also report NO_PREROLL
15929         when it matters.
15930
15931 2005-06-23  Wim Taymans  <wim@fluendo.com>
15932
15933         * gst/gstpad.c: (gst_pad_event_default):
15934         * gst/gstqueue.c: (gst_queue_loop):
15935         No unsafe task pausing please.
15936
15937 2005-06-23  Wim Taymans  <wim@fluendo.com>
15938
15939         * gst/schedulers/threadscheduler.c:
15940         (gst_thread_scheduler_task_start),
15941         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15942         Ref the task before pushing it on the threadpool. This
15943         makes sure that we have a ref when the threadfunction is
15944         actually called.
15945
15946 2005-06-23  Andy Wingo  <wingo@pobox.com>
15947
15948         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15949         offset is greater than the file's size.
15950
15951         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15952         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15953         * gst/gstobject.c (gst_object_class_init): Make the class lock
15954         recursive. Wim won't let me drop deep_notify. Decodebin works
15955         again, whoopdy doo.
15956
15957         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15958         internal pad, and hacks accordingly. Doesn't do it on the target
15959         pad because we change its caps. Probably catches all cases of
15960         interest tho.
15961         (gst_ghost_pad_set_property): Connect to notify::caps as
15962         appropritate.
15963
15964         * tests/network-clock.scm (plot-simulation): Pipe data to the
15965         elite python skript.
15966
15967         * tests/network-clock-utils.scm (define-parameter): New macro,
15968         defines a parameter that can be set via the command line.
15969         (set-parameter!, parse-parameter-arguments): Command line args
15970         parser.
15971
15972         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15973         stdin.
15974
15975 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15976
15977         * gst/elements/gsttypefindelement.c:
15978         (gst_type_find_element_handle_event):
15979           Don't restart typefinding on a discont.
15980         * gst/gstelement.c: (gst_element_set_state):
15981           Debug spelling fix.
15982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15983           Allow changing mode of an active pad.
15984           Debug output fixes.
15985         * gst/registries/gstlibxmlregistry.c: (load_feature):
15986           Don't cast a static pad template to a normal pad template.
15987
15988 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15989
15990         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15991         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15992           remove gst_strtoll completely, since it didn't actually do
15993           anything more than what g_ascii_strtoull already does.
15994           check for range errors when deserializing
15995           do a cast for the unsigned cases; but further fixing needs
15996           a decision on what the interpretation of "(int)" and
15997           deserialization should be for values that fall outside the
15998           type's boundaries (ie, refuse, or interpret as casting)
15999
16000 2005-06-23  Wim Taymans  <wim@fluendo.com>
16001
16002         * check/Makefile.am:
16003         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16004         * docs/design/part-live-source.txt:
16005         * docs/design/part-states.txt:
16006         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16007         (gst_basesrc_set_live), (gst_basesrc_is_live),
16008         (gst_basesrc_get_range), (gst_basesrc_activate),
16009         (gst_basesrc_change_state):
16010         * gst/base/gstbasesrc.h:
16011         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16012         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16013         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16014         * gst/gstelement.c: (gst_element_get_state_func),
16015         (gst_element_set_state):
16016         * gst/gstelement.h:
16017         * gst/gsttypes.h:
16018         * tools/gst-launch.c: (event_loop), (main):
16019         Added support for live sources and other elements that
16020         cannot do preroll.
16021         Updated design docs, added live-source design doc.
16022         Implemented live source functionality in basesrc
16023         Fix error condition in _bin_get_state()
16024         Implement live source handling in -launch.
16025         Added check for live sources.
16026         Fixed case in GstBin where elements were changed state
16027         multiple times.
16028
16029
16030 2005-06-23  Andy Wingo  <wingo@pobox.com>
16031
16032         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16033         borken refcounting.
16034
16035         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16036         gst_caps_replace takes care of this for us.
16037
16038         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16039         gst_pad_set_caps on the target, not just its setcaps() function.
16040
16041         * tests/network-clock.scm: 
16042         * tests/network-clock-utils.scm: A network clock simulator.
16043         Something of an algorithmic testbed before doing something in C.
16044
16045 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16046
16047         * check/Makefile.am:
16048         * check/gst/capslist.h:
16049           copy over from 0.8, and add two with bitmasks specified with
16050           (int) 0xFF...
16051         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16052           add test to parse everything from capslist.h
16053         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16054         (main):
16055           add test for structure deserialization
16056         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16057           add tests for deserialization of strings to int types
16058         * gst/gststructure.c: (gst_structure_nth_field_name):
16059         * gst/gststructure.h:
16060           add a way to get the name of a field referenced by index
16061         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16062           instead of checking if the resulting long long lies between
16063           min and max, we check if the long long would fit into
16064           a number of bytes for the final type.
16065           This fixes cases where a string represents 2^32 - 1, which
16066           when cast to int would be the (valid) -1, but is bigger than
16067           G_MAXINT
16068
16069 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16070
16071         * gst/parse/grammar.y:
16072           add a log line for type deserialization
16073
16074 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16075
16076         * check/gst/gstvalue.c: (START_TEST):
16077         * gst/gstvalue.c: (gst_value_deserialize):
16078           return long long, not int, so gint64 deserialization actually
16079           works.  Is there any flag that makes the compiler check this ?
16080           Fixes #308559
16081
16082 2005-06-22  Wim Taymans  <wim@fluendo.com>
16083
16084         * gst/gstbuffer.h:
16085         Added convenience macros for setting buffers in GValue.
16086
16087 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16088
16089         * check/gst/.cvsignore:
16090         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16091           add a test deserializing int64, and comment part out because
16092           it fails, yay !
16093
16094 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16095
16096         * check/Makefile.am:
16097         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16098         * testsuite/Makefile.am:
16099         * testsuite/caps/Makefile.am:
16100         * testsuite/caps/value_serialize.c:
16101         * testsuite/test_gst_init.c:
16102           move a value_serialize test over
16103
16104 2005-06-20  Wim Taymans  <wim@fluendo.com>
16105
16106         * gst/gstpad.c:
16107         Small doc updates.
16108         
16109         * gst/gstvalue.c: (gst_value_compare_buffer),
16110         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16111         (gst_value_compare_flags), (gst_value_serialize_flags),
16112         (gst_value_deserialize_flags), (_gst_value_initialize):
16113         Fix serialisation of buffers, they are not boxed types anymore
16114
16115 2005-06-20  Wim Taymans  <wim@fluendo.com>
16116
16117         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16118         Testcase to show error in buffer-on-caps serialisation.
16119
16120 2005-06-20  Andy Wingo  <wingo@pobox.com>
16121
16122         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16123         will be adding to later.
16124
16125         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16126         if its socks fill with rocks.
16127         (gst_system_clock_obtain): Set the name on object construction.
16128         Avoid double-checked locking.
16129
16130 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16131
16132         * gst/gsturi.c: (gst_element_make_from_uri):
16133           Fix potential endless loop.
16134
16135 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16136
16137         * check/Makefile.am:
16138           add gsttag
16139         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16140         (main):
16141           move over from testsuite dir and clean up
16142         * configure.ac:
16143         * gst/gsttag.c:
16144         * testsuite/Makefile.am:
16145         * testsuite/tags/.cvsignore:
16146         * testsuite/tags/Makefile.am:
16147         * testsuite/tags/merge.c:
16148           remove testsuite/tags
16149
16150 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16151
16152         * docs/gst/gstreamer-sections.txt:
16153         * docs/gst/tmpl/gstenumtypes.sgml:
16154         * win32/gstenumtypes.c:
16155           clean up documentation build a little
16156
16157 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16158
16159         * check/gstcheck.h:
16160           add macros for checking refcounts on objects and caps
16161         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16162           add some more unit tests
16163         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16164         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16165           fix leaked refcounts (I hope :)) so unittest works
16166         * gst/gstpad.h:
16167           whitespace removal
16168
16169 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16170
16171         * configure.ac: back to HEAD
16172
16173 === release 0.9.1 ===
16174
16175 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16176
16177         * NEWS:
16178         * RELEASE:
16179           updated
16180
16181 2005-06-17  Andy Wingo  <wingo@pobox.com>
16182
16183         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16184         assert; it's always possible that the pad gets deactivated in
16185         between the checks in gstpad.c and the implementation. Rely on
16186         finish_preroll() to return a FLUSHING or similar instead of on the
16187         assert.
16188         
16189         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16190         clock and post an EOS message if we come out of finish_preroll in
16191         the playing state.
16192
16193 2005-06-16  David Schleef  <ds@schleef.org>
16194
16195         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16196         (gst_capsfilter_set_property): Allow NULL as possible value
16197         for filter_caps property, indicating GST_CAPS_ANY.
16198
16199 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16200
16201         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16202           fix debug output
16203         * gst/schedulers/Makefile.am:
16204           use libgst prefix
16205         * gstreamer.spec.in:
16206           fix spec for it
16207
16208 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16209
16210         * gstreamer.spec.in:
16211           clean up
16212
16213 2005-06-08  Andy Wingo  <wingo@pobox.com>
16214
16215         * gst/gstutils.c: RPAD fixes all around.
16216         (gst_element_link_pads): Refcounting fixes.
16217
16218         * tools/gst-inspect.c:
16219         * tools/gst-xmlinspect.c:
16220         * parse/grammar.y:
16221         * gst/base/gsttypefindhelper.c:
16222         * gst/base/gstbasesink.c:
16223         * gst/gstqueue.c: RPAD fixes.
16224
16225         * gst/gstghostpad.h:
16226         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16227         pads. The tricky thing is they provide both source and sink
16228         interfaces, since they proxy the internal pad for the external
16229         pad, and vice versa. Implement with lower-level ProxyPad objects,
16230         with the interior proxy pad as a child of the exterior ghost pad.
16231         Should write a doc on this.
16232         
16233         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16234         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16235         gst_object API.
16236         
16237         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16238         pads are real pads. No ghost pads in this file. Not documenting
16239         the myriad s/RPAD/PAD/ and REALIZE fixes.
16240         (gst_pad_class_init): Add properties for "direction" and
16241         "template". Both are construct-only, so they can't change during
16242         the life of the pad. Fixes properly deriving from GstPad.
16243         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16244         derived objects, just set properties when creating the objects via
16245         g_object_new.
16246         (gst_pad_get_parent): Implement as a function, return NULL if the
16247         parent is not an element.
16248         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16249         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16250         
16251         * gst/gstobject.c (gst_object_class_init): Make name a construct
16252         property. Don't set it in the object init.
16253
16254         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16255         with UNKNOWN direction.
16256         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16257         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16258         (gst_element_remove_pad): Remove ghost-pad special cases.
16259         (gst_element_pads_activate): Remove rpad cruft.
16260
16261         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16262         catch the pad's-parent-not-an-element case.
16263
16264         * gst/gst.h: Include gstghostpad.h.
16265
16266         * gst/gst.c (init_post): No more real, ghost pads.
16267
16268         * gst/Makefile.am: Add gstghostpad.[ch].
16269
16270         * check/Makefile.am:
16271         * check/gst/gstbin.c:
16272         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16273         into a bin creates ghost pads, and that the refcounts are right.
16274         Partly moved from gstbin.c.
16275
16276 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16277
16278         * check/gst-libs/.cvsignore:
16279         * check/gst/.cvsignore:
16280         * check/pipelines/.cvsignore:
16281           ignore more
16282         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16283         (START_TEST), (cleanup_suite), (main):
16284           add some tests related to cleanup after running pipelines
16285
16286 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16287
16288         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16289           add a testsuite for GstBuffer
16290
16291 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16292
16293         * gst/gstminiobject.h:
16294           add defines for accessing the refcount
16295
16296 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16297
16298         * Makefile.am: added support for html unit test coverage reports
16299
16300 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16301
16302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16303           Free existing caps if the capsfilter changes. Add a FIXME about
16304           setting those caps on the pads.
16305
16306         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16307           Before adding a ghost pad to a parent bin, check that there isn't
16308           already one for the element on the bin. Prevents infinite recursion
16309           when using decodebin in parse pipelines. Andy says he'll rewrite the
16310           way this works anyway, so ignore the hack.
16311
16312 2005-06-02  Andy Wingo  <wingo@pobox.com>
16313
16314         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16315         file size, pass it on to the type find helper.
16316
16317         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16318         segment_start and segment_end properly according to the seek
16319         method. Segment_end is still a bit flaky because offset can be
16320         negative for CUR and END cases, but it takes -1 as an "unset"
16321         value.
16322
16323 2005-06-02  Wim Taymans  <wim@fluendo.com>
16324
16325         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16326         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16327         (gst_basesink_activate):
16328         * gst/base/gstbasesink.h:
16329         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16330         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16331         (gst_pad_query), (gst_pad_start_task):
16332         * gst/gstpad.h:
16333         * gst/gstqueue.c: (gst_queue_bufferalloc),
16334         (gst_queue_handle_sink_event), (gst_queue_chain):
16335         Bufferalloc: return GstFlowReturn to more accuratly report
16336         why allocation failed.
16337
16338 2005-06-02  Wim Taymans  <wim@fluendo.com>
16339
16340         * gst/gstpipeline.c: (gst_pipeline_send_event):
16341         Take snapshot of state without blocking.
16342
16343 2005-06-02  Wim Taymans  <wim@fluendo.com>
16344
16345         * docs/design/part-TODO.txt:
16346         * docs/design/part-caps.txt:
16347         * docs/design/part-clocks.txt:
16348         * docs/design/part-negotiation.txt:
16349         * docs/design/part-preroll.txt:
16350         Small doc updates 
16351
16352 2005-05-30  Wim Taymans  <wim@fluendo.com>
16353
16354         * gst/elements/gstidentity.c: (gst_identity_event),
16355         (gst_identity_transform), (gst_identity_get_property):
16356         Protect last_message property as it is accessed from
16357         multiple threads.
16358
16359 2005-05-30  Wim Taymans  <wim@fluendo.com>
16360
16361         * gst/gstelement.c: (gst_element_init),
16362         (gst_element_pads_activate), (gst_element_change_state):
16363         Slicker pad activation code.
16364
16365 2005-05-30  Wim Taymans  <wim@fluendo.com>
16366
16367         * gst/Makefile.am:
16368         * gst/gstelement.h:
16369         * gst/gstelementfactory.h:
16370         * gst/gsttypes.h:
16371         Move elementfactory methods to separate .h file.
16372
16373 2005-05-30  Wim Taymans  <wim@fluendo.com>
16374
16375         * docs/design/part-overview.txt:
16376         * gst/gstsystemclock.h:
16377         Small typo fixes, doc updates.
16378
16379 2005-05-30  Wim Taymans  <wim@fluendo.com>
16380
16381         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16382         (init_popt_callback):
16383         Remove cpu-opt flag.
16384
16385 2005-05-30  Wim Taymans  <wim@fluendo.com>
16386
16387         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16388         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16389         * gst/gstbuffer.h:
16390         Avoid typechecking in places where not needed.
16391         Added accessor for malloc_data.
16392
16393 2005-05-30  Wim Taymans  <wim@fluendo.com>
16394
16395         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16396         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16397         (gst_pad_configure_sink), (gst_pad_configure_src),
16398         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16399         (gst_pad_start_task):
16400         Propagate errors from _set_caps() in configure_src/sink
16401         functions instead of returning TRUE.
16402         FLUSH events can travel up and downstream
16403
16404
16405 2005-05-30  Wim Taymans  <wim@fluendo.com>
16406
16407         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16408         (gst_basesink_activate):
16409         Handle EOS in preroll.
16410
16411 2005-05-30  Wim Taymans  <wim@fluendo.com>
16412
16413         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16414         (gst_queue_loop), (gst_queue_handle_src_event):
16415         Remove old pieces of code
16416         Flushing the queue in an upstream event is a very bad idea.
16417
16418 2005-05-26  Andy Wingo  <wingo@pobox.com>
16419
16420         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16421         gst_value_set_mini_object so as to add a ref on the object (which
16422         will be removed when the value is unset).
16423
16424         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16425         arg type in ::handoff.
16426
16427         * gst/gstelement.c (gst_element_change_state): Also deactivate
16428         pads in READY->NULL, just in case the element didn't make it to
16429         PAUSED. Wingo tested, Wim approved.
16430
16431 2005-05-26  Wim Taymans  <wim@fluendo.com>
16432
16433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16434         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16435         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16436         A flushing pad cannot be used to alloc_buffer from.
16437
16438 2005-05-26  Wim Taymans  <wim@fluendo.com>
16439
16440         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16441         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16442         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16443         (gst_bus_create_watch), (gst_bus_add_watch_full):
16444         * gst/gstbus.h:
16445         Implement a real GSource and use g_main_context_wakeup() to
16446         signal new messages instead of the socketpair.
16447
16448 2005-05-25  Wim Taymans  <wim@fluendo.com>
16449
16450         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16451         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16452         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16453         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16454         (gst_pad_send_event), (gst_pad_start_task):
16455         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16456         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16457         (gst_queue_sink_activate), (gst_queue_src_activate),
16458         (gst_queue_change_state):
16459         * gst/gstqueue.h:
16460         Fix state changes for non sinks. We now change sinks, then elements
16461         with unconnected srcpads, then the rest.
16462         More efficient queue unlocking in flush and state changes.
16463         Set the pad activate mode even if it does not have an activate
16464         function.
16465
16466 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16467
16468         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16469           Don't go in pull mode for non-seekable sources.
16470         * gst/elements/gsttypefindelement.h:
16471         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16472         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16473         (free_entry), (stop_typefinding),
16474         (gst_type_find_element_handle_event), (find_peek),
16475         (gst_type_find_element_chain), (do_pull_typefind),
16476         (gst_type_find_element_change_state):
16477           Allow typefinding (w/o seeking) in push-mode, simplified version
16478           of what was in 0.8.
16479         * gst/gstutils.c: (gst_buffer_join):
16480         * gst/gstutils.h:
16481           gst_buffer_join() from 0.8.
16482
16483 2005-05-25  Wim Taymans  <wim@fluendo.com>
16484
16485         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16486         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16487         (gst_pad_send_event), (gst_pad_start_task):
16488         Disable attempt at mode switching until it is figured out.
16489
16490 2005-05-25  Wim Taymans  <wim@fluendo.com>
16491
16492         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16493         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16494         (gst_basesink_finish_preroll), (gst_basesink_chain),
16495         (gst_basesink_loop), (gst_basesink_activate),
16496         (gst_basesink_change_state):
16497         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16498         (gst_basesrc_get_range), (gst_basesrc_loop),
16499         (gst_basesrc_activate):
16500         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16501         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16502         (gst_real_pad_init), (gst_real_pad_set_property),
16503         (gst_real_pad_get_property), (gst_pad_set_active),
16504         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16505         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16506         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16507         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16508         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16509         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16510         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16511         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16512         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16513         (gst_pad_stop_task):
16514         * gst/gstpad.h:
16515         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16516         (gst_queue_loop), (gst_queue_src_activate):
16517         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16518         (gst_task_get_state):
16519         * gst/gsttask.h:
16520         * gst/schedulers/threadscheduler.c:
16521         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16522         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16523         in task function.
16524         Remove ACTIVE pad flag, use FLUSHING everywhere
16525         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16526         functions.
16527         Add locks around IS_FLUSHING when reading.
16528         Take STREAM lock in chain(), get_range() functions so plugins
16529         don't need to take it anymore.
16530         
16531
16532
16533 2005-05-25  Wim Taymans  <wim@fluendo.com>
16534
16535         * tools/gst-launch.c: (event_loop):
16536         Unref message after using its contents instead of
16537         before.
16538
16539 2005-05-24  Wim Taymans  <wim@fluendo.com>
16540
16541         * docs/design/draft-ghostpads.txt:
16542         * docs/design/draft-push-pull.txt:
16543         * docs/design/draft-query.txt:
16544         * docs/design/part-overview.txt:
16545         Docs updates, added general overview doc.
16546
16547 2005-05-21  David Schleef  <ds@schleef.org>
16548
16549         * docs/gst/tmpl/old/GstBin.sgml:
16550         * docs/gst/tmpl/old/GstBuffer.sgml:
16551         * docs/gst/tmpl/old/GstCaps.sgml:
16552         * docs/gst/tmpl/old/GstClock.sgml:
16553         * docs/gst/tmpl/old/GstCompat.sgml:
16554         * docs/gst/tmpl/old/GstData.sgml:
16555         * docs/gst/tmpl/old/GstElement.sgml:
16556         * docs/gst/tmpl/old/GstEvent.sgml:
16557         * docs/gst/tmpl/old/GstIndex.sgml:
16558         * docs/gst/tmpl/old/GstStructure.sgml:
16559         * docs/gst/tmpl/old/GstTag.sgml:
16560         * docs/gst/tmpl/old/cothreads.sgml:
16561         * docs/gst/tmpl/old/cothreads_compat.sgml:
16562         * docs/gst/tmpl/old/gettext.sgml:
16563         * docs/gst/tmpl/old/gobject2gtk.sgml:
16564         * docs/gst/tmpl/old/grammar.tab.sgml:
16565         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16566         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16567         * docs/gst/tmpl/old/gst_private.sgml:
16568         * docs/gst/tmpl/old/gstaggregator.sgml:
16569         * docs/gst/tmpl/old/gstarch.sgml:
16570         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16571         * docs/gst/tmpl/old/gstbufferstore.sgml:
16572         * docs/gst/tmpl/old/gstdata_private.sgml:
16573         * docs/gst/tmpl/old/gstdisksink.sgml:
16574         * docs/gst/tmpl/old/gstdisksrc.sgml:
16575         * docs/gst/tmpl/old/gstelementfactory.sgml:
16576         * docs/gst/tmpl/old/gstextratypes.sgml:
16577         * docs/gst/tmpl/old/gstfakesink.sgml:
16578         * docs/gst/tmpl/old/gstfakesrc.sgml:
16579         * docs/gst/tmpl/old/gstfdsink.sgml:
16580         * docs/gst/tmpl/old/gstfdsrc.sgml:
16581         * docs/gst/tmpl/old/gstfilesink.sgml:
16582         * docs/gst/tmpl/old/gstfilesrc.sgml:
16583         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16584         * docs/gst/tmpl/old/gstidentity.sgml:
16585         * docs/gst/tmpl/old/gstindexfactory.sgml:
16586         * docs/gst/tmpl/old/gstmarshal.sgml:
16587         * docs/gst/tmpl/old/gstmd5sink.sgml:
16588         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16589         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16590         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16591         * docs/gst/tmpl/old/gstpipefilter.sgml:
16592         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16593         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16594         * docs/gst/tmpl/old/gstshaper.sgml:
16595         * docs/gst/tmpl/old/gstspider.sgml:
16596         * docs/gst/tmpl/old/gstspideridentity.sgml:
16597         * docs/gst/tmpl/old/gststatistics.sgml:
16598         * docs/gst/tmpl/old/gsttee.sgml:
16599         * docs/gst/tmpl/old/gsttimecache.sgml:
16600         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16601         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16602         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16603         * docs/gst/tmpl/old/types.sgml:
16604           I didn't intend to add these or check them in.
16605
16606 2005-05-19  David Schleef  <ds@schleef.org>
16607
16608         * configure.ac: Use -no-common everywhere.  In a sane world, it
16609           would be the default in libtool, because without it, you can't
16610           build DLLs on Windows.
16611         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16612         * docs/gst/gstreamer-sections.txt:
16613         * docs/gst/tmpl/gstcpu.sgml:
16614         * docs/gst/tmpl/gstdata.sgml:
16615         * docs/gst/tmpl/gstthread.sgml:
16616
16617 2005-05-19  David Schleef  <ds@schleef.org>
16618
16619         * gst/gstminiobject.c: (gst_value_set_mini_object),
16620         (gst_value_take_mini_object), (gst_value_get_mini_object):
16621         * gst/gstminiobject.h: Add GValue set/get functions.
16622
16623 2005-05-19  Wim Taymans  <wim@fluendo.com>
16624
16625         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16626         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16627         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16628         * gst/gstbuffer.h:
16629         * gst/gstbus.c: (gst_bus_post):
16630         * gst/gstelement.c: (gst_element_get_random_pad):
16631         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16632         Make subbufer unref the parent in finalize.
16633         some more debugging info.
16634
16635
16636 2005-05-19  Wim Taymans  <wim@fluendo.com>
16637
16638         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16639         (gst_basesink_init), (gst_basesink_finalize),
16640         (gst_basesink_activate), (gst_basesink_change_state):
16641         Don't free preroll queue too early.
16642
16643 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16644
16645         * gst/Makefile.am:
16646         * gst/ROADMAP:
16647           Hi, I'm outdated. Please shoot me.
16648
16649 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16650
16651         * gst/gstpipeline.c: (gst_pipeline_send_event):
16652           Do not access variables after they have been deleted.
16653
16654 2005-05-19  Wim Taymans  <wim@fluendo.com>
16655
16656         * tools/gst-inspect.c: (print_plugin_features):
16657         A plugin feature does unfortunatly not use the
16658         object name yet...
16659
16660 2005-05-18  Wim Taymans  <wim@fluendo.com>
16661
16662         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16663         Port _span() functions to new subbuffers.
16664
16665 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16666
16667         * gst/gstbin.c: (gst_bin_add_func):
16668           Fix clock settery in bins when adding kids after the clock has
16669           been selected.
16670
16671 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16672
16673         * gst/elements/gstidentity.c: (gst_identity_class_init):
16674           Workaround until signals support GstMiniObject.
16675
16676 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16677
16678         * gst/gstbuffer.c:
16679         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16680
16681 2005-05-18  Wim Taymans  <wim@fluendo.com>
16682
16683         * gst/base/Makefile.am:
16684         * gst/base/gstadapter.c: (gst_adapter_base_init),
16685         (gst_adapter_class_init), (gst_adapter_init),
16686         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16687         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16688         (gst_adapter_flush), (gst_adapter_available),
16689         (gst_adapter_available_fast):
16690         * gst/base/gstadapter.h:
16691         Ported and added adapter to the base classes.
16692
16693 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16694
16695         * gst/gst.c:
16696         * gst/gstmessage.c:
16697           Make sure the class is reffed/unreffed once before threads can be
16698           used.  Fixes #304551.
16699
16700 2005-05-17  Wim Taymans  <wim@fluendo.com>
16701
16702         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16703         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16704         * gst/gstminiobject.c: (gst_mini_object_get_type),
16705         (gst_mini_object_free):
16706         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16707         (gst_pad_push), (gst_pad_push_event):
16708         * gst/gstqueue.c: (gst_queue_change_state):
16709         Don't queue buffers in basesink when we are flushing.
16710         Unref buffer when flushing in basesink.
16711         Flush queue when going to READY
16712         Unref buffer when _push() returns an error.
16713         Don't free MiniObject instance when refcount is incremented
16714         in _finalize() so that we can recover objects.
16715
16716 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * docs/manual/advanced-schedulers.xml:
16719         * docs/manual/appendix-checklist.xml:
16720         * docs/pwg/advanced-clock.xml:
16721         * docs/pwg/advanced-interfaces.xml:
16722         * docs/pwg/advanced-request.xml:
16723         * docs/pwg/advanced-types.xml:
16724         * docs/pwg/intro-preface.xml:
16725         * examples/plugins/example.c: (gst_example_get_type),
16726         (gst_example_class_init), (gst_example_chain),
16727         (gst_example_set_property), (gst_example_get_property),
16728         (gst_example_change_state), (plugin_init):
16729         * examples/plugins/example.h:
16730           small doc fixes
16731
16732 2005-05-17  Wim Taymans  <wim@fluendo.com>
16733
16734         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16735         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16736         * gst/gstqueue.c: (gst_queue_change_state):
16737         Clear queue when going to READY.
16738         Remove IN_SETCAPS flag too.
16739
16740 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16741
16742         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16743           Remove implicit cast from gboolean to GstElementStateReturn;
16744           make sure we still return failure in paused => ready case if
16745           the parent class fails to change state and our own stop 
16746           vfunc succeeds.
16747
16748 2005-05-17  Wim Taymans  <wim@fluendo.com>
16749
16750         * tools/gst-launch.c: (event_loop):
16751         Message was unreffed too soon.
16752
16753 2005-05-16  Andy Wingo  <wingo@pobox.com>
16754
16755         * gst/gstbin.c (sink_iterator_filter): Err... um...
16756
16757         * check/gst/gstbin.c (test_ghost_pads): New test for the
16758         ghosting-if-elements-not-in-same-bin behavior.
16759
16760 2005-05-16  David Schleef  <ds@schleef.org>
16761
16762         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16763         accessing refcount directly.
16764
16765 2005-05-15  David Schleef  <ds@schleef.org>
16766
16767         * check/Makefile.am: remove GstData checks
16768         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16769         * gst/Makefile.am: add miniobject, remove data
16770         * gst/gst.h: add miniobject, remove data
16771         * gst/gstdata.c: remove
16772         * gst/gstdata.h: remove
16773         * gst/gstdata_private.h: remove
16774         * gst/gsttypes.h: remove GstEvent and GstMessage
16775         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16776         * gst/gstmarshal.list: change BOXED -> OBJECT
16777
16778         Implement GstMiniObject.
16779         * gst/gstminiobject.c:
16780         * gst/gstminiobject.h:
16781
16782         Modify to be subclasses of GstMiniObject.
16783         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16784         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16785         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16786         (gst_subbuffer_get_type), (gst_subbuffer_init),
16787         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16788         (gst_buffer_span):
16789         * gst/gstbuffer.h:
16790         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16791         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16792         (_gst_event_copy), (gst_event_new):
16793         * gst/gstevent.h:
16794         * gst/gstmessage.c: (_gst_message_initialize),
16795         (gst_message_get_type), (gst_message_class_init),
16796         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16797         (gst_message_new), (gst_message_new_error),
16798         (gst_message_new_warning), (gst_message_new_tag),
16799         (gst_message_new_state_changed), (gst_message_new_application):
16800         * gst/gstmessage.h:
16801         * gst/gstprobe.c: (gst_probe_perform),
16802         (gst_probe_dispatcher_dispatch):
16803         * gst/gstprobe.h:
16804         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16805         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16806         (_gst_query_copy), (gst_query_new):
16807
16808         Update elements for GstData -> GstMiniObject changes
16809         * gst/gstquery.h:
16810         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16811         (gst_queue_chain), (gst_queue_loop):
16812         * gst/elements/gstbufferstore.c:
16813         (gst_buffer_store_add_buffer_func),
16814         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16815         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16816         (gst_fakesink_render):
16817         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16818         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16819         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16820         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16821         (gst_filesrc_create_read):
16822         * gst/elements/gstidentity.c: (gst_identity_class_init):
16823         * gst/elements/gsttypefindelement.c:
16824         (gst_type_find_element_src_event), (free_entry_buffers),
16825         (gst_type_find_element_handle_event):
16826         * libs/gst/dataprotocol/dataprotocol.c:
16827         (gst_dp_header_from_buffer):
16828         * libs/gst/dataprotocol/dataprotocol.h:
16829         * libs/gst/dataprotocol/dp-private.h:
16830
16831 2005-05-15  David Schleef  <ds@schleef.org>
16832
16833         * gst/elements/gstelements.c: Don't include headers that were
16834         just removed.
16835
16836 2005-05-15  David Schleef  <ds@schleef.org>
16837
16838         * gst/elements/Makefile.am: Remove some elements that don't
16839         need to be in the core (or even exist at all).
16840         * gst/elements/gstaggregator.c:
16841         * gst/elements/gstaggregator.h:
16842         * gst/elements/gstmd5sink.c:
16843         * gst/elements/gstmd5sink.h:
16844         * gst/elements/gstmultifilesrc.c:
16845         * gst/elements/gstmultifilesrc.h:
16846         * gst/elements/gstpipefilter.c:
16847         * gst/elements/gstpipefilter.h:
16848         * gst/elements/gstshaper.c:
16849         * gst/elements/gstshaper.h:
16850         * gst/elements/gststatistics.c:
16851         * gst/elements/gststatistics.h:
16852         * po/POTFILES.in: Remove above files.
16853
16854 2005-05-14  Andy Wingo  <wingo@pobox.com>
16855
16856         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16857         so as to get the refs right.
16858         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16859         unreffing objects that don't pass the filter.
16860
16861         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16862         gst_element_set_bus.
16863         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16864         normal cases, this will destroy the bus.
16865
16866         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16867         object.
16868
16869         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16870         has no sinks.
16871
16872 2005-05-13  Andy Wingo  <wingo@pobox.com>
16873
16874         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16875         gst_pad_link, call pad_link_maybe_ghosting,
16876         (pad_link_maybe_ghosting): Links pads, making sure that the
16877         elements being linked are in the same bin.
16878         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16879         Helpers for pad_link_maybe_ghosting.
16880
16881 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16882
16883         * configure.ac:
16884           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16885
16886 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16887
16888         * docs/design/part-element-source.txt:
16889           Mention GstPushSrc
16890
16891 2005-05-12  Wim Taymans  <wim@fluendo.com>
16892
16893         * gst/base/gstbasesink.c: (gst_basesink_init),
16894         (gst_basesink_activate):
16895         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16896         (gst_basesrc_is_seekable):
16897         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16898         (bin_element_is_sink), (gst_bin_change_state):
16899         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16900         * gst/gstelement.h:
16901         Identify sinks by their flag to avoid overly complicated
16902         checks (fow now).
16903         Do state changes even for elements not reachable from the
16904         sinks.
16905         BaseSink is a sink now :)
16906         Some more debugging info in the basesrc.
16907
16908
16909 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16910
16911         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16912           Implement _query on a bin, similar to _send_event.
16913
16914 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16915
16916         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16917           Discont event offset format should be GST_FORMAT_BYTES,
16918           not GST_FORMAT_TIME.
16919
16920 2005-05-12  Wim Taymans  <wim@fluendo.com>
16921
16922         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16923         Same fix as Ronald's but without the signal. 
16924
16925 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16926
16927         * gst/gstutils.c: (gst_element_query_position):
16928           No, an element is not a pad.
16929
16930 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16931
16932         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16933         (gst_bin_get_state):
16934           If a child is removed from a bin while we remove the child from
16935           the bin and while we're retrieving its state, signal this to the
16936           get_state function so we abort the wait (instead of waiting for
16937           a timeout) and can immediately re-iterate over all other elements.
16938
16939 2005-05-12  Wim Taymans  <wim@fluendo.com>
16940
16941         * gst/base/Makefile.am:
16942         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16943         (gst_basesrc_start):
16944         * gst/base/gstbasesrc.h:
16945         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16946         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16947         (gst_pushsrc_init), (gst_pushsrc_create):
16948         * gst/base/gstpushsrc.h:
16949         Added is_seekable to BaseSrc
16950         Added simple PushSrc.
16951
16952 2005-05-11  Wim Taymans  <wim@fluendo.com>
16953
16954         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16955         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16956         (gst_element_link_pads), (gst_element_query_position),
16957         (gst_element_query_convert), (intersect_caps_func),
16958         (gst_pad_query_position), (gst_pad_query_convert):
16959         Fix refcounting in utils function.
16960         No point in trying to activate a pad when it's added, it could
16961         be added from the state change function and then we deadlock, the
16962         element has to decide what to do.
16963
16964 2005-05-10  Andy Wingo  <wingo@pobox.com>
16965
16966         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16967         *all* the arguments.
16968
16969         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16970         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16971         lock (according to the docs -- if this is wrong change the docs).
16972
16973         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16974         flush messages in the NULL state.
16975
16976         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16977         message immediately and return.
16978         (gst_bus_set_flushing): New function. If a bus is flushing, it
16979         flushes out any queued messages and immediately unrefs new
16980         messages. This is so when an element goes to NULL, all of the
16981         unhandled messages coming from it can be freed, and their
16982         references to the element dropped. In other words: message source
16983         ref considered harmful :P
16984
16985         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16986         we're finished with it.
16987
16988         * gst/gstmessage.c (gst_message_new_state_changed): 
16989
16990 2005-05-10  Wim Taymans  <wim@fluendo.com>
16991
16992         * gst/gstvalue.c: (gst_value_compare_flags),
16993         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16994         (_gst_value_initialize):
16995         Added flags serialize/deserialize/compare code.
16996
16997 2005-05-09  Andy Wingo  <wingo@pobox.com>
16998
16999         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17000         Intersect the peer's caps with our caps.
17001
17002 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17003
17004         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17005         * gst/elements/gsttypefindelement.c: (find_peek):
17006           Handle negative offsets better. Fixes decodebin.
17007
17008 2005-05-09  Wim Taymans  <wim@fluendo.com>
17009
17010         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17011         (gst_base_transform_event):
17012         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17013         Implement accept_caps.
17014         Fix silly lock/unlock mismatch in base class.
17015
17016 2005-05-09  Wim Taymans  <wim@fluendo.com>
17017
17018         * docs/design/draft-push-pull.txt:
17019         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17020         * gst/elements/gstfilesink.c: (gst_filesink_init),
17021         (gst_filesink_query):
17022         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17023         (gst_type_find_handle_src_query), (find_element_get_length):
17024         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17025         * gst/gstelement.h:
17026         * gst/gstmessage.c:
17027         * gst/gstmessage.h:
17028         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17029         (gst_real_pad_get_caps_unlocked),
17030         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17031         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17032         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17033         (gst_real_pad_dispose), (gst_real_pad_finalize),
17034         (gst_pad_load_and_link), (gst_pad_save_thyself),
17035         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17036         (gst_pad_check_pull_range), (gst_pad_pull_range),
17037         (gst_pad_template_get_type), (gst_pad_template_class_init),
17038         (gst_pad_template_init), (gst_pad_template_dispose),
17039         (name_is_valid), (gst_static_pad_template_get),
17040         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17041         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17042         (gst_pad_get_element_private), (gst_pad_start_task),
17043         (gst_pad_pause_task), (gst_pad_stop_task),
17044         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17045         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17046         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17047         (gst_ghost_pad_new):
17048         * gst/gstpad.h:
17049         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17050         (gst_query_new_position), (gst_query_set_position),
17051         (gst_query_parse_position), (gst_query_new_convert),
17052         (gst_query_set_convert), (gst_query_parse_convert):
17053         * gst/gstquery.h:
17054         * gst/gstqueryutils.c:
17055         * gst/gstqueryutils.h:
17056         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17057         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17058         (gst_queue_handle_src_query):
17059         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17060         (gst_element_query_position), (gst_element_query_convert),
17061         (intersect_caps_func), (gst_pad_query_position),
17062         (gst_pad_query_convert):
17063         * gst/gstutils.h:
17064         * tools/gst-inspect.c: (print_pad_info):
17065         * tools/gst-xmlinspect.c: (print_element_info):
17066         Remove old query functions. Ported old code.
17067         Added position/convert helper functions to gstutils.
17068         Reordered gstpad.c code, grouping relevant things.
17069         Remove gst_message_new(), always need to speficy a specific
17070         message.
17071
17072
17073 2005-05-09  Andy Wingo  <wingo@pobox.com>
17074
17075         * gst/gstiterator.h: Add some includes.
17076
17077         * gst/gstqueryutils.h: Include more headers.
17078
17079         * gst/gstpad.h:
17080         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17081         some uses of gst_pad_query.
17082
17083         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17084         NULL out parameters.
17085         (gst_query_new_position): New proc, allocates a new position
17086         query.
17087
17088         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17089         gstqueryutils.c to the build.
17090
17091         * gst/gststructure.c (gst_structure_set_valist): Implement with
17092         the generic G_VALUE_COLLECT.
17093         
17094 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17095
17096         * gst/Makefile.am: (gst_headers):
17097         Added gstqueryutils.h to the list of headers to install, that was
17098         a 'nachty' move wingo :)
17099
17100 2005-05-06  Andy Wingo  <wingo@pobox.com>
17101
17102         * gst/gstquery.h
17103         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17104         GstData, init a memchunk.
17105         (standard_definitions): Add a few query types, deprecate a few.
17106         (gst_query_get_type): New proc.
17107         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17108         implementation.
17109         (gst_query_new_application, gst_query_get_structure): New public
17110         procs.
17111
17112         * docs/design/draft-query.txt: Removed LINKS from the query types,
17113         because all the rest can be dispatched to other pads -- seemed
17114         ugly to have a query that couldn't be dispatched. internal_links
17115         is fine as a pad method.
17116
17117         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17118         in gstpad.c, but maintain binary compatibility for the moment.
17119         Will fix before 0.9 is out.
17120
17121         * gst/gstqueryutils.c: 
17122         * gst/gstqueryutils.h: New files, implement 3 methods for each
17123         query type: parse_query, parse_response, and set. Probably need an
17124         allocator as well.
17125
17126         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17127
17128         * gst/elements/gstfilesink.c (gst_filesink_query2):
17129         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17130         query_types, and formats methods.
17131
17132         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17133         (gst_pad_set_query2_function): New functions.
17134         (gst_real_pad_init): Set query2_default as the default query2
17135         function. Basically just dispatches to internally linked pads.
17136
17137         Needs review!
17138         
17139         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17140         without using the atomic operations. Only one thread can possibly
17141         be accessing the data at this point. Changed so as to avoid
17142         gst_atomic operations.
17143
17144 2005-05-06  Wim Taymans  <wim@fluendo.com>
17145
17146         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17147         Also set caps if we use the fallback buffer alloc.
17148
17149 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17150
17151         * docs/gst/Makefile.am:
17152         * docs/gst/gstreamer-docs.sgml:
17153         * docs/gst/gstreamer-sections.txt:
17154         * docs/gst/tmpl/gstatomic.sgml:
17155         * docs/gst/tmpl/gstmemchunk.sgml:
17156         * testsuite/elements/struct_i386.h:
17157         * win32/GStreamer.vcproj:
17158         * win32/Makefile:
17159           Purge GstAtomic stuff from docs and win32 makefiles as well
17160
17161 2005-05-06  Wim Taymans  <wim@fluendo.com>
17162
17163         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17164         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17165         * gst/gstpad.c: (gst_pad_peer_get_caps):
17166         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17167         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17168         (gst_queue_src_activate), (gst_queue_change_state):
17169         * gst/gstqueue.h:
17170         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17171         (intersect_caps_func):
17172         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17173         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17174         Some fixes for the peer_get_caps() change.
17175
17176 2005-05-06  Wim Taymans  <wim@fluendo.com>
17177
17178         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17179         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17180         (gst_basesink_activate):
17181         Actually do something with error codes returned from the push
17182         functions.
17183
17184 2005-05-06  Wim Taymans  <wim@fluendo.com>
17185
17186         * docs/design/part-element-sink.txt:
17187         * docs/design/part-element-source.txt:
17188         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17189         (gst_basesink_event), (gst_basesink_activate):
17190         * gst/base/gstbasesink.h:
17191         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17192         (gst_basesrc_activate):
17193         * gst/base/gstbasesrc.h:
17194         * gst/gstelement.c: (gst_element_pads_activate):
17195         Some more documentation.
17196         Fixed scheduling decision in _pads_activate().
17197
17198 2005-05-05  Andy Wingo  <wingo@pobox.com>
17199
17200         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17201         the test suite.
17202
17203 2005-05-05  Wim Taymans  <wim@fluendo.com>
17204
17205         * gst/base/Makefile.am:
17206         * gst/base/gstbasesink.h:
17207         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17208         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17209         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17210         (gst_collectpads_class_init), (gst_collectpads_init),
17211         (gst_collectpads_finalize), (gst_collectpads_new),
17212         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17213         (find_pad), (gst_collectpads_remove_pad),
17214         (gst_collectpads_is_active), (gst_collectpads_collect),
17215         (gst_collectpads_collect_range), (gst_collectpads_start),
17216         (gst_collectpads_stop), (gst_collectpads_peek),
17217         (gst_collectpads_pop), (gst_collectpads_available),
17218         (gst_collectpads_read), (gst_collectpads_flush),
17219         (gst_collectpads_chain):
17220         * gst/base/gstcollectpads.h:
17221         * gst/elements/Makefile.am:
17222         * gst/elements/gstelements.c:
17223         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17224         (gst_fakesink_get_times), (gst_fakesink_event),
17225         (gst_fakesink_preroll), (gst_fakesink_render):
17226         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17227         (gst_filesink_init), (gst_filesink_set_location),
17228         (gst_filesink_open_file), (gst_filesink_close_file),
17229         (gst_filesink_pad_query), (gst_filesink_event),
17230         (gst_filesink_render), (gst_filesink_change_state):
17231         * gst/elements/gstfilesink.h:
17232         Added object to help in making collect pad based elements.
17233         Ported filesink.
17234         Make event function in sink baseclass return gboolean.
17235
17236 2005-05-05  Wim Taymans  <wim@fluendo.com>
17237
17238         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17239         (gst_bin_get_by_name):
17240         * gst/gstbuffer.h:
17241         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17242         (gst_clock_finalize):
17243         * gst/gstdata.c: (gst_data_replace):
17244         * gst/gstdata.h:
17245         * gst/gstelement.c: (gst_element_request_pad),
17246         (gst_element_pads_activate):
17247         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17248         (gst_object_unref):
17249         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17250         (gst_pad_set_checkgetrange_function),
17251         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17252         (gst_pad_check_pull_range), (gst_pad_pull_range),
17253         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17254         (gst_pad_pause_task), (gst_pad_stop_task):
17255         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17256         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17257         Fix name lookup in GstBin.
17258         Added _data_replace() function and _buffer_replace()
17259         Use finalize method to clean up clock.
17260         Fix refcounting on request pads.
17261         Fix pad schedule mode error.
17262         Some more object refcounting debug info,
17263
17264
17265 2005-05-04  Andy Wingo <wingo@pobox.com>
17266
17267         * check/Makefile.am:
17268         * docs/gst/tmpl/gstatomic.sgml:
17269         * docs/gst/tmpl/gstplugin.sgml:
17270         * gst/base/gstbasesink.c: (gst_basesink_activate):
17271         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17272         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17273         (gst_basesrc_query), (gst_basesrc_set_property),
17274         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17275         (gst_basesrc_activate):
17276         * gst/base/gstbasesrc.h:
17277         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17278         (gst_base_transform_src_activate):
17279         * gst/elements/gstelements.c:
17280         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17281         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17282         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17283         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17284         (gst_type_find_element_checkgetrange),
17285         (gst_type_find_element_activate):
17286         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17287         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17288         (gst_caps_load_thyself):
17289         * gst/gstelement.c: (gst_element_pads_activate),
17290         (gst_element_save_thyself), (gst_element_restore_thyself):
17291         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17292         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17293         * gst/gstpad.h:
17294         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17295         (gst_xml_parse_file), (gst_xml_parse_memory),
17296         (gst_xml_get_element), (gst_xml_make_element):
17297         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17298         (_file_index_id_save_xml), (gst_file_index_commit):
17299         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17300         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17301         (load_paths):
17302         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17303         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17304         * tools/gst-complete.c: (main):
17305         * tools/gst-compprep.c: (main):
17306         * tools/gst-inspect.c: (print_element_properties_info):
17307         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17308         * tools/gst-xmlinspect.c: (print_element_properties):
17309         GCC 4 fixen.
17310         
17311 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17312
17313         * gst/gstplugin.c: (gst_plugin_check_module),
17314         (gst_plugin_check_file), (gst_plugin_load_file):
17315             apply patch from #172526 to make register work on MacOSX
17316
17317 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17318
17319         * docs/gst/tmpl/gstconfig.sgml:
17320         * gst/gstconfig.h.in:
17321           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17322         * testsuite/debug/printf_extension.c: (main):
17323           Do not use GST_PTR_FORMAT on pointers to types with
17324           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17325         * testsuite/elements/property.h:
17326           use correct printf format
17327
17328 2005-05-02  Wim Taymans  <wim@fluendo.com>
17329
17330         * docs/design/draft-push-pull.txt:
17331         * docs/design/draft-query.txt:
17332         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17333         (gst_basesrc_start):
17334         Added draft for new query API.
17335         Added draft for better selecting scheduling methods.
17336         Make basesrc ignore length if the subclass does not support
17337         it.
17338
17339 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17340
17341         * gst/Makefile.am:
17342           possible fixes for automake-1.5 - _LIBADD is reserved
17343
17344 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17345
17346         * docs/faq/Makefile.am:
17347         * docs/manual/Makefile.am:
17348         * docs/manuals.mak:
17349         * docs/pwg/Makefile.am:
17350         * gst/Makefile.am:
17351           possible fixes for automake-1.5
17352
17353 2005-04-28  Wim Taymans  <wim@fluendo.com>
17354
17355         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17356         (gst_basesink_pad_getcaps), (gst_basesink_init),
17357         (gst_basesink_do_sync):
17358         * gst/gstclock.c: (gst_clock_entry_new):
17359         * gst/gstevent.c: (gst_event_discont_get_value):
17360         * gst/gstpipeline.c: (pipeline_bus_handler),
17361         (gst_pipeline_change_state):
17362         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17363         Better debugging of clocking info.
17364         Allow NULL values when getting discont values.
17365
17366 2005-04-27  Wim Taymans  <wim@fluendo.com>
17367
17368         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17369         * check/gst/gstpad.c: (gst_pad_suite):
17370         Increase timeout for checks.
17371
17372 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17373
17374         * check/Makefile.am:
17375           fix the broken rule for cleanup.  Apparently this rule is
17376           only needed on FC2, so maybe this warrants further autotool
17377           inspection.
17378
17379 2005-04-26  Wim Taymans  <wim@fluendo.com>
17380
17381         * gst/gsttrashstack.h:
17382         Ooohh. a nasty one! After having a failed pop() from the stack,
17383         it's possible that the stack is empty. In that case, don't
17384         follow the NULL pointer.
17385
17386 2005-04-25  Wim Taymans  <wim@fluendo.com>
17387
17388         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17389         (gst_pad_set_checkgetrange_function),
17390         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17391         (gst_pad_check_pull_range), (gst_pad_pull_range),
17392         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17393         (gst_pad_pause_task), (gst_pad_stop_task):
17394         * gst/gstplugin.c: (gst_plugin_load):
17395         * gst/gstplugin.h:
17396         Remove gst_library_load as it does more harm than good with
17397         the new g_module flags.
17398         Revert bogus caps template check in pad linking, pad caps
17399         are important when linking not the template, which is more
17400         general than the current caps.
17401
17402 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17403
17404         * gst/autoplug/.cvsignore:
17405         * gst/autoplug/Makefile.am:
17406         * gst/autoplug/gstsearchfuncs.c:
17407         * gst/autoplug/gstsearchfuncs.h:
17408         * gst/autoplug/gstspider.c:
17409         * gst/autoplug/gstspider.h:
17410         * gst/autoplug/gstspideridentity.c:
17411         * gst/autoplug/gstspideridentity.h:
17412         * gst/autoplug/spidertest.c:
17413           Die, spider, die.
17414
17415 2005-04-25  Wim Taymans  <wim@fluendo.com>
17416
17417         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17418         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17419         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17420         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17421         * gst/gstpad.h:
17422         Added stubs for unimplemented functions. 
17423
17424 2005-04-24  David Schleef  <ds@schleef.org>
17425
17426         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17427         please fix.
17428
17429 2005-04-24  David Schleef  <ds@schleef.org>
17430
17431         Convert everything from GstAtomicInt to g_atomic_int_*, and
17432         remove gstatomic.
17433         * gst/Makefile.am:
17434         * gst/gstatomic.c:
17435         * gst/gstatomic.h:
17436         * gst/gstatomic_impl.h:
17437         * gst/gstbuffer.c:
17438         * gst/gstcaps.c:
17439         * gst/gstcaps.h:
17440         * gst/gstclock.c:
17441         * gst/gstclock.h:
17442         * gst/gstdata.c:
17443         * gst/gstdata.h:
17444         * gst/gstdata_private.h:
17445         * gst/gstevent.c:
17446         * gst/gstinfo.c:
17447         * gst/gstinfo.h:
17448         * gst/gstmessage.c:
17449         * gst/gstobject.c:
17450         * gst/gstobject.h:
17451         * gst/gststructure.c:
17452         * gst/gststructure.h:
17453         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17454         * gst/gstutils.h:
17455
17456 2005-04-24  David Schleef  <ds@schleef.org>
17457
17458         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17459         make the regressions tests work.  Remove some code that is no
17460         longer true.
17461         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17462         Disable warning for pads without templates.
17463
17464 2005-04-24  David Schleef  <ds@schleef.org>
17465
17466         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17467         functions that handle filtered links.
17468         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17469         removed functions.
17470         * gst/gstutils.c: Fix/remove utility functions that handle
17471         filtered caps.
17472         * gst/gstutils.h:
17473         * gst/gstvalue.c: Add serialization/deserialization of caps
17474         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17475         requires fixing so that the filter caps notation creates
17476         a capsfilter element and sets the filter_caps property.  I
17477         think everyone probably wants to keep the shorthand notation.
17478         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17479         * docs/gst/tmpl/gstpad.sgml:
17480
17481         * gst/elements/gstelements.c: Register capsfilter element.
17482         * gst/Makefile.am: fix spacing
17483         * docs/random/ds/0.9-suggested-changes: random
17484
17485 2005-04-23  David Schleef  <ds@schleef.org>
17486
17487         * gst/elements/Makefile.am:
17488         * gst/elements/gstcapsfilter.c: New element that acts like an
17489         identity, but filters caps.  Will eventually replace filtered
17490         caps in pad linking.
17491         * gst/gstutils.c: (gst_element_create_all_pads): New function
17492         to create all the ALWAYS pads that are registered with an
17493         element class.  This functionality should eventually be
17494         merged in with GstElement initialization.
17495         * gst/gstutils.h:
17496         * testsuite/trigger/README: part of trigger test code that should
17497         have been checked in a long time ago.
17498
17499 2005-04-23  David Schleef  <ds@schleef.org>
17500
17501         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17502         needed with new versions of libtool (nobody will confirm this),
17503         and hard to carry around.
17504         * gst/autoplug/Makefile.am:
17505         * gst/base/Makefile.am:
17506         * gst/elements/Makefile.am:
17507         * gst/indexers/Makefile.am:
17508         * gst/schedulers/Makefile.am:
17509         * libs/gst/bytestream/Makefile.am:
17510         * libs/gst/control/Makefile.am:
17511         * libs/gst/dataprotocol/Makefile.am:
17512         * libs/gst/getbits/Makefile.am:
17513
17514 2005-04-21  Wim Taymans  <wim@fluendo.com>
17515
17516         * docs/design/draft-push-pull.txt:
17517         * docs/design/part-MT-refcounting.txt:
17518         * docs/design/part-TODO.txt:
17519         * docs/design/part-caps.txt:
17520         * docs/design/part-events.txt:
17521         * docs/design/part-gstbus.txt:
17522         * docs/design/part-gstpipeline.txt:
17523         * docs/design/part-messages.txt:
17524         * docs/design/part-push-pull.txt:
17525         * docs/design/part-query.txt:
17526         Some more docs.
17527
17528 2005-04-21  Wim Taymans  <wim@fluendo.com>
17529
17530         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17531         (gst_message_new), (gst_message_new_error),
17532         (gst_message_new_warning), (gst_message_new_tag),
17533         (gst_message_new_state_changed), (gst_message_new_application),
17534         (gst_message_get_structure):
17535         * gst/gstmessage.h:
17536         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17537         (gst_structure_copy_conditional):
17538         Use parent refcount in GstMessage to ensure GstStructure
17539         consistency.
17540         Cleaned up headers a bit.
17541         
17542
17543 2005-04-20  Wim Taymans  <wim@fluendo.com>
17544
17545         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17546         (gst_basesink_pad_getcaps), (gst_basesink_init),
17547         (gst_basesink_chain_unlocked):
17548         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17549         (gst_type_find_helper):
17550         * gst/elements/gsttypefindelement.c:
17551         (gst_type_find_element_have_type), (gst_type_find_element_init),
17552         (stop_typefinding), (gst_type_find_element_handle_event),
17553         (find_suggest), (gst_type_find_element_chain),
17554         (gst_type_find_element_checkgetrange),
17555         (gst_type_find_element_getrange), (do_typefind),
17556         (gst_type_find_element_activate):
17557         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17558         (gst_buffer_default_free), (gst_buffer_default_copy),
17559         (gst_buffer_set_caps):
17560         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17561         (gst_caps_replace):
17562         * gst/gstmessage.c: (gst_message_new),
17563         (gst_message_new_state_changed):
17564         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17565         (gst_pad_set_checkgetrange_function),
17566         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17567         (gst_pad_set_caps), (gst_pad_check_pull_range),
17568         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17569         * gst/gstpad.h:
17570         * gst/gsttypefind.c: (gst_type_find_register):
17571         Make gst_caps_replace() work like other _replace() functions.
17572         Use _caps_replace() where possible.
17573         Make sure _message_new() initialises its field.
17574         Add gst_static_pad_template_get_caps()
17575
17576
17577 2005-04-18  Andy Wingo  <wingo@pobox.com>
17578
17579         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17580         on the peer, not the pad. I think that was a typo. Pass an extra
17581         arg to see if random access is possible. Activate the pads as
17582         PULL_RANGE if possible.
17583
17584         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17585
17586         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17587         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17588         to PROP_....
17589
17590 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17591
17592         * docs/faq/using.xml:
17593           Add note on gstreamer-properties (#154996).
17594
17595 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17596
17597         * docs/random/bbb/optional-properties:
17598           Some analysis on optional properties.
17599
17600 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17601
17602         * docs/gst/tmpl/gstelementfactory.sgml:
17603         * gst/gstelement.h:
17604         * gst/gstelementfactory.c: (gst_element_factory_init),
17605         (gst_element_factory_cleanup), (gst_element_register),
17606         (__gst_element_factory_add_static_pad_template),
17607         (gst_element_factory_get_static_pad_templates),
17608         (gst_element_factory_can_src_caps),
17609         (gst_element_factory_can_sink_caps):
17610         * gst/registries/Makefile.am:
17611         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17612         (gst_xml_registry_class_init), (gst_xml_registry_init),
17613         (gst_xml_registry_new), (gst_xml_registry_set_property),
17614         (gst_xml_registry_get_property), (get_time), (make_dir),
17615         (gst_xml_registry_get_perms_func),
17616         (plugin_times_older_than_recurse), (plugin_times_older_than),
17617         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17618         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17619         (add_to_char_array), (read_string), (read_uint), (read_enum),
17620         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17621         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17622         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17623         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17624         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17625         (gst_xml_registry_rebuild):
17626         * gst/registries/gstlibxmlregistry.h:
17627         * tools/gst-compprep.c: (main):
17628         * tools/gst-inspect.c: (print_pad_templates_info):
17629         * tools/gst-xmlinspect.c: (print_element_info):
17630           Use libxml2 for registry parsing, use staticpadtemplates in
17631           elementfactories. Makes gst_init() +/- 10x faster.
17632
17633 2005-04-12  Wim Taymans  <wim@fluendo.com>
17634
17635         * gst/base/Makefile.am:
17636         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17637         (gst_basesink_pad_getcaps), (gst_basesink_init),
17638         (gst_basesink_event), (gst_basesink_change_state):
17639         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17640         (gst_basesrc_init), (gst_basesrc_query),
17641         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17642         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17643         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17644         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17645         (gst_basesrc_stop), (gst_basesrc_activate),
17646         (gst_basesrc_change_state):
17647         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17648         (helper_find_suggest), (gst_type_find_helper):
17649         * gst/base/gsttypefindhelper.h:
17650         * gst/elements/Makefile.am:
17651         * gst/elements/gstelements.c:
17652         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17653         (gst_fakesink_get_times), (gst_fakesink_event),
17654         (gst_fakesink_preroll), (gst_fakesink_render):
17655         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17656         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17657         (gst_fakesrc_get_property), (gst_fakesrc_create),
17658         (gst_fakesrc_start), (gst_fakesrc_stop):
17659         * gst/elements/gstfakesrc.h:
17660         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17661         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17662         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17663         (gst_filesrc_create_read), (gst_filesrc_create),
17664         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17665         (gst_filesrc_start):
17666         * gst/elements/gsttypefindelement.c:
17667         (gst_type_find_element_have_type), (gst_type_find_element_init),
17668         (start_typefinding), (stop_typefinding), (push_buffer_store),
17669         (gst_type_find_element_handle_event),
17670         (gst_type_find_element_chain),
17671         (gst_type_find_element_checkgetrange),
17672         (gst_type_find_element_getrange), (do_typefind),
17673         (gst_type_find_element_activate),
17674         (gst_type_find_element_change_state):
17675         * gst/elements/gsttypefindelement.h:
17676         * gst/gstpipeline.c: (pipeline_bus_handler):
17677         Added typefind helper.
17678         Small preroll fix in the base sink.
17679         Disable typefind code in basesrc.
17680         Crude port of typefindelement.
17681         Fakesrc cleanups.
17682
17683
17684 2005-04-11  Wim Taymans  <wim@fluendo.com>
17685
17686         * check/gst/gstbus.c: (gstbus_suite):
17687         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17688         * check/gstcheck.h:
17689           Fix up the timeout so that the test does not fail.
17690
17691 2005-04-06  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/base/README:
17694         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17695         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17696         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17697         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17698         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17699         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17700         (gst_basesrc_stop), (gst_basesrc_activate),
17701         (gst_basesrc_change_state), (basesrc_find_peek),
17702         (basesrc_find_suggest), (gst_basesrc_type_find):
17703         * gst/base/gstbasesrc.h:
17704         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17705         (gst_filesrc_class_init), (gst_filesrc_init),
17706         (gst_filesrc_finalize), (gst_filesrc_set_location),
17707         (gst_filesrc_set_property), (gst_filesrc_get_property),
17708         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17709         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17710         (gst_filesrc_create_read), (gst_filesrc_create),
17711         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17712         * gst/elements/gstfilesrc.h:
17713         * gst/gstelement.c: (gst_element_get_state_func),
17714         (gst_element_lost_state), (gst_element_pads_activate):
17715         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17716         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17717         (gst_pad_pull_range):
17718         * gst/gstpad.h:
17719         More work on the generic source base class, implement seeking,
17720         query.
17721         Make filesrc extend the base source class.
17722         Added gst_pad_set_checkgetrange_function to GstPad.
17723
17724 2005-04-06  Andy Wingo  <wingo@pobox.com>
17725
17726         * pkgconfig/gstreamer-base.pc.in:
17727         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17728
17729         * pkgconfig/Makefile.am:
17730         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17731
17732 2005-04-04  Wim Taymans  <wim@fluendo.com>
17733
17734         * gst/base/Makefile.am:
17735         * gst/base/README:
17736         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17737         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17738         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17739         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17740         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17741         (gst_basesrc_base_init), (gst_basesrc_class_init),
17742         (gst_basesrc_init), (gst_basesrc_get_formats),
17743         (gst_basesrc_get_query_types), (gst_basesrc_query),
17744         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17745         (gst_basesrc_set_property), (gst_basesrc_get_property),
17746         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17747         (gst_basesrc_loop), (gst_basesrc_activate),
17748         (gst_basesrc_change_state):
17749         * gst/base/gstbasesrc.h:
17750         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17751         (gst_fakesrc_class_init), (gst_fakesrc_init),
17752         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17753         (gst_fakesrc_get_property), (gst_fakesrc_create):
17754         * gst/elements/gstfakesrc.h:
17755         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17756         (gst_filesrc_open_file), (gst_filesrc_loop),
17757         (gst_filesrc_activate), (filesrc_find_peek),
17758         (gst_filesrc_type_find):
17759         Made base source class, make fakesrc extend it.
17760         Add comments to basesink class.
17761         Some filesrc cleanup.
17762
17763 2005-03-31  David Schleef  <ds@schleef.org>
17764
17765         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17766         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17767         expected to link against libgstreamer.
17768         * gst/base/Makefile.am: link against libgstreamer
17769         * gst/elements/Makefile.am: same
17770
17771 2005-03-31  Andy Wingo  <wingo@pobox.com>
17772
17773         * tests/instantiate/Makefile.am:
17774         * tests/instantiate/caps.c: Add test to test speed of caps copy
17775         and free.
17776
17777         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17778         GMemChunk to be fair.
17779
17780         * gst/gsttrashstack.h: Remove warning about using the fallback
17781         trash stack implementation, it's still faster than malloc.
17782
17783 2005-03-30  Andy Wingo  <wingo@pobox.com>
17784
17785         * tests/complexity.c: Add a copyright.
17786
17787 2005-03-31  Wim Taymans  <wim@fluendo.com>
17788
17789         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17790         (gst_base_transform_class_init), (gst_base_transform_init),
17791         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17792         (gst_base_transform_get_property),
17793         (gst_base_transform_sink_activate),
17794         (gst_base_transform_src_activate),
17795         (gst_base_transform_change_state):
17796         * gst/base/gstbasetransform.h:
17797         * gst/elements/gstidentity.c: (gst_identity_class_init),
17798         (gst_identity_event), (gst_identity_check_perfect),
17799         (gst_identity_transform), (gst_identity_start),
17800         (gst_identity_stop):
17801         Added start/stop methods to transform base class so subclasses 
17802         don't need to deal with state changes even.
17803
17804 2005-03-31  Wim Taymans  <wim@fluendo.com>
17805
17806         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17807         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17808         * gst/gstevent.h:
17809         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17810         (gst_pad_pull_range):
17811         Added rate to the discont event to prepare for variable speed
17812         and reverse playback.
17813
17814 2005-03-29  David Schleef  <ds@schleef.org>
17815
17816         * configure.ac:
17817         * testsuite/trigger/Makefile.am:
17818         * testsuite/trigger/trigger.c: A little example program to show
17819         how trigger-based elements can work.
17820
17821 2005-03-29  Wim Taymans  <wim@fluendo.com>
17822
17823         * gst/base/Makefile.am:
17824         * gst/base/README:
17825         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17826         (gst_basesink_base_init), (gst_basesink_class_init),
17827         (gst_basesink_pad_getcaps), (gst_basesink_init),
17828         (gst_basesink_activate), (gst_basesink_change_state):
17829         * gst/base/gstbasesink.h:
17830         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17831         (gst_base_transform_base_init), (gst_base_transform_finalize),
17832         (gst_base_transform_class_init), (gst_base_transform_init),
17833         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17834         (gst_base_transform_event), (gst_base_transform_getrange),
17835         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17836         (gst_base_transform_set_property),
17837         (gst_base_transform_get_property),
17838         (gst_base_transform_sink_activate),
17839         (gst_base_transform_src_activate),
17840         (gst_base_transform_change_state):
17841         * gst/base/gstbasetransform.h:
17842         * gst/elements/gstidentity.c: (gst_identity_finalize),
17843         (gst_identity_class_init), (gst_identity_init),
17844         (gst_identity_event), (gst_identity_check_perfect),
17845         (gst_identity_transform), (gst_identity_set_property),
17846         (gst_identity_get_property), (gst_identity_change_state):
17847         * gst/elements/gstidentity.h:
17848         * gst/gstelement.c: (gst_element_get_state_func),
17849         (gst_element_lost_state), (gst_element_pads_activate):
17850         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17851         (gst_pad_check_pull_range), (gst_pad_pull_range):
17852         * gst/gstpad.h:
17853         Simplify pad activation.
17854         Added function to check if pull_range can be performed.
17855         Error out when pulling inactive or flushing pads.
17856         Removed const from refcounted types as it does not make sense.
17857         Simplify pad templates in basesink
17858         Added base class for simple 1-to-1 transforms.
17859         Make identity subclass the base transform.
17860
17861 2005-03-29  Andy Wingo  <wingo@pobox.com>
17862
17863         * docs/libs/gstreamer-libs-overrides.txt: 
17864         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17865         really don't understand what's going on, but like whatever. I want
17866         green buildbot!
17867
17868         * docs/gst/Makefile.am:
17869         * docs/libs/Makefile.am: Dist the overrides files.
17870
17871         * check/Makefile.am (clean-local): Remove .libs directories.
17872
17873         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17874         elements to EXTRA_DIST, so po/ files are happy.
17875
17876         * po/POTFILES.in: Er, remove it here.
17877
17878         * po/POTFILES: Remove gstspider.c.
17879
17880         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17881
17882         * docs/libs/gstreamer-libs-docs.sgml: 
17883         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17884         bytestream.
17885
17886         * tests/complexity.c (main): Set the length of the preroll queue
17887         on the sinks to prevent a lockup.
17888
17889         * libs/gst/dataprotocol/Makefile.am: 
17890         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17891         the same as the one in check/gst-libs/gdp.c.
17892
17893         * po/, docs/gst/: Commit automatic changes to docs and po files.
17894
17895         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17896         the versioned libgstbase.
17897
17898         * check/Makefile.am: Depend on an unversioned gst-register, seems
17899         to make autoconf happier.
17900
17901         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17902
17903 2005-03-28  Wim Taymans  <wim@fluendo.com>
17904
17905         * configure.ac:
17906         * docs/design/part-gstelement.txt:
17907         * docs/design/part-negotiation.txt:
17908         * docs/design/part-preroll.txt:
17909         * docs/design/part-scheduling.txt:
17910         * docs/design/part-states.txt:
17911         * gst/Makefile.am:
17912         * gst/base/Makefile.am:
17913         * gst/base/README:
17914         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17915         (gst_basesink_base_init), (gst_basesink_class_init),
17916         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17917         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17918         (gst_basesink_set_pad_functions),
17919         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17920         (gst_basesink_set_property), (gst_basesink_get_property),
17921         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17922         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17923         (gst_basesink_preroll_queue_push),
17924         (gst_basesink_preroll_queue_empty),
17925         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17926         (gst_basesink_event), (gst_basesink_get_times),
17927         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17928         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17929         (gst_basesink_loop), (gst_basesink_activate),
17930         (gst_basesink_change_state):
17931         * gst/base/gstbasesink.h:
17932         * gst/elements/Makefile.am:
17933         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17934         (gst_fakesink_class_init), (gst_fakesink_init),
17935         (gst_fakesink_set_property), (gst_fakesink_get_property),
17936         (gst_fakesink_get_times), (gst_fakesink_event),
17937         (gst_fakesink_preroll), (gst_fakesink_render),
17938         (gst_fakesink_change_state):
17939         * gst/elements/gstfakesink.h:
17940         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17941         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17942         * gst/gstelement.c: (gst_element_add_pad),
17943         (gst_element_get_state_func), (gst_element_abort_state),
17944         (gst_element_commit_state), (gst_element_lost_state),
17945         (gst_element_set_state), (gst_element_pads_activate):
17946         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17947         * gst/gstpipeline.c: (gst_pipeline_send_event),
17948         (gst_pipeline_change_state):
17949         Added state change code.
17950         Added/updated docs.
17951         Added sink base class, make fakesink extend the base class.
17952         Small cleanups in GstPipeline.
17953
17954 2005-03-26  David Schleef  <ds@schleef.org>
17955
17956         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17957         is broken and should be implemented in a different library.
17958         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17959         * gst/gst.h: remove gstcpu.h
17960         * gst/gstcpu.c: remove
17961         * gst/gstcpu.h: remove
17962         * gst/Makefile.am.future: Remove this file.  It's ancient.
17963
17964 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17965
17966         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17967         (gst_bin_send_event):
17968           Add default event/set_manager handlers. The set_manager handler
17969           takes care that the manager is distributed over kids that were
17970           already in the bin before the manager was set. The event handler
17971           is a utility virtual function that sends the event over all sinks,
17972           so that gst_element_send_event (bin, event); has the expected
17973           behaviour.
17974         * gst/gstpad.c: (gst_pad_event_default):
17975           Re-install default event handling for discontinuities, so that
17976           seeking works without requiring hacks in applications or extra
17977           code in sinks.
17978         * gst/gstpipeline.c: (gst_pipeline_class_init),
17979         (gst_pipeline_send_event):
17980           Half hack, half utility: set a pipeline to PAUSED for seek events,
17981           since that is the only way we can guarantee a/v sync. Means that
17982           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17983           and it "just works".
17984
17985 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17986
17987         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17988           Lock/unlock mismatch.
17989
17990 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17991
17992         * docs/faq/gst-uninstalled:
17993           add gst-plugins-base
17994         * docs/gst/Makefile.am:
17995           don't error out until docs are fixed
17996         * docs/gst/gstreamer.types:
17997           remove thread
17998
17999 2005-03-22  Wim Taymans  <wim@fluendo.com>
18000
18001         * check/Makefile.am:
18002         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18003         * gst/gststructure.c: (gst_structure_set_valist),
18004         (gst_structure_copy_conditional):
18005         Activated more tests.
18006         Added message test.
18007         Added G_TYPE_POINTER to GstStructure.
18008         
18009
18010 2005-03-22  Wim Taymans  <wim@fluendo.com>
18011
18012         * docs/design/part-TODO.txt:
18013         * docs/design/part-events.txt:
18014         * docs/design/part-gstbin.txt:
18015         * docs/design/part-gstbus.txt:
18016         * docs/design/part-gstpipeline.txt:
18017         * docs/design/part-messages.txt:
18018         * gst/gstbus.c:
18019         * gst/gstmessage.c:
18020         Docs updates
18021
18022 2005-03-21  Wim Taymans  <wim@fluendo.com>
18023
18024         * gst/gstbus.c: (gst_bus_post):
18025         Fix copy-and-paste error.
18026
18027 2005-03-21  Wim Taymans  <wim@fluendo.com>
18028
18029         * check/Makefile.am:
18030         * gst/Makefile.am:
18031         * gst/elements/Makefile.am:
18032         * gst/elements/gstelements.c:
18033         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18034         (gst_fakesink_event), (gst_fakesink_chain):
18035         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18036         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18037         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18038         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18039         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18040         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18041         (gst_fakesrc_loop), (gst_fakesrc_activate),
18042         (gst_fakesrc_change_state):
18043         * gst/elements/gstfakesrc.h:
18044         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18045         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18046         (gst_filesrc_open_file), (gst_filesrc_loop),
18047         (gst_filesrc_activate), (gst_filesrc_change_state),
18048         (filesrc_find_peek), (filesrc_find_suggest),
18049         (gst_filesrc_type_find):
18050         * gst/elements/gstidentity.c: (gst_identity_finalize),
18051         (gst_identity_class_init), (gst_identity_init),
18052         (gst_identity_proxy_getcaps), (identity_queue_push),
18053         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18054         (gst_identity_getrange), (gst_identity_chain),
18055         (gst_identity_sink_loop), (gst_identity_src_loop),
18056         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18057         (gst_identity_set_property), (gst_identity_get_property),
18058         (gst_identity_change_state):
18059         * gst/elements/gstidentity.h:
18060         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18061         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18062         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18063         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18064         (gst_tee_sink_activate):
18065         * gst/elements/gsttee.h:
18066         * gst/gst.c: (gst_register_core_elements), (init_post):
18067         * gst/gst.h:
18068         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18069         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18070         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18071         (gst_bin_change_state):
18072         * gst/gstbin.h:
18073         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18074         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18075         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18076         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18077         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18078         (bus_watch_callback), (bus_watch_destroy),
18079         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18080         (poll_timeout), (gst_bus_poll):
18081         * gst/gstbus.h:
18082         * gst/gstcaps.h:
18083         * gst/gstdata.h:
18084         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18085         (gst_element_post_message), (gst_element_message_full),
18086         (gst_element_get_state_func), (gst_element_get_state),
18087         (gst_element_abort_state), (gst_element_commit_state),
18088         (gst_element_lost_state), (gst_element_set_state),
18089         (gst_element_pads_activate), (gst_element_change_state),
18090         (gst_element_dispose), (gst_element_set_manager_func),
18091         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18092         (gst_element_set_manager), (gst_element_get_manager),
18093         (gst_element_set_bus), (gst_element_get_bus),
18094         (gst_element_set_scheduler), (gst_element_get_scheduler):
18095         * gst/gstelement.h:
18096         * gst/gstevent.c: (gst_event_new_segment_seek),
18097         (gst_event_new_flush):
18098         * gst/gstevent.h:
18099         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18100         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18101         (gst_message_new_eos), (gst_message_new_error),
18102         (gst_message_new_warning), (gst_message_new_tag),
18103         (gst_message_new_state_changed), (gst_message_new_application),
18104         (gst_message_get_structure), (gst_message_parse_tag),
18105         (gst_message_parse_state_changed), (gst_message_parse_error),
18106         (gst_message_parse_warning):
18107         * gst/gstmessage.h:
18108         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18109         (gst_real_pad_set_property), (gst_pad_set_active),
18110         (gst_pad_is_active), (gst_pad_set_blocked_async),
18111         (gst_pad_set_blocked), (gst_pad_is_blocked),
18112         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18113         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18114         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18115         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18116         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18117         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18118         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18119         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18120         (gst_pad_set_caps), (gst_pad_configure_sink),
18121         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18122         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18123         (gst_real_pad_dispose), (gst_real_pad_finalize),
18124         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18125         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18126         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18127         * gst/gstpad.h:
18128         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18129         (pipeline_bus_handler), (gst_pipeline_change_state),
18130         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18131         * gst/gstpipeline.h:
18132         * gst/gstprobe.h:
18133         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18134         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18135         (gst_queue_link_src), (gst_queue_bufferalloc),
18136         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18137         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18138         (gst_queue_loop), (gst_queue_handle_src_event),
18139         (gst_queue_handle_src_query), (gst_queue_src_activate),
18140         (gst_queue_change_state):
18141         * gst/gstqueue.h:
18142         * gst/gstscheduler.c: (gst_scheduler_init),
18143         (gst_scheduler_dispose), (gst_scheduler_create_task),
18144         (gst_scheduler_factory_create):
18145         * gst/gstscheduler.h:
18146         * gst/gststructure.c: (gst_structure_get_type),
18147         (gst_structure_copy_conditional):
18148         * gst/gststructure.h:
18149         * gst/gsttaginterface.h:
18150         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18151         (gst_task_init), (gst_task_dispose), (gst_task_create),
18152         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18153         (gst_task_pause):
18154         * gst/gsttask.h:
18155         * gst/gstthread.c:
18156         * gst/gstthread.h:
18157         * gst/gsttypes.h:
18158         * gst/schedulers/Makefile.am:
18159         * gst/schedulers/cothreads_compat.h:
18160         * gst/schedulers/entryscheduler.c:
18161         * gst/schedulers/faircothreads.c:
18162         * gst/schedulers/faircothreads.h:
18163         * gst/schedulers/fairscheduler.c:
18164         * gst/schedulers/gstbasicscheduler.c:
18165         * gst/schedulers/gstoptimalscheduler.c:
18166         * gst/schedulers/gthread-cothreads.h:
18167         * gst/schedulers/threadscheduler.c:
18168         (gst_thread_scheduler_task_get_type),
18169         (gst_thread_scheduler_task_class_init),
18170         (gst_thread_scheduler_task_init),
18171         (gst_thread_scheduler_task_start),
18172         (gst_thread_scheduler_task_stop),
18173         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18174         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18175         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18176         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18177         (plugin_init):
18178         * libs/gst/Makefile.am:
18179         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18180         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18181         (gst_file_pad_parent_set):
18182         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18183         (gst_dp_event_from_packet):
18184         * tests/complexity.c: (main):
18185         * tests/mass_elements.c: (main):
18186         * testsuite/states/locked.c: (message_received), (main):
18187         * testsuite/states/parent.c: (main):
18188         * tools/gst-inspect.c: (print_element_flag_info),
18189         (print_implementation_info), (print_pad_info):
18190         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18191         (main):
18192         * tools/gst-md5sum.c: (event_loop), (main):
18193         * tools/gst-typefind.c: (main):
18194         * tools/gst-xmlinspect.c: (print_element_info):
18195         Next big merge.
18196         Added GstBus for mainloop integration.
18197         Added GstMessage for sending notifications on the bus.
18198         Added GstTask as an abstraction for pipeline entry points.
18199         Removed GstThread.
18200         Removed Schedulers.
18201         Simplified GstQueue for multithreaded core.
18202         Made _link threadsafe, removed old capsnego.
18203         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18204         Added pad blocking functions.
18205         Reworked scheduling functions in GstPad to prepare for
18206         scheduling updates soon.
18207         Moved events out of data stream.
18208         Simplified GstEvent types.
18209         Added return values to push/pull.
18210         Removed clocking from GstElement.
18211         Added prototypes for state change function for next merge.
18212         Removed iterate from bins and state change management.
18213         Fixed some elements, disabled others for now.
18214         Fixed -inspect and -launch.
18215         Added check for GstBus.
18216
18217 2005-03-10  Wim Taymans  <wim@fluendo.com>
18218
18219         * docs/design/part-MT-refcounting.txt:
18220         * docs/design/part-clocks.txt:
18221         * docs/design/part-gstelement.txt:
18222         * docs/design/part-gstobject.txt:
18223         * docs/design/part-standards.txt:
18224         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18225         (gst_bin_remove_func), (gst_bin_remove):
18226         * gst/gstbin.h:
18227         * gst/gstbuffer.c:
18228         * gst/gstcaps.h:
18229         * testsuite/clock/clock1.c: (main):
18230         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18231         (main):
18232         * testsuite/dlopen/loadgst.c: (do_test):
18233         * testsuite/refcounting/bin.c: (add_remove_test1),
18234         (add_remove_test2), (main):
18235         * testsuite/refcounting/element.c: (main):
18236         * testsuite/refcounting/element_pad.c: (main):
18237         * testsuite/refcounting/pad.c: (main):
18238         * tools/gst-launch.c: (sigint_handler_sighandler):
18239         * tools/gst-typefind.c: (main):
18240         Doc updates.
18241         Added doc about clock.
18242         removed gst_bin_iterate_recurse_up(), marked methods
18243         for removal.
18244         Fix more testsuites.
18245
18246 2005-03-09  Wim Taymans  <wim@fluendo.com>
18247
18248         * gst/gstpad.c: (gst_pad_get_direction),
18249         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18250         (gst_pad_collect_valist):
18251         * testsuite/bins/interface.c: (main):
18252         * testsuite/caps/audioscale.c: (test_caps):
18253         * testsuite/caps/caps.c: (test1), (test2), (test3):
18254         * testsuite/caps/deserialize.c: (main):
18255         * testsuite/caps/enumcaps.c: (main):
18256         * testsuite/caps/filtercaps.c: (main):
18257         * testsuite/caps/intersect2.c: (main):
18258         * testsuite/caps/random.c: (main):
18259         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18260         * testsuite/caps/sets.c: (check_caps):
18261         * testsuite/caps/simplify.c: (check_caps), (main):
18262         * testsuite/caps/subtract.c: (check_caps):
18263         Fix _pad_get_direction wrt ghostpads.
18264         Fix caps testsuite.
18265
18266 2005-03-09  Wim Taymans  <wim@fluendo.com>
18267
18268         * check/Makefile.am:
18269         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18270         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18271         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18273         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18274         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18275         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18276         (bin_element_is_sink), (gst_bin_iterate_sinks),
18277         (gst_bin_iterate_all_by_interface):
18278         * gst/gstbin.h:
18279         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18280         (gst_element_change_state), (gst_element_dispose),
18281         (gst_element_finalize), (gst_element_set_loop_function):
18282         * gst/gstelement.h:
18283         * gst/gstiterator.c: (find_custom_fold_func):
18284         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18285         (gst_pad_collectv), (gst_pad_collect_valist),
18286         (gst_pad_template_new):
18287         * gst/gstpipeline.c: (gst_pipeline_class_init),
18288         (gst_pipeline_dispose), (gst_pipeline_set_property),
18289         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18290         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18291         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18292         * gst/gstutils.h:
18293         * gst/schedulers/entryscheduler.c:
18294         * gst/schedulers/gstbasicscheduler.c:
18295         (gst_basic_scheduler_cothreaded_chain),
18296         (gst_basic_scheduler_chain_add_element):
18297         * testsuite/bins/interface.c: (main):
18298         Added GstBin test.
18299         Added GstSystemClock test.
18300         Implemented clock distribution code in GstBin.
18301         Implemented iterate sinks method for future use.
18302         Rearranged gstelement.h
18303         Fix GstIterator comparison bug.
18304         Moved some code to GstPipeline, mostly clocking related.
18305
18306 2005-03-09  Wim Taymans  <wim@fluendo.com>
18307
18308         * configure.ac:
18309         * gst/gst_private.h:
18310         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18311         (gst_bin_remove_func), (gst_bin_remove),
18312         (gst_bin_get_by_name_recurse_up):
18313         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18314         (gst_clock_id_compare_func), (gst_clock_id_wait),
18315         (gst_clock_id_wait_async), (gst_clock_init),
18316         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18317         * gst/gstelement.h:
18318         * gst/gstinfo.c: (_gst_debug_init):
18319         * gst/gstobject.h:
18320         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18321         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18322         * gst/gstpad.h:
18323         Bump version number, we're now 0.9.0
18324         Add future debugging category.
18325         Fix NULL _unref() in _get_by_name_recurse_up
18326         Rearrange gstpad.h.
18327         Update some docs.
18328
18329 2005-03-08  Wim Taymans  <wim@fluendo.com>
18330
18331         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18332         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18333         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18334         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18335         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18336         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18337         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18338         * gst/elements/gstidentity.c: (gst_identity_class_init):
18339         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18340         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18341         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18342         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18343         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18344         (gst_tee_link):
18345         * gst/gstelement.c: (gst_element_class_init),
18346         (gst_element_base_class_init), (gst_element_init),
18347         (gst_element_get_random_pad), (gst_element_wait_state_change),
18348         (gst_element_change_state), (gst_element_dispose),
18349         (gst_element_finalize), (gst_element_set_loop_function):
18350         * gst/gstelement.h:
18351         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18352         * gst/gstthread.c: (gst_thread_class_init),
18353         (gst_thread_release_children_locks), (gst_thread_change_state):
18354         * gst/schedulers/gstbasicscheduler.c:
18355         (gst_basic_scheduler_loopfunc_wrapper),
18356         (gst_basic_scheduler_chain_wrapper),
18357         (gst_basic_scheduler_src_wrapper),
18358         (gst_basic_scheduler_remove_element):
18359         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18360         Remove threadsafe properties. Fix elements because GObject
18361         complains when installing a property before declaring a
18362         set/get_property handler.
18363         Rearrange gstelement.h file, use STATE macros for state locks.
18364         Free mutexes in the finalize method instead of dispose.
18365
18366 2005-03-08  Wim Taymans  <wim@fluendo.com>
18367
18368         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18369         * gst/gstthread.c: (gst_thread_release_children_locks):
18370         Added parentage check.
18371         Fix build og GstThread again.
18372
18373 2005-03-08  Wim Taymans  <wim@fluendo.com>
18374
18375         * docs/design/part-MT-refcounting.txt:
18376         * docs/design/part-conventions.txt:
18377         * docs/design/part-gstobject.txt:
18378         * docs/design/part-relations.txt:
18379         * docs/design/part-standards.txt:
18380         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18381         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18382         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18383         (gst_bin_iterate_all_by_interface):
18384         * gst/gstbuffer.h:
18385         * gst/gstclock.h:
18386         * gst/gstelement.c: (gst_element_class_init),
18387         (gst_element_change_state), (gst_element_set_loop_function):
18388         * gst/gstelement.h:
18389         * gst/gstiterator.c:
18390         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18391         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18392         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18393         (gst_object_set_parent), (gst_object_unparent),
18394         (gst_object_check_uniqueness):
18395         * gst/gstobject.h:
18396         Docs updates, clean up some headers.
18397
18398 2005-03-07  Wim Taymans  <wim@fluendo.com>
18399
18400         * check/.cvsignore:
18401         * check/Makefile.am:
18402         * check/gst-libs/.cvsignore:
18403         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18404         * check/gst/.cvsignore:
18405         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18406         (START_TEST), (gstbus_suite), (main):
18407         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18408         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18409         (gst_data_suite), (main):
18410         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18411         (add_fold_func), (gstiterator_suite), (main):
18412         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18413         (thread_name_object), (thread_name_object_default),
18414         (gst_object_name_compare), (gst_object_suite), (main):
18415         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18416         (gst_pad_suite), (main):
18417         * check/gstcheck.c: (gst_check_log_message_func),
18418         (gst_check_log_critical_func), (gst_check_init):
18419         * check/gstcheck.h:
18420         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18421         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18422         Added checks.
18423
18424 2005-03-07  Wim Taymans  <wim@fluendo.com>
18425
18426         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18427         (gst_list_iterator_next), (gst_list_iterator_resync),
18428         (gst_list_iterator_free), (gst_iterator_new_list),
18429         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18430         (gst_iterator_free), (gst_iterator_push), (filter_next),
18431         (filter_resync), (filter_uninit), (filter_free),
18432         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18433         (gst_iterator_foreach), (find_custom_fold_func),
18434         (gst_iterator_find_custom):
18435         * gst/gstiterator.h:
18436         Added missing files.
18437
18438 2005-03-07  Wim Taymans  <wim@fluendo.com>
18439
18440         * Makefile.am:
18441         * configure.ac:
18442         * docs/design/part-MT-refcounting.txt:
18443         * docs/design/part-conventions.txt:
18444         * docs/design/part-gstobject.txt:
18445         * docs/design/part-relations.txt:
18446         * examples/mixer/mixer.c: (main):
18447         * examples/thread/thread.c: (eos), (main):
18448         * gst/Makefile.am:
18449         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18450         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18451         (gst_spider_plug_from_srcpad):
18452         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18453         (gst_spider_identity_change_state),
18454         (gst_spider_identity_sink_loop_type_finding):
18455         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18456         * gst/elements/gstidentity.c: (gst_identity_init):
18457         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18458         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18459         * gst/elements/gsttypefindelement.c: (free_entry):
18460         * gst/gst.c:
18461         * gst/gst.h:
18462         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18463         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18464         (gst_bin_set_index), (gst_bin_set_element_sched),
18465         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18466         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18467         (gst_bin_iterate_elements), (iterate_child_recurse),
18468         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18469         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18470         (compare_interface), (gst_bin_get_by_interface),
18471         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18472         * gst/gstbin.h:
18473         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18474         (gst_buffer_default_free), (gst_buffer_default_copy),
18475         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18476         (gst_buffer_create_sub):
18477         * gst/gstbuffer.h:
18478         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18479         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18480         (gst_caps_unref), (gst_static_caps_get),
18481         (gst_caps_remove_and_get_structure), (gst_caps_append),
18482         (gst_caps_append_structure), (gst_caps_remove_structure),
18483         (gst_caps_copy_nth), (gst_caps_set_simple),
18484         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18485         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18486         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18487         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18488         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18489         (gst_caps_structure_figure_out_union),
18490         (gst_caps_switch_structures), (gst_caps_do_simplify),
18491         (gst_caps_replace), (gst_caps_from_string),
18492         (gst_caps_copy_conditional):
18493         * gst/gstcaps.h:
18494         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18495         (_gst_clock_id_free), (gst_clock_id_unref),
18496         (gst_clock_id_compare_func), (gst_clock_id_wait),
18497         (gst_clock_id_wait_async), (gst_clock_class_init),
18498         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18499         (gst_clock_get_time), (gst_clock_set_time_adjust),
18500         (gst_clock_set_property), (gst_clock_get_property):
18501         * gst/gstclock.h:
18502         * gst/gstcompat.h:
18503         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18504         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18505         * gst/gstdata.h:
18506         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18507         (gst_element_requires_clock), (gst_element_provides_clock),
18508         (gst_element_set_clock), (gst_element_clock_wait),
18509         (gst_element_wait), (gst_element_set_time_delay),
18510         (gst_element_is_indexable), (gst_element_add_pad),
18511         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18512         (pad_compare_name), (gst_element_get_static_pad),
18513         (gst_element_request_pad), (gst_element_get_request_pad),
18514         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18515         (gst_element_class_get_pad_template_list),
18516         (gst_element_class_get_pad_template), (gst_element_error_func),
18517         (gst_element_get_random_pad), (gst_element_get_event_masks),
18518         (gst_element_send_event), (gst_element_seek),
18519         (gst_element_get_query_types), (gst_element_query),
18520         (gst_element_get_formats), (gst_element_convert),
18521         (gst_element_is_locked_state), (gst_element_set_locked_state),
18522         (gst_element_sync_state_with_parent), (gst_element_change_state),
18523         (gst_element_finalize), (gst_element_yield),
18524         (gst_element_interrupt), (gst_element_set_scheduler),
18525         (gst_element_get_scheduler), (gst_element_set_loop_function):
18526         * gst/gstelement.h:
18527         * gst/gstevent.h:
18528         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18529         (gst_format_get_by_nick), (gst_format_get_details),
18530         (gst_format_iterate_definitions):
18531         * gst/gstformat.h:
18532         * gst/gstindex.c: (gst_index_gtype_resolver):
18533         * gst/gstinfo.c:
18534         * gst/gstinfo.h:
18535         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18536         (gst_mem_chunk_free):
18537         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18538         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18539         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18540         (gst_object_dispatch_properties_changed),
18541         (gst_object_set_name_default), (gst_object_set_name),
18542         (gst_object_get_name), (gst_object_set_name_prefix),
18543         (gst_object_get_name_prefix), (gst_object_set_parent),
18544         (gst_object_get_parent), (gst_object_unparent),
18545         (gst_object_check_uniqueness), (gst_object_save_thyself),
18546         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18547         (gst_object_set_property), (gst_object_get_property),
18548         (gst_object_get_path_string):
18549         * gst/gstobject.h:
18550         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18551         (gst_real_pad_init), (gst_real_pad_get_property),
18552         (gst_pad_custom_new), (gst_pad_get_direction),
18553         (gst_pad_set_active), (gst_pad_is_active),
18554         (gst_pad_set_event_function), (gst_pad_is_linked),
18555         (gst_pad_link_free), (gst_pad_link_intersect),
18556         (gst_pad_link_fixate), (gst_pad_set_caps),
18557         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18558         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18559         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18560         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18561         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18562         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18563         (gst_pad_realize), (gst_pad_get_allowed_caps),
18564         (gst_real_pad_dispose), (gst_real_pad_finalize),
18565         (gst_pad_collectv), (gst_pad_collect_valist),
18566         (gst_pad_template_dispose), (gst_pad_template_new),
18567         (gst_pad_get_internal_links):
18568         * gst/gstpad.h:
18569         * gst/gstpipeline.c: (gst_pipeline_dispose),
18570         (gst_pipeline_change_state):
18571         * gst/gstpipeline.h:
18572         * gst/gstplugin.c:
18573         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18574         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18575         * gst/gstpluginfeature.h:
18576         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18577         * gst/gstquery.c: (_gst_query_type_initialize),
18578         (gst_query_type_register), (gst_query_type_get_by_nick),
18579         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18580         * gst/gstquery.h:
18581         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18582         * gst/gstscheduler.c: (gst_scheduler_add_element),
18583         (gst_scheduler_factory_create):
18584         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18585         (gst_structure_free), (gst_structure_set_name),
18586         (gst_structure_id_set_value), (gst_structure_set_value),
18587         (gst_structure_set_valist), (gst_structure_remove_field),
18588         (gst_structure_remove_fields),
18589         (gst_structure_remove_fields_valist),
18590         (gst_structure_remove_all_fields), (gst_structure_foreach),
18591         (gst_structure_map_in_place),
18592         (gst_caps_structure_fixate_field_nearest_int),
18593         (gst_caps_structure_fixate_field_nearest_double):
18594         * gst/gststructure.h:
18595         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18596         (gst_system_clock_init), (gst_system_clock_dispose),
18597         (gst_system_clock_async_thread),
18598         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18599         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18600         * gst/gstsystemclock.h:
18601         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18602         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18603         * gst/gsttaginterface.c:
18604         * gst/gstthread.c: (gst_thread_dispose),
18605         (gst_thread_release_children_locks), (gst_thread_change_state),
18606         (gst_thread_main_loop):
18607         * gst/gsttrashstack.h:
18608         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18609         * gst/gsttypes.h:
18610         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18611         (gst_element_request_pad), (gst_element_get_pad_from_template),
18612         (gst_element_request_compatible_pad),
18613         (gst_element_get_compatible_pad_filtered),
18614         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18615         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18616         (gst_element_link_many), (gst_element_link),
18617         (gst_element_link_pads), (gst_element_unlink_pads),
18618         (gst_element_unlink_many), (gst_element_unlink),
18619         (gst_pad_can_link_filtered), (gst_pad_can_link),
18620         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18621         (gst_object_default_error), (gst_bin_add_many),
18622         (gst_bin_remove_many), (gst_element_populate_std_props),
18623         (gst_element_class_install_std_props), (gst_buffer_merge),
18624         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18625         (link_fold_func), (gst_pad_proxy_setcaps):
18626         * gst/gstutils.h:
18627         * gst/gstvalue.c: (gst_value_deserialize_string):
18628         * gst/parse/grammar.y:
18629         * gst/schedulers/gstbasicscheduler.c:
18630         (gst_basic_scheduler_cothreaded_chain),
18631         (gst_basic_scheduler_chain_recursive_add),
18632         (gst_basic_scheduler_pad_link):
18633         * gst/schedulers/gstoptimalscheduler.c:
18634         (get_group_schedule_function),
18635         (gst_opt_scheduler_state_transition),
18636         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18637         * libs/gst/bytestream/bytestream.c:
18638         * libs/gst/dataprotocol/dataprotocol.c:
18639         (gst_dp_header_from_buffer):
18640         * po/nb.po:
18641         * po/ru.po:
18642         * tests/threadstate/threadstate2.c: (eos):
18643         * tools/gst-compprep.c: (main):
18644         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18645         (print_pad_info), (print_children_info):
18646         * tools/gst-launch.c: (idle_func), (main):
18647         * tools/gst-md5sum.c: (idle_func), (main):
18648         * tools/gst-xmlinspect.c: (print_element_info):
18649         First THREADED backport attempt, focusing on adding locks and
18650         making sure the API is threadsafe. Needs more work. More docs
18651         follow this week.
18652
18653 2005-02-24  Andy Wingo  <wingo@pobox.com>
18654
18655         * tests/bench-complexity.scm:
18656         * tests/complexity.gnuplot: New files, good for running complexity
18657         benchmarks.
18658
18659         * tests/Makefile.am:
18660         * tests/complexity.c: New test, sets up N elements, at each level
18661         teeing into M streams per element. Eeeenteresting.
18662
18663         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18664         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18665         running bench-mass_elements.scm.
18666
18667         * tests/bench-mass_elements.scm: New script, runs mass_elements
18668         for various numbers of identities, outputting the results to a
18669         file. Requires guile 1.6. Just for testing.
18670
18671 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18672
18673         * gst/schedulers/fairscheduler.c:
18674           compile with debug disabled
18675
18676 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18677
18678         * configure.ac:
18679           hunting season on 0.9 is now OPEN