Fix some of the leaks exposed by extending the parse-launch testsuite, and move the...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-27  Jan Schmidt,,,  <set EMAIL_ADDRESS environment variable>
2
3         * gst/parse/grammar.y:
4         * gst/parse/parse.l:
5         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
6         (GST_START_TEST), (parse_suite):
7         Fix some of the leaks exposed by extending the parse-launch testsuite,
8         and move the 3 I can't figure out into a separate test that won't run
9         the pipelines unless the appropriate line is uncommented.
10
11 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12
13         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14           Requesting 0 bytes before the end of the file should result in
15           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
16           unit test.
17
18 2006-07-27  Wim Taymans  <wim@fluendo.com>
19
20         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
21         Fix useless assert, a uint is always positive.
22
23         * gst/gststructure.c: (gst_structure_nth_field_name),
24         (gst_structure_foreach), (gst_structure_map_in_place):
25         Check input arguments for public functions to avoid obvious crashes.
26
27         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
28         * plugins/elements/gstfakesink.h:
29         Do less useless typechecking.
30
31 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
34           Do not use mmap() by default since there are a number of error
35           conditions that we would like to handle in a non-fatal way that
36           will result in a SIGBUS if we use mmap(). Examples: external
37           devices (USB harddrive, portable music player) being unplugged
38           while in use; file on mounted CD/DVD that can't be read because
39           the medium is partly damaged. Fixes #348455 and #348475.
40
41 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
42
43         * gst/gstquery.h:
44         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
45         rates are a gdouble
46
47 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
48
49         * gst/gstregistry.c:
50           Move big documentation comment into class section header, so that it
51           appears in the API docs.
52
53 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
54
55         * docs/gst/gstreamer-sections.txt:
56         Oops. Commit the docs additions too for new API.
57         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
58
59 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
60
61         * gst/gststructure.c: (gst_structure_id_set),
62         (gst_structure_id_set_valist):
63         * gst/gststructure.h:
64         Add API for setting values into structures without performing
65         a quark lookup, if the appropriate quark is already known.
66
67         API: gst_structure_id_set
68         API: gst_structure_id_set_valist
69
70         * gst/parse/grammar.y:
71         * gst/parse/parse.l:
72         Remove some dead code shown by the coverage information.
73         Don't throw a critical g_warning when encountering a syntax error,
74         just warn and let the normal error path handle it.
75
76         * plugins/elements/gstelements.c:
77         Bump the rank of filesink up to PRIMARY so that it is preferred over
78         gnomevfssink for file:// sink uri's
79
80         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
81         (GST_START_TEST), (run_delayed_test),
82         (gst_parse_test_element_base_init),
83         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
84         (gst_parse_test_element_change_state),
85         (gst_register_parse_element), (parse_suite):
86         Beef up the tests for parse syntax to check that more error cases
87         fail as they are supposed to. Increases the test coverage a bit.
88
89 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * docs/manual/basics-elements.xml:
92           Fix gst_element_link() example.
93
94         * gst/gstutils.c:
95           Mention in API docs that one should usually gst_bin_add()
96           elements to a bin or pipeline before doing the linking.
97           
98 2006-07-26  Wim Taymans  <wim@fluendo.com>
99
100         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
101         (gst_subbuffer_get_type), (gst_buffer_create_sub):
102         Avoid function call for known types by keeping the buffer and
103         subbuffer GType global.
104
105         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
106         Random silly optimisations in read() path.
107
108 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
109
110         * tools/gst-launch.c: (main):
111           If the top-level of the parse is a normal bin, it doesn't do the
112           right logic to run as a top-level element, so place it inside a
113           pipeline.
114
115 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
116
117         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
118           Remove superfluous g_object_notify() calls, GObject does
119           that for us automatically.
120
121 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
122
123         * gst/gstinfo.h:
124           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
125           here.
126
127 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
128
129         * gst/gsttaglist.c: (_gst_tag_initialize):
130           Allow more than one GST_TAG_IMAGE per taglist.
131
132 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
133
134         * gst/gstminiobject.c:
135           update docs
136         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
137         (gst_fd_src_create):
138           log recurring events at LOG level
139           add more debug for when the fd gets set
140
141 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
142
143         * gst/gstparse.c: (gst_parse_launch):
144           Also remove reentrance checks if flex is MT save (#348179)
145          Fix my empty ChangeLog entry below
146
147 2006-07-21  Andy Wingo  <wingo@pobox.com>
148
149         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
150
151         * libs/gst/check/Makefile.am
152         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
153         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
154         * libs/gst/check/gstbufferstraw.h:
155         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
156         functions, thus proving I am still a GStreamer haxor. OK I wrote
157         them a long time ago, but anyways.
158
159 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
160
161         * configure.ac:
162         * gst/gstparse.c: (gst_parse_launch):
163           Check for flex version and omit mutex if we have a MT save flex
164           (fixes #348179)
165
166 2006-07-21  Wim Taymans  <wim@fluendo.com>
167
168         * gst/gstparse.c: (gst_parse_launch):
169         Protect recursive calls to _parse with a recursive mutex
170         and busy flag.
171
172 2006-07-21  Wim Taymans  <wim@fluendo.com>
173
174         * tests/check/gst/gstpad.c: (GST_START_TEST):
175         Fix leak in test.
176
177 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
178
179         * gst/gstparse.c: (gst_parse_launch):
180           Do not hange on recursive uasge of gst_parse_launch()
181
182 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
183
184         * gst/gsttaglist.c:
185           Add some more docs, comments and FIXME 0.11s here and there
186           and  also fix some typos.
187
188 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
189
190         * gst/gstsegment.h:
191           Convert tabs to spaces for better readability. 
192
193 2006-07-20  Edward Hervey  <edward@fluendo.com>
194
195         * tests/check/libs/gdp.c: (gst_dp_suite):
196         the test_buffer test fails at line 140 on ppc64 at the following
197         check:
198         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
199                 "GST_BUFFER_IN_CAPS flag should have been copied !");
200         See bug #348114 for more details.
201
202 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * docs/pwg/advanced-scheduling.xml:
205         * gst/gstpad.c:
206           Fix typos (#348000).
207
208 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
209
210         * docs/pwg/intro-basics.xml:
211           Fix wrong links (#347927).
212
213 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
214
215         * gst/gstregistry.h:
216         * gst/gstregistryxml.c: (load_feature),
217         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
218         * win32/common/config.h:
219         make --disable-index work (#342564)
220
221 2006-07-18  Wim Taymans  <wim@fluendo.com>
222
223         Patch by: Peter Kjellerstedt <pkj at axis dot com>
224
225         * gst/Makefile.am:
226         * gst/gsttrace.h:
227         The attached patch adds two missing defines to gsttrace.h when tracing
228         is disabled.  It also corrects one existing define.
229         Fixes #347756.
230
231 2006-07-17  Wim Taymans  <wim@fluendo.com>
232
233         * docs/gst/gstreamer-sections.txt:
234         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
235         * gst/gst.h:
236         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
237         Add two functions to check and change the SIGSEGV behaviour
238         when loading plugins.
239         Don't mess with the SIGSEGV handler when we were told not to.
240         Fixes #347794.
241         API: gst_segtrap_is_enabled
242         API: gst_segtrap_set_enabled
243
244 2006-07-14  Wim Taymans  <wim@fluendo.com>
245
246         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
247         * tests/check/elements/filesrc.c: (GST_START_TEST):
248         Revert fix for regression in #347408 after release.
249
250 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
251
252         Patch by: Antoine Tremblay <hexa00 at gmail com>
253
254         * gst/gstutils.c: (gst_element_unlink):
255           Free iterator when done (#347311).
256
257         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
258           And add a test case for this.
259
260 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
261
262         * configure.ac:
263         Bump nano back to CVS
264
265 === release 0.10.9 ===
266
267 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
268
269         * configure.ac:
270           releasing 0.10.9, "On the road again"
271
272 2006-07-13  Wim Taymans  <wim@fluendo.com>
273
274         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
275         * tests/check/elements/filesrc.c: (GST_START_TEST):
276         Revert pull-0 fix for release. Disable check. Fixes #347408.
277
278 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * libs/gst/dataprotocol/dataprotocol.c:
281         (gst_dp_event_from_packet_1_0):
282           Fixes #347337: failure to deserialize event packets with
283           empty payload (only event type)
284
285 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * gst/Makefile.am:
288           do not install a .c file in the header directory
289
290 2006-07-13  Edward Hervey  <edward@fluendo.com>
291
292         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
293         GhostPad no longer implicitely use the padtemplates of the targets.
294         Fixes #347384
295
296 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
297
298         * gst/gstvalue.c: (gst_value_compare_list),
299         (gst_value_compare_array), (_gst_value_initialize):
300         * tests/check/gst/gstvalue.c: (GST_START_TEST):
301         Make GstValueArray comparison be order dependent as designed.
302         Add checks for value lists and value array comparisons.
303         Fixes #347221
304
305 2006-07-11  Edward Hervey  <edward@fluendo.com>
306
307         * gst/gstbin.c: (activate_pads),
308         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
309         (gst_bin_change_state_func):
310         (de)activate src pads before calling state_change on the childs.
311         This is to avoid the case where a src ghostpad is blocked (holding the
312         stream lock), which would block the deactivation of the ghostpad's
313         target pad.
314         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
315         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
316         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
317         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
318         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
319         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
320         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
321         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
322         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
323         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
324         (gst_ghost_pad_class_init),
325         (gst_ghost_pad_internal_do_activate_push),
326         (gst_ghost_pad_internal_do_activate_pull),
327         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
328         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
329         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
330         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
331         GhostPads now create their internal GstProxyPad at creation (and not
332         when they're linked, as it was being done previously).
333         The internal and target pads are linked straight away.
334         The data will also travel through the other pad in order to make
335         pad blocking and probes non-hackish (the probe/block now really happens
336         on the GhostPad and not on the target).
337         * gst/gstpad.c: (gst_pad_set_blocked_async),
338         (gst_pad_link_prepare), (gst_pad_push_event):
339         Remove previous ghostpad cruft.
340         * gst/gstutils.c: (gst_pad_add_data_probe),
341         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
342         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
343         (gst_pad_remove_buffer_probe):
344         Remove previous ghost pad cruft.
345         Added more detailed debug statements.
346         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
347         Fix the testsuite for refcounting changes.
348         The comments about who has references were correct, but the refcount
349         being checked wasn't the same (!?!).
350
351         Fixes #341029
352
353 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
354
355         * docs/gst/gstreamer-sections.txt:
356         * gst/gstconfig.h.in:
357         More docs for configuration options, add docs to gtk-doc.
358
359 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/Makefile.am:
362         * gst/gstconfig.h.in:
363         * win32/common/config.h:
364         Fix build when disabling tracing (fixes #344016). Also start to document
365         the defines that disable the sub-systems.
366
367 2006-07-10  Edward Hervey  <edward@fluendo.com>
368
369         * gst/gst.c: (ensure_current_registry_forking):
370         let's make valgrind happy...
371
372 2006-07-09  Wim Taymans  <wim@fluendo.com>
373
374         * gst/gstelement.c: (activate_pads),
375         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
376         Better pad activation code: Reset the collect value too on resync.
377         Add some comments.
378
379 2006-07-09  Wim Taymans  <wim@fluendo.com>
380
381         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
382         (gst_pad_activate_push):
383         Use some more macros where it makes sense.
384         Allow pad mode switching instead of asserting. When a pad
385         is activated in one mode and we activate it in another, 
386         deactivate it first before activating it in a different mode.
387         Fixes #329198.
388
389 2006-07-08  Andy Wingo  <wingo@pobox.com>
390
391         * tools/gst-launch.c (main): Handle err == NULL.
392
393         * gst/gst.c (init_post, ensure_current_registry)
394         (ensure_current_registry_forking)
395         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
396         factoring out the registry scanning into separate functions. Don't
397         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
398         Better environment var name/interface suggestions accepted.
399
400 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
401
402         * gst/gstobject.c: (gst_object_set_name_default),
403         (gst_object_set_name):
404           Random micro-optimisation: don't use a hash table
405           with strings as keys and the usual strdup/strcmp
406           involved, but rather just use the GQuark of the
407           type name as key, since it needs to be looked up
408           anyway to get the type name string.
409
410         * tests/check/gst/gstobject.c: (GST_START_TEST):
411           Fix various leaks.
412
413 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
414
415         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
416         (gst_bin_iterate_all_by_interface):
417           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
418           GTypes are gulongs and thus the top 4 bytes might be cut
419           off on some platforms when doing GPOINTER_TO_INT, leading
420           to invalid GTypes and bad things happening (see RH bug #179654).
421           Also add a check to make sure the type passed in is really
422           an interface type.
423
424 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
425
426         * .cvsignore:
427           Ignore more.
428
429 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
430
431         * Makefile.am:
432         * configure.ac:
433         * gst-element-check.m4:
434         * gst-element-check.m4.in:
435           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
436           instead of the unversioned gst-inspect (#324176, #168659).
437
438 2006-07-06  Wim Taymans  <wim@fluendo.com>
439
440         * gst/gstmessage.h:
441         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
442         warnings.
443
444 2006-07-06  Wim Taymans  <wim@fluendo.com>
445
446         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
447         (gst_base_src_wait), (gst_base_src_update_length),
448         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
449         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
450         (gst_base_src_loop), (gst_base_src_start),
451         (gst_base_src_activate_pull):
452         Update docs.
453         blocksize == 0 now means the default blocksize when working in push
454         based mode.
455         Remove some pointless asserts in _wait function.
456         Fix offset/length calculations and EOS handling. We can now pull 0
457         bytes as well, which is allowed.
458         use _check_get_range() to decide if we can operate in _pull based
459         mode.
460         Fix refcounting leak when check_get_range function was not 
461         implemented.
462         API GstBaseSrc::blocksize range can be 0 too now (default)
463
464         * tests/check/elements/filesrc.c: (GST_START_TEST),
465         (filesrc_suite):
466         Added check to test _get_range() behaviour.
467
468 2006-07-06  Wim Taymans  <wim@fluendo.com>
469
470         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
471         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
472         (gst_pad_pull_range):
473         * gst/gstpad.h:
474         Lots of comments and docs added to the pad functions.
475         Flesh out the expected behaviour of the get_range() functions.
476
477 2006-07-06  Wim Taymans  <wim@fluendo.com>
478
479         * gst/gstbus.h:
480         * gst/gstclock.h:
481         * gst/gstevent.h:
482         * gst/gstiterator.h:
483         * gst/gstpad.h:
484         * gst/gstplugin.h:
485         * gst/gsttask.h:
486         Remove comma at end of enumerator list. 
487
488 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
489
490         * win32/common/libgstbase.def:
491         * win32/common/libgstdataprotocol.def:
492         * win32/common/libsgtreamer.def:
493         Add new exported functions.
494
495 2006-07-05  Wim Taymans  <wim@fluendo.com>
496
497         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
498         Add some more docs here and there.
499
500 2006-07-05  Wim Taymans  <wim@fluendo.com>
501
502         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
503         (gst_base_sink_loop), (gst_base_sink_get_position):
504         When operating in pull mode update the offset so that we
505         read sequentially.
506
507 2006-07-05  Wim Taymans  <wim@fluendo.com>
508
509         * gst/gstregistryxml.c: (read_string):
510         Avoid strdup. (will happen in libxml, but hey!)
511
512         * gst/gsturi.c:
513         Add some more docs.
514
515 2006-07-05  Wim Taymans  <wim@fluendo.com>
516
517         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
518         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
519         (gst_buffer_suite):
520         No point in checking if the size of the subbuffer > 0, the
521         code handles it correclty as demonstrated by unit test.
522         Also add a unit test for the zero sized _new_and_alloc and
523         _copy. Fixes #346663.
524
525 2006-07-05  Wim Taymans  <wim@fluendo.com>
526
527         * libs/gst/base/gstbasetransform.c:
528         (gst_base_transform_prepare_output_buffer),
529         (gst_base_transform_buffer_alloc),
530         (gst_base_transform_handle_buffer):
531         Make sure the buffer we pass to transform_ip has a refcount of
532         1 and thus is writable. Fixes #343196
533
534 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
535
536         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
537         (gst_file_src_init), (gst_file_src_set_property),
538         (gst_file_src_get_property), (gst_file_src_map_region):
539         * plugins/elements/gstfilesrc.h:
540         Add "sequential" property, off by default, to use madvise and hint
541         to the kernel that sequential access is desired.
542         Touch all retrieved pages by default to ensure they are pulled
543         into memory. (Closes #345720)
544
545 2006-07-03  Wim Taymans  <wim@fluendo.com>
546
547         * docs/design/part-block.txt:
548         * docs/design/part-dynamic.txt:
549         Small docs updates.
550
551 2006-07-03  Wim Taymans  <wim@fluendo.com>
552
553         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
554         (gst_caps_unref), (gst_static_caps_get),
555         (gst_caps_append_structure):
556         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
557         Use GSlice when the glib we build against is >= 2.10
558
559 2006-07-03  Wim Taymans  <wim@fluendo.com>
560
561         * gst/gstelement.c: (gst_element_pads_activate):
562         Small cleanup in pad activation code.
563
564 2006-07-03  Wim Taymans  <wim@fluendo.com>
565
566         Patch by: Peter Kjellerstedt <pkj at axis dot com>
567
568         * gst/gst-i18n-app.h:
569         * gst/gst-i18n-lib.h:
570         * tools/gst-inspect.c: (print_signal_info):
571         The attached patch will make the inclusion of gettext.h unconditional in
572         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
573         libintl.h in tools/gst-inspect.c.
574         This allows use of --disable-nls again and fixes #344642.
575
576 2006-07-03  Edward Hervey  <edward@fluendo.com>
577
578         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
579         Implement pad blocking on events according to part-block.txt.
580         More comments on behaviour.
581         * tests/check/gst/gstevent.c: (test_event):
582         Send event to peer pad of blocked pad (else it will block).
583
584 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
585
586         * libs/gst/check/gstcheck.c: (gst_check_message_error),
587         (gst_check_run_suite):
588           if we get the wrong message, give us the types as string
589         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
590           Fix a translatable
591         * tests/check/elements/filesrc.c: (GST_START_TEST):
592           add a test for trying to open a non-existing file
593
594 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
595
596         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
597           add a test for adding self
598
599 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
600
601         * libs/gst/check/gstcheck.h:
602           add some assert_ as alias for fail_unless_*
603         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
604           increase test coverage
605
606 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
607
608         * Makefile.am:
609           include lcov.mak for lcov coverage generation
610         * tools/Makefile.am:
611           add to CLEANFILES
612
613 2006-07-02  Edward Hervey  <edward@fluendo.com>
614
615         * tests/check/elements/.cvsignore:
616         moaping
617
618 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
619
620         * configure.ac:
621           don't set CFLAGS and friends for gcov, done from GST_GCOV now
622         * tests/check/Makefile.am:
623           clean up gcov files
624
625 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
628           remove gst_caps_simplify; it was not declared and not used
629           and deprecated in 0.8
630
631 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * docs/faq/gst-uninstalled:
634           don't put empty paths on PYTHONPATH
635         * docs/gst/gstreamer-sections.txt:
636           remove some symbols that are not there
637
638 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
639
640         * gst/gstcaps.c: (gst_caps_compare_structures):
641           whitespace fixes
642         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
643         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
644           add more tests
645
646 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
647
648         * libs/gst/dataprotocol/Makefile.am:
649           build dataprotocol test by linking to the lib, instead of
650           compiling the source, so we get coverage
651         * tests/check/Makefile.am:
652         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
653         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
654           add a test for filesrc
655
656 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * tests/check/gst/gststructure.c: (GST_START_TEST),
659         (gst_structure_suite):
660           Push coverage from 59.04% to 70.00%
661
662 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
663
664         * tests/check/Makefile.am:
665           gst-inspect every element; this makes sure that we also get
666           coverage on element's get/set functions
667
668 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * configure.ac:
671           set CFLAGS and friends to -O0 if gcov is being used
672           add GCOV LIBS
673         * gst/Makefile.am:
674         * libs/gst/base/Makefile.am:
675         * libs/gst/check/Makefile.am:
676         * libs/gst/controller/Makefile.am:
677         * libs/gst/dataprotocol/Makefile.am:
678         * libs/gst/net/Makefile.am:
679         * plugins/elements/Makefile.am:
680         * plugins/indexers/Makefile.am:
681           add makefile rules to generate gcov data and clean up
682         * tests/check/Makefile.am:
683           add a coverage target that generates an html overview
684           of coverage data
685
686 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * tests/check/elements/fakesink.c:
689         * tests/check/elements/fakesrc.c:
690         * tests/check/elements/fdsrc.c:
691         * tests/check/elements/identity.c:
692         * tests/check/generic/sinks.c: (gst_sinks_suite):
693         * tests/check/generic/states.c:
694         * tests/check/gst/gst.c:
695         * tests/check/gst/gstabi.c:
696         * tests/check/gst/gstbin.c:
697         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
698         * tests/check/gst/gstbus.c: (gst_bus_suite):
699         * tests/check/gst/gstcaps.c: (GST_START_TEST):
700         * tests/check/gst/gstelement.c:
701         * tests/check/gst/gstevent.c: (gst_event_suite):
702         * tests/check/gst/gstghostpad.c:
703         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
704         * tests/check/gst/gstmessage.c: (gst_message_suite):
705         * tests/check/gst/gstminiobject.c:
706         * tests/check/gst/gstobject.c:
707         * tests/check/gst/gstpad.c:
708         * tests/check/gst/gstpipeline.c:
709         * tests/check/gst/gstplugin.c:
710         * tests/check/gst/gstquery.c: (gst_query_suite):
711         * tests/check/gst/gstsegment.c: (gst_segment_suite):
712         * tests/check/gst/gststructure.c:
713         * tests/check/gst/gstsystemclock.c:
714         * tests/check/gst/gsttag.c:
715         * tests/check/gst/gsttask.c: (gst_task_suite):
716         * tests/check/gst/gstutils.c:
717         * tests/check/gst/gstvalue.c:
718         * tests/check/libs/adapter.c:
719         * tests/check/libs/basesrc.c:
720         * tests/check/libs/collectpads.c:
721         * tests/check/libs/controller.c:
722         * tests/check/libs/gdp.c: (gst_dp_suite):
723         * tests/check/libs/gstnetclientclock.c:
724         * tests/check/libs/gstnettimeprovider.c:
725         * tests/check/libs/libsabi.c: (libsabi_suite):
726         * tests/check/libs/typefindhelper.c:
727         * tests/check/pipelines/cleanup.c:
728         * tests/check/pipelines/parse-launch.c:
729         * tests/check/pipelines/simple-launch-lines.c:
730         * tests/check/pipelines/stress.c: (stress_suite):
731           use the new macro
732
733 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
736         * libs/gst/check/gstcheck.h:
737           create a macro and function so that the simple unit test
738           case can be just one macro to create main()
739
740 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * gst/gstbin.c: (gst_bin_restore_thyself):
743         * gst/gstxml.c: (gst_xml_make_element):
744           Fix deserialisation from XML. Set parent manually
745           instead of using gst_bin_add(), since gst_bin_add()
746           will unlink all pads of the element being added.
747           Fixes #341667.
748
749 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
750
751         Patch by: Peter Kjellerstedt <pkj at axis com>
752
753         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
754           Fix missing g_strdup() and double free when using the
755           --gst-plugin-load command line option (#346097).
756
757 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
758
759         * gst/gstinfo.c:
760           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
761
762         * libs/gst/net/gstnetclientclock.c:
763         * libs/gst/net/gstnettimeprovider.c:
764           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
765
766 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
767
768         * docs/manual/advanced-dataaccess.xml:
769           Fix buffer probe example compilation in
770           ADM (#345708).
771         
772 2006-06-22  Edward Hervey  <edward@fluendo.com>
773
774         * gst/gstelement.c: (gst_element_pads_activate):
775         We need to deactivate src pads first and then sink pads.
776         The reason is the src pads might be blocking while holding the streaming
777         lock, so we need to deactivate them first so that deactivating the sink
778         pads doesn't block (since it will require the streaming lock).
779
780 2006-06-22  Wim Taymans  <wim@fluendo.com>
781
782         * libs/gst/base/gstbasetransform.c:
783         (gst_base_transform_buffer_alloc):
784         Forgot to remove two unneeded unrefs.
785         Simplify a check _is_equal allready checks the obvious case.
786
787 2006-06-22  Wim Taymans  <wim@fluendo.com>
788
789         * docs/design/part-block.txt:
790         Some docs about what pad_block should do.
791
792 2006-06-22  Wim Taymans  <wim@fluendo.com>
793
794         * gst/gstcaps.c: (gst_caps_replace):
795         Fix crasher when passed NULL. Doc clarification.
796         Optimize for the trivial case.
797
798         * gst/gstpipeline.c: (gst_pipeline_change_state):
799         Small cleanups.
800
801         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
802         Small documentation cleanup.
803
804         * libs/gst/base/gstbasetransform.c:
805         (gst_base_transform_buffer_alloc):
806         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
807         is what we need and it avoids a whole lot of redundant 
808         refcount operations.
809
810 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
811
812         Patch by: Philip Jägenstedt  <philip at lysator liu se>
813
814         * docs/manual/advanced-dataaccess.xml:
815           Fix 'Embedding static elements' section to use
816           GST_PLUGIN_DEFINE_STATIC (#345607).
817
818 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
819
820         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
821           Attempt to 'fix' spuriously failing test case: it seems like the
822           timeout of half a second is simply too small when the system is under
823           load otherwise, and the timeout doesn't really seem to serve any
824           particular purpose here. Give the pipeline a few seconds to preroll
825           first, and then give it another half a second to go from PAUSED to
826           PLAYING and marshal the message into the main thread.
827
828 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
829
830         * tools/gst-feedback-m.m:
831           Don't only use unversioned tools, try versioned tools as well
832           (#345086).
833
834 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
835
836         * gst/gstbus.c: (gst_bus_class_init):
837           Fix some typos, make docs more explicit.
838
839 2006-06-20  Wim Taymans  <wim@fluendo.com>
840
841         * tests/check/gst/gstghostpad.c: (block_callback),
842         (GST_START_TEST), (gst_ghost_pad_suite):
843         Added some more ghostpad tests, mainly blocking
844         and probes.
845
846 2006-06-16  Wim Taymans  <wim@fluendo.com>
847
848         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
849         (gst_file_sink_close_file), (gst_file_sink_do_seek),
850         (gst_file_sink_event), (gst_file_sink_render):
851         * plugins/elements/gstfilesink.h:
852         Check if we can seek in the file instead of assuming
853         we always can. Post an error when we are asked to seek in a
854         non-seekable file (like a fifo). Fixes #343312.
855         Some cleanups.
856
857 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
858
859         * tools/gst-launch.1.in:
860           Un-garble (fourcc) bit in filtered caps section.
861
862 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
863
864         * docs/manual/advanced-autoplugging.xml:
865         * docs/manual/basics-helloworld.xml:
866         * docs/manual/highlevel-components.xml:
867           Don't leak bus reference in sample code.
868
869 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
870
871         * autogen.sh:
872           Add default for new --enable-plugin-docs switch.
873
874         * configure.ac:
875           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
876           Fixes #344039.
877
878         * docs/Makefile.am:
879           Use new ENABLE_PLUGIN_DOCS conditional.
880
881 2006-06-14  Wim Taymans  <wim@fluendo.com>
882
883         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
884         Make it clear with a FIXME and a real define what the #if 0
885         previously disabled.
886
887 2006-06-14  Wim Taymans  <wim@fluendo.com>
888
889         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
890         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
891         * libs/gst/base/gstbasetransform.c:
892         (gst_base_transform_sink_eventfunc):
893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
894         Don't randomly and silently reset a segment when the format 
895         changes as this is a bug somewhere upstream. Fixes #330379.
896
897 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
898
899         Patch by: Wouter Paesen  <wouter at kangaroot net>
900
901         * libs/gst/controller/gstcontroller.c:
902         (gst_controlled_property_new):
903           Fix controlling of float properties (#344849).
904
905         * tests/check/libs/controller.c:
906         (gst_test_mono_source_get_property),
907         (gst_test_mono_source_set_property),
908         (gst_test_mono_source_class_init), (GST_START_TEST):
909           While we're at it, add some float stuff to unit test.
910
911 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
912
913         * docs/README:
914         * docs/images/gdp-header.svg:
915           add a gdp image
916         * docs/libs/Makefile.am:
917         * docs/libs/gdp-header.png:
918         * libs/gst/dataprotocol/dataprotocol.c:
919           add it to the API docs
920         * docs/manual/intro-motivation.xml:
921           fix typo
922
923 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
924
925         * gst/gst.c: (scan_and_update_registry), (init_post):
926           If the fork()'ed child process can't write the updated registry cache
927           file to disk for some reason, make it exit with a failure exit code,
928           so that the parent can then re-scan the plugins itself and update the
929           registry structures in memory and work with that (rather than failing
930           when creating elements because seemingly no plugins are available).
931           Refactor registry scanning code into separate function for this and
932           also separate fork() and non-fork() code paths. Fixes #344748.
933
934 2006-06-13  Wim Taymans  <wim@fluendo.com>
935
936         * docs/manual/advanced-dataaccess.xml:
937         Fix wrong PluginDesc. Fixes #344755.
938
939 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
940
941         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
942           Fix silly bug that prevented us from creating
943           ~/.gstreamer-0.10 and writing the registry in one
944           go (the first call to g_mkstemp() would overwrite the
945           placeholder in the template string, so the second call
946           to g_mkstemp() after creating the missing directory
947           would then error out with 'invalid argument').
948
949 2006-06-13  Edward Hervey  <edward@fluendo.com>
950
951         * gst/gst.c: (init_post):
952         Free string.
953
954 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
955
956         * gst/glib-compat-private.h:
957         * gst/glib-compat.c:
958         * gst/glib-compat.h:
959         * gst/gstvalue.c: (gst_value_serialize_flags):
960           remove GLib 2.6 compatibility code
961
962 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
963
964         * gst/parse/Makefile.am:
965           Fix build with 'make -j N' even more (#340016).
966
967 2006-06-12  Wim Taymans  <wim@fluendo.com>
968
969         * docs/gst/gstreamer-sections.txt:
970         Fix docs.
971
972 2006-06-12  Wim Taymans  <wim@fluendo.com>
973
974         * gst/gstsegment.c: (gst_segment_set_duration),
975         (gst_segment_set_last_stop), (gst_segment_set_seek),
976         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
977         (gst_segment_to_running_time), (gst_segment_clip):
978         Use G_UNLIKELY to help the compiler a bit.
979
980 2006-06-12  Wim Taymans  <wim@fluendo.com>
981
982         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
983
984         * gst/gstevent.c: (gst_event_get_type):
985         * gst/gstmessage.c:
986         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
987         (gst_pad_push):
988         constify quark registration strings. Fixes #344115
989         Avoid unneeded type checking is _pad_push() by internally
990         calling gst_pad_chain_unchecked().
991
992 2006-06-12  Wim Taymans  <wim@fluendo.com>
993
994         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
995         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
996         (gst_subbuffer_finalize), (gst_buffer_create_sub),
997         (gst_buffer_is_span_fast), (gst_buffer_span):
998         Init _type for consistency.
999         Use _FLAGS macro to avoid type check.
1000         Avoid unneeded type checks in subbufer code.
1001
1002 2006-06-12  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gst.c: (gst_debug_help):
1005         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1006         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1007         (gst_plugin_feature_list_free):
1008         * gst/gstregistry.c: (gst_registry_add_plugin),
1009         (gst_registry_add_feature), (gst_registry_plugin_filter),
1010         (gst_registry_feature_filter), (gst_registry_find_plugin),
1011         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1012         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1013         * gst/gstregistryxml.c: (load_feature),
1014         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1015         * gst/gstminiobject.c: (gst_mini_object_unref),
1016         (gst_mini_object_replace), (gst_value_mini_object_free),
1017         (gst_value_mini_object_copy):
1018         Use _CAST macros to avoid unneeded type checking.
1019         Added some more G_UNLIKELY.
1020
1021 2006-06-12  Wim Taymans  <wim@fluendo.com>
1022
1023         * gst/gstbuffer.h:
1024         Avoid unneeded type checking.
1025         API: GST_BUFFER_IS_DISCONT
1026
1027         * gst/gstminiobject.h:
1028         Avoid type check in flag accessor.
1029
1030         * gst/gstelementfactory.h:
1031         * gst/gstplugin.h:
1032         * gst/gstpluginfeature.h:
1033         Add _CAST macros.
1034         API: GST_ELEMENT_FACTORY_CAST
1035         API: GST_PLUGIN_CAST
1036         API: GST_PLUGIN_FEATURE_CAST
1037
1038 2006-06-12  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1041         (gst_object_unref):
1042         Add G_UNLIKELY in type registration.
1043         Avoid type check in _ref/_unref since that is also
1044         done in glib.
1045
1046 2006-06-12  Wim Taymans  <wim@fluendo.com>
1047
1048         * gst/gsterror.c: (gst_g_error_get_type):
1049         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1050         (gst_static_pad_template_get_type):
1051         * gst/gsttaglist.c: (gst_tag_list_get_type):
1052         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1053         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1054         * gst/gsturi.c: (gst_uri_handler_get_type):
1055         * gst/gstvalue.c: (gst_date_get_type):
1056         * gst/gstxml.c: (gst_xml_get_type):
1057         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1058         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1059         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1060         Add G_UNLIKELY in type registration.
1061
1062 2006-06-12  Wim Taymans  <wim@fluendo.com>
1063
1064         * tools/gst-inspect.c: (print_signal_info):
1065         Properly print enum values.
1066
1067 2006-06-12  Wim Taymans  <wim@fluendo.com>
1068
1069         * gst/gstinfo.c: (gst_debug_set_active),
1070         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1071         * gst/gstinfo.h:
1072         Add some G_[UN]LIKELY.
1073         Maintain __gst_debug_min to avoid formatting the arguments of
1074         debug messages that will be dropped anyway to avoid a lot of 
1075         overhead from the debugging system.
1076
1077 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1078
1079         * po/POTFILES.in:
1080         * po/POTFILES.skip:
1081           add missing files containing translatable strings, tell intltool about
1082           one exception
1083
1084 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1085
1086         * tests/check/libs/.cvsignore:
1087         add test-binary to ignore list
1088
1089 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1090
1091         * docs/libs/gstreamer-libs-docs.sgml:
1092         reorder (put dp into a chapter) and indent
1093
1094 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * configure.ac:
1097           back to HEAD
1098
1099 === release 0.10.8 ===
1100
1101 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1102
1103         * configure.ac:
1104           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1105
1106 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         * gst/gst.c: (init_post):
1109           move pid declaration to declaration block
1110
1111 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1112
1113         * gst/gst.c: (init_post):
1114           use _exit() instead of exit() in our forked child; this ensures
1115           that none of the registered exit handlers from whatever is using
1116           GStreamer get executed.  This fixes gnome-mixer-applet failing
1117           to load, because ORBit would shut down.
1118           Spotted by: Edward Hervey  <edward@fluendo.com>
1119           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1120           Fixes #344474
1121
1122 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1123
1124         * configure.ac:
1125           back to TRUNK
1126
1127 === release 0.10.7 ===
1128
1129 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1130
1131         * configure.ac:
1132           releasing 0.10.7, "Soepeke, ik zie ou"
1133
1134 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1135
1136         * configure.ac:
1137         * po/af.po:
1138         * po/az.po:
1139         * po/bg.po:
1140         * po/ca.po:
1141         * po/cs.po:
1142         * po/de.po:
1143         * po/en_GB.po:
1144         * po/fr.po:
1145         * po/it.po:
1146         * po/nb.po:
1147         * po/nl.po:
1148         * po/ru.po:
1149         * po/sq.po:
1150         * po/sr.po:
1151         * po/sv.po:
1152         * po/tr.po:
1153         * po/uk.po:
1154         * po/vi.po:
1155         * po/zh_CN.po:
1156         * po/zh_TW.po:
1157         * win32/common/config.h:
1158           0.10.6.2 prerelease
1159
1160 2006-06-07  Wim Taymans  <wim@fluendo.com>
1161
1162         * gst/gstindex.c: (gst_index_gtype_resolver):
1163         * tools/gst-xmlinspect.c: (print_plugin_info):
1164         Fix leak spotted by coverity checker. Fixes #343827
1165         Fix another other leak found by paolo borelli.
1166
1167 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1168
1169         * libs/gst/dataprotocol/dataprotocol.c:
1170         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1171         (gst_dp_version_get_type), (gst_dp_init),
1172         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1173         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1174         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1175         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1176         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1177         (gst_dp_packetizer_free):
1178         * libs/gst/dataprotocol/dataprotocol.h:
1179           API: add a GstDPPacketizer object, and create/free functions
1180           API: add GstDPVersion enum
1181           Add 1.0 event function that uses the string serialization
1182           Serialize more useful buffer flags
1183           Fixes #343988
1184
1185 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1186
1187         * tests/check/Makefile.am:
1188         * tests/check/gst/gstabi.c:
1189         * tests/check/gst/struct_ppc64.h:
1190         * tests/check/libs/libsabi.c:
1191         * tests/check/libs/struct_ppc64.h:
1192           add ppc64 structure sizes
1193
1194 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * tests/check/Makefile.am:
1197         * tests/check/gst/gstabi.c:
1198         * tests/check/gst/struct_x86_64.h:
1199         * tests/check/libs/libsabi.c:
1200         * tests/check/libs/struct_x86_64.h:
1201           generate and add structure size lists for x86_64
1202
1203 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1206         * libs/gst/check/gstcheck.h:
1207           factor out the method from tests that checks size of structures,
1208           and add code to generate the header containing these sizes
1209         * tests/check/gst/gstabi.c: (GST_START_TEST):
1210         * tests/check/gst/struct_i386.h:
1211         * tests/check/libs/libsabi.c: (GST_START_TEST):
1212         * tests/check/libs/struct_i386.h:
1213           use it
1214
1215 2006-06-06  Michael Smith  <msmith@fluendo.com>
1216
1217         * gst/gstsegment.h:
1218           Don't use c++-style comments, fixes #343929
1219
1220 2006-06-05  Edward Hervey  <edward@fluendo.com>
1221
1222         * gst/gst.c:
1223         plugin_paths is not used if we build without registry support.
1224
1225         * gst/gstsegment.c: (gst_segment_copy): 
1226         _copy() was always returning NULL...
1227
1228 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1229
1230         * libs/gst/dataprotocol/dataprotocol.c:
1231         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1232         (gst_dp_packet_from_event):
1233           factor out CRC code
1234
1235 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1236
1237         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1238           make sure we unset caps
1239
1240 2006-06-02  Michael Smith  <msmith@fluendo.com>
1241
1242         * libs/gst/check/gstcheck.c: (gst_check_init),
1243         (gst_check_chain_func):
1244         * libs/gst/check/gstcheck.h:
1245           Add a cond/mutex to the check support lib, signal this whenever we
1246           add to the buffers list. This will allow tests to not busy-wait on
1247           the buffer-list.
1248
1249 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * libs/gst/dataprotocol/dataprotocol.c:
1252         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1253         (gst_dp_packet_from_event):
1254           factor out some common header init code
1255
1256 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1257
1258         * docs/libs/gstreamer-libs-sections.txt:
1259         * docs/libs/tmpl/gstdataprotocol.sgml:
1260         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1261         * libs/gst/dataprotocol/dataprotocol.h:
1262           API: make gst_dp_crc() public
1263
1264 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1265
1266         * plugins/indexers/gstindexers.c: (plugin_init):
1267         conditionally register fileindexer (fixes #343598)
1268
1269 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1270
1271         * gst/gsttagsetter.h:
1272         Can't cast ifaces to a class
1273
1274         * libs/gst/net/gstnetclientclock.h:
1275         * libs/gst/net/gstnettimeprovider.h:
1276         * plugins/elements/gstfakesink.h:
1277         * plugins/elements/gstfakesrc.h:
1278         * plugins/elements/gstfdsink.h:
1279         * plugins/elements/gstfdsrc.h:
1280         * plugins/elements/gstfilesink.h:
1281         * plugins/elements/gstfilesrc.h:
1282         * plugins/elements/gstidentity.h:
1283         * plugins/elements/gstqueue.h:
1284         * plugins/elements/gsttee.h:
1285         * plugins/indexers/gstfileindex.c:
1286         * plugins/indexers/gstmemindex.c:
1287         * tests/old/examples/plugins/example.h:
1288         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1289
1290 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1291
1292         * libs/gst/dataprotocol/dataprotocol.c:
1293         (gst_dp_header_from_buffer):
1294           make sure we zero the whole ABI-compatible area
1295
1296 2006-06-01  Wim Taymans  <wim@fluendo.com>
1297
1298         Patch by: Alessandro Decina <alessandro at nnva dot org>
1299
1300         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1301         Make sure the EOS flag is cleared from pads after a flush
1302         or stop. Fixes #343538.
1303
1304         * tests/check/libs/collectpads.c: (GST_START_TEST),
1305         (gst_collect_pads_suite):
1306         Added test for collectpads reusage after EOS.
1307
1308 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1309
1310         * gst/gst.c:
1311          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1312         * win32/common/libgstbase.def:
1313          export gst_collect_pads_set_flushing
1314         * win32/common/libgstreamer.def:
1315          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1316          gst_value_fraction_multiply
1317         * win32/vs6/gst_inspect.dsp:
1318          add a link to intl.lib
1319
1320 2006-05-30  Wim Taymans  <wim@fluendo.com>
1321
1322         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1323         (gst_collect_pads_chain):
1324         Handle the case where a pad is removed from the collection
1325         that could cause the other pads to become collectable.
1326
1327 2006-05-30  Wim Taymans  <wim@fluendo.com>
1328
1329         * gst/gstelement.c:
1330         Clarify the use of _release_request_pad() and
1331         _get_request_pad() a bit better.
1332
1333         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1334         (gst_adapter_take_buffer):
1335         Fix some doc and comment typos.
1336
1337 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1338
1339         * docs/gst/gstreamer-sections.txt:
1340         * docs/libs/gstreamer-libs-sections.txt:
1341           add declared symbols
1342
1343 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1344
1345         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1346         Add debug that can be enabled using a #define at the top of the file,
1347         for dumping stats about how late/early we were when waking up from
1348         waiting on the clock.
1349
1350 2006-05-30  Wim Taymans  <wim@fluendo.com>
1351
1352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1353         When rebuilding the pad list, don't leak the previous list.
1354
1355 2006-05-30  Wim Taymans  <wim@fluendo.com>
1356
1357         Patch by: Lutz Mueller <lutz at topfrose dot de>
1358
1359         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1360         (gst_base_src_get_query_types), (gst_base_src_update_length):
1361         Publish supported query types.
1362         Update last_stop field in get_range mode so the position
1363         query works. Fixes #342321.
1364
1365 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1366
1367         * docs/gst/gstreamer-sections.txt:
1368         * gst/gsttaglist.c: (_gst_tag_initialize):
1369         * gst/gsttaglist.h:
1370           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1371
1372 2006-05-30  Wim Taymans  <wim@fluendo.com>
1373
1374         Patch by: Alessandro Decina <alessandro at nnva dot org>
1375
1376         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1377         Unlock mutex when removing an unknown pad.
1378         Fixes #343334.
1379
1380         * tests/check/Makefile.am:
1381         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1382         (push_event), (setup), (teardown), (GST_START_TEST),
1383         (gst_collect_pads_suite), (main):
1384         Added collecpads check, disabled for now as check crashes for
1385         some reason.
1386
1387 2006-05-29  Wim Taymans  <wim@fluendo.com>
1388
1389         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1390         Don't leak pads lists.
1391
1392 2006-05-29  Wim Taymans  <wim@fluendo.com>
1393
1394         * docs/libs/gstreamer-libs-sections.txt:
1395         * libs/gst/base/gstcollectpads.c:
1396         (gst_collect_pads_set_flushing_unlocked),
1397         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1398         (gst_collect_pads_stop):
1399         * libs/gst/base/gstcollectpads.h:
1400         API: gst_collect_pads_set_flushing()
1401         Added api to set the pads to flushing, useful for seeking
1402         code in elements using collectpads.
1403         Clear segment when receiving a flush.
1404
1405 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1406
1407         * gst/gst.c: (add_path_func), (init_post):
1408           Don't scan registry paths passed via --gst-plugin-path immediately
1409           (will crash, because absolutely nothing is set up and no types are
1410           registered etc.); do this later in init_post(). Fixes #343057.
1411
1412 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1413
1414         * gst/gst.c: (init_post):
1415           if we have fork, fork while reading/rebuilding the registry
1416           so the parent doesn't take the hit of having all plugins loaded
1417           in memory.  Fixes #342777.
1418         * configure.ac:
1419           Check if we have fork()
1420         * win32/common/config.h.in:
1421           no fork() on win32
1422
1423 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1424
1425         * plugins/elements/gstelements.c:
1426         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1427         (gst_file_src_init), (gst_file_src_set_property),
1428         (gst_file_src_get_property), (gst_file_src_start):
1429         * plugins/elements/gstfilesrc.h:
1430           API: GstFileSrc::use-mmap
1431
1432         Add a use-mmap property to enable easier testing of all code paths.
1433         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1434         in the absence of gnomevfssrc. (Closes #340501)
1435
1436 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1437
1438         * tools/gst-inspect.c:
1439         Add missing include, removes warning of ngettext not being defined on
1440         some arches.
1441
1442 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1443
1444         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1445         Handle NULL input and output pointers silently as a failed conversion,
1446         rather than g_warnings.
1447
1448 2006-05-25  Wim Taymans  <wim@fluendo.com>
1449
1450         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1451         Initialize variable before using. Fixes #342820.
1452
1453 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1454
1455         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1456           Fix off-by-one bug that would only allow peeks of N-1 bytes
1457           from the start even if the buffer to typefind on contains
1458           in fact N bytes of data (makes vorbis typefinding from a
1459           vorbis identification header buffer work).
1460
1461         * tests/check/Makefile.am:
1462         * tests/check/libs/.cvsignore:
1463         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1464         (gst_typefindhelper_suite), (main), (foobar_typefind),
1465         (plugin_init):
1466           Add very basic unit test for gst_type_find_helper_for_buffer()
1467           that checks for the problem fixed above.
1468
1469 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1470
1471         * tools/gst-inspect.c: (print_interfaces),
1472         (print_element_properties_info), (print_element_list), (main):
1473           add more translatable strings
1474
1475 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1476
1477         Patch by: Julien Moutte  <julien at moutte net>
1478
1479         * docs/gst/gstreamer-sections.txt:
1480           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1481           
1482         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1483         (gst_fake_sink_preroll):
1484         * plugins/elements/gstfakesink.h:
1485           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1486
1487 2006-05-23  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1490         * gst/gstpad.h:
1491         Added _CUSTOM error and success GstFlowReturn that can be
1492         used be elements internally. 
1493         Added macro to check for SUCCESS flowreturns.
1494         API: GST_FLOW_CUSTOM_SUCCESS
1495         API: GST_FLOW_CUSTOM_ERROR
1496         API: GST_FLOW_IS_SUCCESS
1497
1498         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1499         Added check for GstFlowReturn sanity.
1500
1501 2006-05-23  Wim Taymans  <wim@fluendo.com>
1502
1503         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1504
1505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1506         (gst_collect_pads_event):
1507         clear/reset segment info in FLUSH_STOP.
1508         Fixes #336929.
1509
1510 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1511
1512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1513         (gst_collect_pads_check_collected):
1514         Flush queued buffer on _stop(), fixes playing again (#342454)
1515
1516 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1517
1518         * tests/check/gst/gststructure.c: (GST_START_TEST),
1519         (gst_structure_suite):
1520           add a test for a complete structure
1521
1522 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1523
1524         * docs/faq/developing.xml:
1525         * docs/faq/faq.xml:
1526         * docs/faq/troubleshooting.xml:
1527         * docs/faq/using.xml:
1528           Some minor FAQ updates that won't change the fact that
1529           our FAQ is badly structured, full of information hardly
1530           anyone new to GStreamer needs to know and lacking lots
1531           of information people constantly ask for.
1532           
1533 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1534
1535         * gst/gstpad.c: (gst_pad_set_caps):
1536           Short-circuit gst_pad_set_caps if setting the existing
1537           caps pointer again, and avoid printing debug and 
1538           reffing/unreffing the caps.
1539
1540         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1541           There's actually no need to set the caps before pushing -
1542           the acceptcaps method will handle it anyway.
1543
1544 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1545
1546         * docs/gst/gstreamer-sections.txt:
1547         * win32/common/libgstreamer.def:
1548         * gst/gstutils.c: (gst_element_seek_simple):
1549         * gst/gstutils.h:
1550           API: add gst_element_seek_simple() (#342238).
1551
1552 2006-05-18  Edward Hervey  <edward@fluendo.com>
1553
1554         * gst/gsttypefind.c: (gst_type_find_get_type):
1555         * gst/gsttypefind.h:
1556         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1557         registered for GstTypeFind pointers. This allows wrapping the structure
1558         in bindings (i.e. gst-python).
1559
1560 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1561
1562         * gst/gsttagsetter.c:
1563           Docs additions and fixes (see #339918).
1564
1565 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1566
1567         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1568         The caps intersection algorithm can produce multiple copies of the
1569         caps. Until that is fixed, we need to simplify the result to be
1570         sure whether the allowed caps are fixed or not.
1571
1572         * plugins/elements/gstqueue.c: (gst_queue_init),
1573         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1574         (gst_queue_push_one):
1575         Proxied buffer alloc should not set the caps on the source pad.
1576         When pushing buffers, we always accept the caps change that triggers.
1577         This prevents negotiation errors caused by caps changing mid-stream 
1578         and then being refused on our source pad (because upstream is now
1579         refusing those caps).
1580
1581 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         * tests/examples/helloworld/helloworld.c: (main):
1584           Must plug audioconvert and audioresample between decoder
1585           and audio sink.
1586
1587 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1588
1589         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1590         (load_feature), (load_plugin):
1591         Allow empty strings for some of the plugin fields so we don't 
1592         drop valid plugin entries that were written out correctly
1593         (Fixes #341479)
1594
1595 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1596         
1597         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1598           Use g_remove and g_rename instead of remove and rename that don't 
1599           handle utf8 characters. rename was failing for users who had specific
1600           characters in their name then the registry was built at each 
1601           gstreamer init.
1602         * win32/vs6/gst_inspect.dsp:
1603         * win32/vs6/gst_launch.dsp:
1604         * win32/vs6/libgstbase.dsp:
1605         * win32/vs6/libgstcoreelements.dsp:
1606         * win32/vs6/libgstreamer.dsp:
1607           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1608           build of libgstreamer and clean unused libraries in projects link 
1609           settings.
1610
1611 2006-05-17  Edward Hervey  <edward@fluendo.com>
1612
1613         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1614         The queue is not responsible for pushing an EOS when receiving a fatal
1615         flow error. It's up to the real element driving the pipeline to do that.
1616
1617 2006-05-16  Edward Hervey  <edward@fluendo.com>
1618
1619         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1620         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1621         buffer returned a fatal error. It should just send an EOS and stop
1622         its task.
1623         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1624         when pushing buffers on the queue and will be able to handle the event.
1625
1626 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * docs/manual/basics-bins.xml:
1629         * docs/manual/basics-init.xml:
1630           Fix typos and minor errors in sample code (#341856).
1631
1632 2006-05-16  Wim Taymans  <wim@fluendo.com>
1633
1634         * docs/design/part-qos.txt:
1635         Fix indexes in formulas to make more sense.
1636
1637 2006-05-15  Wim Taymans  <wim@fluendo.com>
1638
1639         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1640         Don't report POSITION based on clock time if sync is
1641         disabled in a sink.
1642
1643 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * gst/gstobject.h:
1646           Add cast to make compiler happy - refcount variable was a gint
1647           in GstObject but is a guint in GObject and g_atomic_int_get()
1648           wants a gint *.
1649
1650 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1651
1652         * gst/parse/Makefile.am:
1653           chain commands using &&, which also makes parallel make work
1654
1655 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         * docs/gst/gstreamer-sections.txt:
1658         * gst/gstevent.c:
1659         * gst/gstevent.h:
1660         * gst/gstmessage.h:
1661           Minor docs fixes.
1662
1663 === release 0.10.6 ===
1664
1665 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1666
1667         * configure.ac:
1668           releasing 0.10.6, "Take the cannoli"
1669
1670 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1671
1672         * tools/gst-launch.c: (print_tag):
1673           Fix use of uninitialized variable in the hypothetical
1674           case that some broken plugin creates a GST_TAG_IMAGE
1675           tag containing a NULL buffer (#341667).
1676
1677 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * tools/gst-launch.c: (print_tag):
1680           Print something more intelligible for image tags when
1681           using the -t switch (#341556).
1682
1683 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1684
1685         * Makefile.am:
1686           updates for win32
1687         * configure.ac:
1688           define GST_MAJORMINOR so we have it available in win32/common/config.h
1689           Possibly remove it from our Makefile.am files later
1690         * win32/common/config.h:
1691         * win32/common/config.h.in:
1692           added GST_MAJORMINOR
1693         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1694         * win32/common/gstversion.h:
1695           updated
1696
1697 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1698
1699         * win32/MANIFEST:
1700           Update win32 files listing.
1701         * win32/common/gstversion.h:
1702           Add GST_MAJORMINOR definition.
1703         * win32/common/libgstreamer.def:
1704           Add new exported functions.
1705           
1706 2006-05-12  Michael Smith  <msmith@fluendo.com>
1707
1708         * gst/gstplugin.c: (gst_plugin_load_file):
1709           If an so file has no plugin entry point, unload the module.
1710
1711 2006-05-11  Wim Taymans  <wim@fluendo.com>
1712
1713         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1714         (gst_queue_set_property):
1715         Don't forget to signal the _chain or _loop function 
1716         when the queue size or thresholds change since that might
1717         cause them to make progres again.
1718
1719 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1720
1721         * gst/gstclock.c: (gst_clock_class_init):
1722         * gst/gstindex.c: (gst_index_class_init):
1723         * gst/gstobject.c: (gst_object_class_init):
1724         * gst/gstpad.c: (gst_pad_class_init):
1725         * gst/gstpipeline.c: (gst_pipeline_class_init):
1726         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1727         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1728         * libs/gst/base/gstbasetransform.c:
1729         (gst_base_transform_class_init):
1730         * libs/gst/net/gstnetclientclock.c:
1731         (gst_net_client_clock_class_init):
1732         * libs/gst/net/gstnettimeprovider.c:
1733         (gst_net_time_provider_class_init):
1734         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1735         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1736         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1737         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1738         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1739         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1740         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1741         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1742         * plugins/elements/gsttee.c: (gst_tee_class_init):
1743         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1744         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1745           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1746
1747 2006-05-11  Wim Taymans  <wim@fluendo.com>
1748
1749         * gst/gstbuffer.c: (_gst_buffer_initialize):
1750         Register subbufer along with the buffer type so that
1751         it does not accidentally gets registered from N
1752         different streaming threads in a non threadsafe way.
1753
1754 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1755
1756         * gst/gstbuffer.h:
1757         * gst/gstevent.h:
1758         * gst/gstmessage.h:
1759           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1760           gst_event_ref() and gst_message_ref() functions again
1761           (ugly hack, please do fix if there's a better way besides
1762           overrides.txt, which doesn't seem to work).
1763
1764 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1765
1766         * libs/gst/check/gstcheck.h:
1767           add an assert for setting state to avoid lots of repetitive code
1768           in the future
1769
1770 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1771
1772         * gst/gstvalue.c: (gst_value_serialize_flags):
1773           fix a leak if no flags are set
1774         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1775           fix leak in tests
1776
1777 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * docs/manual/basics-pads.xml:
1780           Expand a bit on caps and filtered links and update
1781           examples that were still using the no longer existing
1782           gst_pad_link_filtered() (#338206).
1783
1784 2006-05-10  Wim Taymans  <wim@fluendo.com>
1785
1786         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1787         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1788         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1789         (gst_collect_pads_stop):
1790         * libs/gst/base/gstcollectpads.h:
1791         No need to call _stop in _finalize.
1792         Iterate the main pad list in _finalize.
1793         Added some more debug.
1794         Free lists and data in the right order.
1795         Also free data whem doing _remove_pad when stopped for
1796         backward compatibility protect ::started with PAD_LOCK as
1797         well.
1798
1799 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1800
1801         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1802         (gst_structure_parse_value):
1803           add some comments
1804           rename a method so that it actually says what it does better
1805
1806 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * gst/gstevent.c: (_gst_event_initialize):
1809         * gst/gstformat.c: (_gst_format_initialize):
1810           make sure some essential types used by events are registered
1811           as part of gst_init()
1812         * gst/gstvalue.c: (gst_value_serialize_flags):
1813           if no flags are set, serialize them to a value that represents NONE
1814           so that deserializing them works
1815         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1816           add tests for serialization and deserialization of flags
1817
1818 2006-05-10  Wim Taymans  <wim@fluendo.com>
1819
1820         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1821         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1822         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1823         (gst_collect_pads_event), (gst_collect_pads_chain):
1824         Update docs.
1825         Better debug info.
1826         Catch and return errors from the collect function
1827         Refuse data on eos pads.
1828
1829 2006-05-10  Edward Hervey  <edward@fluendo.com>
1830
1831         * gst/gstinterface.h:
1832         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1833         GInterface type checking.
1834         They were previously using non-defined macros.
1835
1836 2006-05-09  Wim Taymans  <wim@fluendo.com>
1837
1838         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1839         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1840         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1841         (gst_collect_pads_start), (gst_collect_pads_stop),
1842         (gst_collect_pads_peek), (gst_collect_pads_pop),
1843         (gst_collect_pads_available), (gst_collect_pads_read),
1844         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1845         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1846         (gst_collect_pads_chain):
1847         * libs/gst/base/gstcollectpads.h:
1848         Clean up the mess that is collectpads, add comments and
1849         FIXMEs where needed.
1850         Maintain a separate pad list so we can add pads while
1851         collecting the other ones. For this we need a new separate 
1852         lock (see comics).
1853         Fix memory leak in finalize.
1854         Refactor some weird code to set/unset pad flushing flags, mark
1855         with comments.
1856         Don't crash in _available, _read, _flush when we're EOS.
1857
1858         * tests/check/libs/.cvsignore:
1859         Ignore adapter check binary.
1860
1861 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * gst/gstindex.c: (gst_index_resolver_get_type):
1864         * plugins/elements/gstfakesink.c:
1865         (gst_fake_sink_state_error_get_type):
1866         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1867         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1868         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1869           Const-ify GEnumValue arrays.
1870
1871 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1872
1873         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1874           Add test case for flags + gst_buffer_make_metadata_writable().
1875
1876 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1879           gst_buffer_make_metadata_writable() should maintain the
1880           buffer flags (those that make sense at least) (see #340859).
1881
1882 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1883
1884         * tools/gst-inspect.c:
1885         * tools/gst-launch.c:
1886         * tools/gst-typefind.c:
1887         * tools/gst-xmlinspect.c:
1888         * tools/tools.h:
1889           Fix up includes: need to include stdlib.h in tools.h for exit().
1890
1891 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1892
1893         * gst/gsttaglist.c: (_gst_tag_initialize):
1894         * gst/gsttaglist.h:
1895           API: add GST_TAG_IMAGE tag (#340721).
1896
1897 2006-05-08  Wim Taymans  <wim@fluendo.com>
1898
1899         * gst/gstquery.c:
1900         Added some docs for the segment query.
1901
1902 2006-05-08  Wim Taymans  <wim@fluendo.com>
1903
1904         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1905         (gst_base_src_loop), (gst_base_src_change_state):
1906         Always push non-flushing serialized events in the streaming 
1907         thread.
1908
1909 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * gst/gsterror.c: (_gst_stream_errors_init):
1912           Add a missing error string.
1913
1914 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1915
1916         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1917         Add applied_rate to the debug
1918
1919         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1920         Copy applied_rate into the outgoing NEWSEGMENT event
1921
1922 2006-05-08  Wim Taymans  <wim@fluendo.com>
1923
1924         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1925
1926         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1927         (gst_base_sink_change_state):
1928         call ::unlock before taking the PREROLL_LOCK so we can safely
1929         handle elements that lock in ::render.
1930         Fixes #340174.
1931
1932 2006-05-08  Edward Hervey  <edward@fluendo.com>
1933
1934         * autogen.sh: (CONFIGURE_DEF_OPT): 
1935         Darwin's libtoolize is in fact called glibtoolize.
1936         Adding glibtoolize to the list of accepted names for libtoolize.
1937
1938 2006-05-08  Wim Taymans  <wim@fluendo.com>
1939
1940         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1941         Unify error handling, don't post an error message
1942         when a push() returns EOS but perform our normal EOS
1943         handling code. Fixes #340772.
1944
1945 2006-05-08  Wim Taymans  <wim@fluendo.com>
1946
1947         * docs/design/part-overview.txt:
1948         Make upsteam/downstream concepts more clear.
1949         Give an example of serialized/non-serialized events.
1950
1951         * docs/design/part-events.txt:
1952         * docs/design/part-streams.txt:
1953         Mention applied_rate.
1954
1955         * docs/design/part-trickmodes.txt:
1956         Mention applied rate, flesh out some more use cases.
1957
1958         * gst/gstevent.c: (gst_event_new_new_segment),
1959         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1960         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1961         (gst_event_parse_tag), (gst_event_new_buffer_size),
1962         (gst_event_parse_buffer_size), (gst_event_new_qos),
1963         (gst_event_parse_qos), (gst_event_parse_seek),
1964         (gst_event_new_navigation):
1965         * gst/gstevent.h:
1966         Add applied_rate field to NEWSEGMENT event.
1967         API: gst_event_new_new_segment_full()
1968         API: gst_event_parse_new_segment_full()
1969
1970         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1971         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1972         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1973         * gst/gstsegment.h:
1974         Add applied_rate to GstSegment structure.
1975         Make calculation of stream_time and running_time more correct
1976         wrt rate/applied_rate.
1977         Add some more docs.
1978         API: GstSegment::applied_rate field
1979         API: gst_segment_set_newsegment_full();
1980
1981         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1982         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1983         * libs/gst/base/gstbasetransform.c:
1984         (gst_base_transform_sink_eventfunc),
1985         (gst_base_transform_handle_buffer):
1986         Parse and use applied_rate in the GstSegment field.
1987
1988         * tests/check/gst/gstevent.c: (GST_START_TEST):
1989         Add check for applied_rate field.
1990
1991         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1992         (gstsegments_suite):
1993         Add more checks for various GstSegment operations.
1994
1995 2006-05-08  Wim Taymans  <wim@fluendo.com>
1996
1997         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1998         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1999         (gst_base_sink_get_position), (gst_base_sink_change_state):
2000         Store the sync time of the buffer end position separatly in a
2001         new variable eos_rtime so we can properly sync the EOS event.
2002         Fixes #340697.
2003         Fix the docs for gst_base_sink_set_qos_enabled().
2004         Don't set segment start to invalid value when we receive a 
2005         non TIME newsegment.
2006         get closer to handling position reporting for negative rates 
2007         correctly.
2008
2009 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2010
2011         * gst/gstcaps.c:
2012         Docs about how to print caps for debug purposes.
2013
2014         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2015         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2016
2017 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2018
2019         * gst/gstelement.c:
2020           use full enum names and preprend a '%' in docs strings to make recent 
2021           gtk-doc turn that into a link
2022
2023 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2024
2025         * docs/manual/basics-bins.xml:
2026         * docs/manual/basics-bus.xml:
2027         * docs/manual/basics-pads.xml:
2028           Some typo fixes, some additions, some clarifications. 
2029
2030 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2031
2032         * tools/gst-inspect.c: (main):
2033         * tools/gst-launch.c: (main):
2034         * tools/gst-run.c: (main):
2035         * tools/gst-typefind.c: (main):
2036         * tools/gst-xmlinspect.c: (main):
2037           Use the string passed to g_option_context_new() for
2038           what it's intended for - the program name is already
2039           printed elsewhere.
2040
2041 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2042
2043         * tools/Makefile.am:
2044         * tools/gst-inspect.c: (main):
2045         * tools/gst-launch.c: (main):
2046         * tools/gst-xmlinspect.c: (main):
2047         * tools/tools.h:
2048           Add back --version command line option (#340460).
2049
2050         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2051           Add --version option and use GOption for argument parsing; refactor a
2052           bit; accept directories as arguments and recurse into them; lastly,
2053           print a decent error message when things go wrong.
2054
2055 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2056
2057         * docs/manual/basics-bins.xml:
2058         Don't mention GstThread (#340611)
2059         * docs/manual/basics-elements.xml:
2060         Update link to GObject tutorial (#340607)
2061         
2062 2006-05-05  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/gstbuffer.h:
2065         * gst/gstminiobject.c:
2066         Add note about refcounting and miniobject/buffer writeability
2067         to docs. Fixes #340604
2068
2069         * gst/gstelementfactory.h:
2070         Added some explanation about @klass.
2071
2072 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2073
2074         * docs/manual/intro-motivation.xml:
2075         * docs/manual/manual.xml:
2076         Avoid CORBA & Bonobo references (#340598)
2077
2078 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2079
2080         * docs/manual/basics-bus.xml:
2081         * docs/manual/basics-pads.xml:
2082         Fix up some inaccuracies and omissions (#340609)
2083         
2084 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2085
2086         * gst/gstghostpad.c:
2087           Small typo in docs (#340625)
2088
2089 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2090
2091         * gst/parse/Makefile.am:
2092           Make 'make -j' proof (see #340698).
2093
2094 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2095
2096         * configure.ac:
2097           Require GLib-2.8 here as well.
2098
2099 2006-05-05  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/glib-compat.c:
2102         * gst/gst.c: (init_pre):
2103         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2104         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2105         (gst_object_dispatch_properties_changed):
2106         * gst/gstobject.h:
2107         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2108         * gst/gststructure.c: (gst_structure_set_valist):
2109         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2110         Remove pre glib2.8 compatibility, fixes #340508
2111
2112 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2113
2114         * gst/gsttaglist.h:
2115           Mention type of tags in doc blurbs.
2116
2117 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2118
2119         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2120         (gst_pad_configure_src), (gst_pad_push):
2121         Restore acceptcaps checking behaviour now that good plugins have
2122         been released.
2123
2124 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2125
2126         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2127
2128         * gst/gst.c:
2129         * gst/gstbus.c:
2130         * gst/gstclock.c:
2131         * gst/gstevent.c:
2132         * gst/gstformat.c:
2133         * gst/gstmessage.c:
2134         * gst/gstparse.c:
2135         * gst/gstquery.c:
2136         * gst/gstutils.c:
2137         * gst/parse/Makefile.am:
2138         * libs/gst/base/gstadapter.c:
2139         * libs/gst/base/gstbasesrc.c:
2140         * libs/gst/base/gstpushsrc.c:
2141         * libs/gst/base/gsttypefindhelper.c:
2142         * plugins/elements/gstfakesrc.c:
2143         * plugins/elements/gstidentity.c:
2144           Make sure gstprivate.h and/or config.h are
2145           always included first, otherwise some of our
2146           defines (like _FILE_OFFSET_BITS) might be
2147           redefined in the system headers. Fixes build
2148           on opensolaris (#340016).
2149
2150 2006-05-04  Wim Taymans  <wim@fluendo.com>
2151
2152         * docs/libs/gstreamer-libs-sections.txt:
2153         API: addition: gst_adapter_take_buffer()
2154         
2155         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2156         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2157         (gst_adapter_available_fast):
2158         * libs/gst/base/gstadapter.h:
2159         Prepare for optimizing the hell out of this hugely inefficient
2160         piece of code. 
2161         Added gst_adapter_take_buffer() so we can at least start thinking
2162         about subbuffering and merging.
2163         Added some comments.
2164
2165         * tests/check/Makefile.am:
2166         * tests/check/libs/adapter.c: (GST_START_TEST),
2167         (gst_adapter_suite), (main):
2168         Added GstAdapter check.
2169
2170 2006-05-04  Wim Taymans  <wim@fluendo.com>
2171
2172         * docs/design/part-overview.txt:
2173         Fix some typos, add blurb about buffer flags.
2174
2175 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2176
2177         * docs/libs/gstreamer-libs-sections.txt:
2178           make sure GstBaseTransformClass shows up in the docs
2179         * libs/gst/base/gstbasetransform.c:
2180         * libs/gst/base/gstbasetransform.h:
2181           move docs so gtk-doc picks it up now
2182
2183 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * docs/libs/gstreamer-libs-sections.txt:
2186           add missing symbols to docs
2187
2188 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2189
2190         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2191           back out the newsegment handling change, see #340060 for ongoing
2192           discussion
2193
2194 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2195
2196         * tools/gst-run.c: (get_candidates), (main):
2197           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2198           work); fix typo in error message. Fixes #340079.
2199
2200 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2201
2202         * common/Makefile.am:
2203         * docs/Makefile.am:
2204         * docs/faq/Makefile.am:
2205         * docs/gst/Makefile.am:
2206         * docs/libs/Makefile.am:
2207         * docs/manual/Makefile.am:
2208         * docs/plugins/Makefile.am:
2209         * docs/pwg/Makefile.am:
2210         * docs/slides/Makefile.am:
2211         * docs/upload.mak:
2212         * common/upload.mak:
2213           move upload.mak to common
2214
2215 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2216
2217         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2218           add more asserts on refcounts
2219           do more cleanup at end of tests
2220           fix test leaks showing in FC5
2221
2222 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2223
2224         * plugins/elements/gsttypefindelement.c:
2225         (gst_type_find_element_handle_event):
2226         reverted wrong change and reflowed code to avoid others falling into
2227         this trap
2228
2229 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2230
2231         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2232           fix changelog entry about last collectpads change,
2233           add notes about proper fix
2234
2235 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * gst/gst.c:
2238         * gst/gstregistry.c: (gst_registry_scan_path_level),
2239         (gst_registry_scan_path):
2240         * gst/gstregistry.h:
2241           only write out registry if it has changed, fixes #338339
2242
2243 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2244
2245         * gst/gstbin.c:
2246         * gst/gstpipeline.c:
2247         * plugins/elements/gstcapsfilter.c:
2248         * plugins/elements/gstfakesink.c:
2249         * plugins/elements/gstfakesrc.c:
2250         * plugins/elements/gstfdsink.c:
2251         * plugins/elements/gstfdsrc.c:
2252         * plugins/elements/gstfilesink.c:
2253         * plugins/elements/gstfilesrc.c:
2254         * plugins/elements/gstidentity.c:
2255         * plugins/elements/gstqueue.c:
2256         * plugins/elements/gsttee.c:
2257         * plugins/elements/gsttypefindelement.c:
2258         (gst_type_find_element_handle_event):
2259           make GstElementDetails const
2260
2261 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2262
2263         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2264         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2265         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2266           more detailed debug and formatting cleanup,
2267           forward newsegments to src-pad (so that e.g. adder not eats them)
2268
2269 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2270
2271         * gst/gstutils.c: (gst_element_link_pads):
2272           cleanup double code
2273
2274 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2275
2276         * libs/gst/controller/gstcontroller.c:
2277         (gst_controller_sync_values):
2278           some little tuning
2279         * tests/check/libs/controller.c: (GST_START_TEST),
2280         (gst_controller_suite):
2281           a new test for live value handling
2282
2283 2006-04-28  Wim Taymans  <wim@fluendo.com>
2284
2285         * gst/gstutils.c: (push_and_ref):
2286         Added some more docs.
2287         Fix refcount issue whith gst_element_found_tags() helper 
2288         function. Fixes #338335
2289
2290         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2291         Added testsuite for gst_element_found_tags().
2292
2293 2006-04-28  Michael Smith  <msmith@fluendo.com>
2294
2295         * gst/gstvalue.c: (gst_value_serialize_flags):
2296           Avoid NULL dereference when trying to serialize flags containing
2297           invalid values.
2298
2299 2006-04-28  Michael Smith  <msmith@fluendo.com>
2300
2301         * plugins/elements/gsttypefindelement.c:
2302         (gst_type_find_element_handle_event):
2303           If we get EOS before any data is accumulated, don't use
2304           uninitialised local variables.
2305
2306 2006-04-28  Michael Smith  <msmith@fluendo.com>
2307
2308         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2309         (gst_dp_event_from_packet):
2310           Fixes in reading/writing events over GDP (not currently used?) - 
2311           dereferencing NULL events for unknown/invalid event types, memory
2312           leak, and change g_warning to GST_WARNING.
2313
2314 2006-04-28  Wim Taymans  <wim@fluendo.com>
2315
2316         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2317         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2318         (gst_base_sink_get_position), (gst_base_sink_change_state):
2319         When frame dropping is enabled, we should not ignore frames
2320         without a duration.
2321         Update some documentation.
2322
2323 2006-04-28  Wim Taymans  <wim@fluendo.com>
2324
2325         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2326         (gst_base_src_send_event), (gst_base_src_change_state):
2327         Documentation updates.
2328
2329 2006-04-28  Wim Taymans  <wim@fluendo.com>
2330
2331         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2332         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2333         handle EAGAIN, EINTR and short writes correctly. Also clean
2334         up some error cases, avoid a deadlock on bad file descriptors and
2335         use GST_DEBUG_OBJECT.
2336         Fixes #339843
2337
2338 2006-04-28  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/gstvalue.c: (gst_value_serialize_buffer),
2341         (gst_value_deserialize_buffer):
2342         Don't try to serialize a GValue with a NULL buffer. 
2343         Fixes #339821.
2344
2345         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2346         Added check for serialisation of NULL buffers.
2347
2348 2006-04-28  Wim Taymans  <wim@fluendo.com>
2349
2350         * gst/gstminiobject.c: (gst_value_take_mini_object):
2351         Taking a NULL miniobject is valid, fix the case where
2352         we try to unref the NULL miniobject.
2353
2354 2006-04-28  Wim Taymans  <wim@fluendo.com>
2355
2356         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2357
2358         * gst/gstbin.c: (gst_bin_handle_message_func):
2359         Update docs.
2360         Don't leak bin refcount when a state recalc is
2361         in progress and we delay another one #339808.
2362
2363 2006-04-28  Wim Taymans  <wim@fluendo.com>
2364
2365         * docs/design/part-TODO.txt:
2366         Mention QoS as an ongoing work item.
2367
2368         * docs/design/part-buffering.txt:
2369         New doc about buffering that needs to be fleshed out
2370         at some point.
2371
2372         * docs/design/part-qos.txt:
2373         More QoS policy for decoders/demuxers/transforms
2374
2375         * docs/design/part-trickmodes.txt:
2376         Small update.
2377
2378 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2379
2380         * configure.ac:
2381           back to HEAD
2382
2383 === release 0.10.5 ===
2384
2385 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2386
2387         * configure.ac:
2388           releasing 0.10.5, "Fogo"
2389
2390 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2391
2392         patch by: Wim Taymans
2393
2394         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2395         (gst_pad_configure_src), (gst_pad_push):
2396         * gst/gstpipeline.c: (gst_pipeline_init):
2397           Fix internal data flow errors.  Fixes #338711.
2398
2399 2006-04-12  Wim Taymans  <wim@fluendo.com>
2400
2401         * tests/check/gst/gstelement.c: (GST_START_TEST):
2402         Don't leak the factory.
2403
2404 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2405
2406         * configure.ac:
2407         * win32/common/config.h:
2408           prerelease
2409
2410 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2411
2412         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2413         (gst_controller_unset_all):
2414           Free allocated GstTimedValues when freeing list nodes.
2415           Should fix leaks 'make check-valgrind' complains about.
2416
2417         * win32/common/libgstcontroller.def:
2418           Add gst_controller_unset_all.
2419
2420 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2421
2422         * docs/libs/gstreamer-libs-sections.txt:
2423         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2424         (gst_controller_unset_all):
2425         * libs/gst/controller/gstcontroller.h:
2426         API: Added new method gst_controller_unset_all()
2427         fixed gst_controller_unset()
2428         * tests/check/libs/controller.c: (GST_START_TEST),
2429         (gst_controller_suite):
2430         Added two testcases for new and fixed method
2431
2432 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2435           MSG_DONTWAIT is not defined on Cygwin, so work
2436           around that (fixes #317048).
2437           
2438 2006-04-11  Wim Taymans  <wim@fluendo.com>
2439
2440         * gst/gstelementfactory.c: (gst_element_register),
2441         (gst_element_factory_create), (gst_element_factory_make):
2442         Some cleanups.
2443         Fixed a FIXME.
2444         Updated docs (Fixes #131079)
2445
2446         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2447         Small cleanups.
2448
2449         * tests/check/gst/gstelement.c: (GST_START_TEST),
2450         (gst_element_suite):
2451         Added testcase for elementfactory class field.
2452
2453 2006-04-10  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/gstsegment.c:
2456         Added some more docs.
2457
2458         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2459         (gst_base_sink_reset_qos):
2460         Calculate more accurate rate values.
2461
2462 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2463
2464         * gst/gst_private.h:
2465           add a new #ifdef to use __declspec(dllimport) only for
2466           other modules and not for gstreamer core
2467         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2468           use gst_guint64_to_gdouble for conversion
2469         * win32/common/libgstreamer.def:
2470           add new exported functions
2471         * win32/vs6/gst_inspect.dsp:
2472         * win32/vs6/gst_launch.dsp:
2473         * win32/vs6/libgstbase.dsp:
2474         * win32/vs6/libgstcontroller.dsp:
2475         * win32/vs6/libgstcoreelements.dsp:
2476         * win32/vs6/libgstdataprotocol.dsp:
2477         * win32/vs6/libgstnet.dsp:
2478           update project files
2479
2480 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2481
2482         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2483         * gst/gstclock.c: (gst_clock_class_init):
2484         * gst/gstelement.c: (gst_element_class_init):
2485         * gst/gstindex.c: (gst_index_class_init):
2486         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2487         * gst/gstobject.c: (gst_object_class_init),
2488         (gst_signal_object_class_init):
2489         * gst/gstpad.c: (gst_pad_class_init):
2490         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2491         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2492         * gst/gstregistry.c: (gst_registry_class_init):
2493         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2494         * gst/gsttask.c: (gst_task_class_init):
2495         * gst/gstxml.c: (gst_xml_class_init):
2496         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2497         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2498         (gst_base_src_loop):
2499         * libs/gst/controller/gstcontroller.c:/
2500         (_gst_controller_class_init):
2501         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2502         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2503         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2504         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2505         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2506         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2507
2508 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2509
2510         * gst/gstpad.c: (gst_pad_link):
2511           Must set peer pads before calling the link function, otherwise
2512           a task started from a link function might get a flow-not-linked
2513           result when trying to push because the other thread where the
2514           linking happens hasn't had a chance to set the peers yet. This
2515           might happen for example when a queue gets linked to a downstream
2516           element, as queue starts a streaming task when its source pad
2517           gets linked. Happens in real life when playing back flac/musepack
2518           files in playbin (#332390).
2519           
2520 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2521
2522         * gst/gstindex.h:
2523         * gst/gstxml.h:
2524         * libs/gst/base/gstadapter.h:
2525         * libs/gst/base/gstbasesink.h:
2526         * libs/gst/base/gstbasesrc.h:
2527         * libs/gst/base/gstbasetransform.h:
2528         * libs/gst/base/gstcollectpads.h:
2529         * libs/gst/base/gstpushsrc.h:
2530         Fix broken GObject macros
2531
2532 2006-04-07  Wim Taymans  <wim@fluendo.com>
2533
2534         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2535         Initialize start and stop times, thanks valgrind.
2536
2537 2006-04-07  Wim Taymans  <wim@fluendo.com>
2538
2539         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2540         Be a bit nicer to badly behaving upstream elements that expect
2541         us to deal with non TIME segments and timestamps (such as fakesrc
2542         in the testsuite).
2543
2544 2006-04-07  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/gstbus.c:
2547         Small documentation clarification about the signal watch.
2548
2549         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2550         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2551         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2552         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2553         (gst_base_sink_get_position_last),
2554         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2555         Convert and store timestamps in stream time and running time, the
2556         raw timestamps are not usefull, also document this better.
2557         Use different window sizes for good and bad QoS observations so
2558         we react to badness a little quicker.
2559         Keep track of the amount of rendered and dropped buffers.
2560         Send QoS timestamps in running time.
2561
2562         * libs/gst/base/gstbasetransform.c:
2563         (gst_base_transform_sink_eventfunc),
2564         (gst_base_transform_handle_buffer):
2565         Compare QoS timestamps against running time.
2566
2567 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2568
2569         * gst/gstpad.c:
2570           Typo fixes in docs.
2571
2572 2006-04-06  Michael Smith  <msmith@fluendo.com>
2573
2574         * gst/gstpad.c: (gst_pad_set_property):
2575           Use g_value_get_object() instead of g_value_dup_gst_object(),
2576           to avoid double-reffing the pad template (which we then sink,
2577           so this worked previously if (and only if) the pad template
2578           was floating.
2579
2580         * gst/gstpadtemplate.c: (gst_pad_template_init),
2581         (gst_pad_template_pad_created):
2582           Never return floating references to pad templates, create
2583           them as initially-sunken.
2584
2585           Document an extra function (and make this stop sinking our
2586           pad template, since that is now guaranteed to do nothing,
2587           since we created it sunken).
2588
2589         * gst/gstghostpad.c:
2590           Fix docs typo.
2591
2592 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2593
2594         * gst/gstinfo.c: (__gst_in_valgrind):
2595           Add some newlines.
2596
2597         * plugins/elements/gsttypefindelement.c:
2598         (gst_type_find_element_chain):
2599           Don't leak buffer caps.
2600
2601 2006-04-06  Michael Smith  <msmith@fluendo.com>
2602
2603         * gst/parse/grammar.y:
2604           Fix a leak in parse-launch for any source-or-sink named element 
2605           references used.
2606
2607         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2608           Unref the pipeline if it exists after we've failed parsing.
2609
2610 2006-04-05  Michael Smith  <msmith@fluendo.com>
2611
2612         * gst/gstpipeline.c: (gst_pipeline_init):
2613           When we create a pipeline bus, initially create it in flushing mode.
2614           Fixes leaks in at least one test, and makes a new pipeline work the
2615           same as one that has gone to READY and then back to NULL.
2616
2617         * gst/gstelement.c:
2618           Typo fix in docs.
2619
2620 2006-04-05  Michael Smith  <msmith@fluendo.com>
2621
2622         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2623           Unref a pad we reffed.
2624         * tests/check/gst/gstutils.c: (GST_START_TEST):
2625           Unref bins
2626
2627 2006-04-05  Michael Smith  <msmith@fluendo.com>
2628
2629         * gst/gstquery.c: (gst_query_set_formats),
2630         (gst_query_set_formatsv):
2631           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2632
2633 2006-04-05  Michael Smith  <msmith@fluendo.com>
2634
2635         * tests/check/generic/sinks.c: (GST_START_TEST):
2636           Fix a variety of memleaks in sinks check, which are only sometimes 
2637           shown by running the tests under valgrind (weird?).
2638
2639 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2640
2641         * docs/version.entities.in:
2642           Fix the substituted entity name after thomas' changes on the
2643           weekend.
2644
2645 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2646
2647         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2648         VALGRIND_PRINTF
2649         
2650 2006-04-05  Andy Wingo  <wingo@pobox.com>
2651
2652         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2653
2654         * libs/gst/base/gstbasetransform.c
2655         (gst_base_transform_sink_eventfunc): When resetting our segment on
2656         FLUSH_STOP, also update the flag saying we haven't seen a
2657         newsegment.
2658
2659 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2660
2661         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2662
2663         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2664         (gst_plugin_check_license):
2665           minor clean-ups: G_DEFINE_TYPE already takes care of the
2666           parent_class stuff, no need to do it twice. Mark array of
2667           license strings as constant. (#337103)
2668           
2669 2006-04-04  Michael Smith  <msmith@fluendo.com>
2670
2671         * tools/gst-inspect.c: (print_element_list):
2672           Free the right plugin list; fixes a memory leak.
2673
2674 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2677
2678         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2679           Don't error out on empty buffers (#336945).
2680           
2681 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2682
2683         * docs/libs/gstreamer-libs-sections.txt:
2684         * gst/gsttaglist.c:
2685         * libs/gst/base/gstbasesink.c:
2686         * libs/gst/base/gstbasesink.h:
2687         * libs/gst/base/gstbasesrc.c:
2688         * libs/gst/base/gstbasesrc.h:
2689           Documentation updates. Make BaseSink and BaseSrc docs contain the
2690           class structure so that people can actually see the prototypes for
2691           virtual functions they're supposed to be overriding.
2692
2693 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * plugins/elements/gsttypefindelement.c:
2696         (gst_type_find_element_chain):
2697           More debug info; when skipping typefinding, send cached
2698           events in all cases.
2699
2700 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2701
2702         * configure.ac:
2703           use new AS_VERSION and AS_NANO macros
2704         * gst/gst-i18n-lib.h:
2705         * gst/gst.c:
2706         * gst/gsterror.c:
2707         * gst/gstversion.h.in:
2708         * win32/common/config.h:
2709         * win32/common/config.h.in:
2710           update accordingly
2711
2712 2006-03-31  Michael Smith  <msmith@fluendo.com>
2713
2714         * plugins/elements/gsttypefindelement.c:
2715         (gst_type_find_element_chain):
2716           Do not typefind content if the buffers already have caps.
2717           Neccesary for icydemux (#333657), and the right thing to do anyway.
2718
2719 2006-03-30  Wim Taymans  <wim@fluendo.com>
2720
2721         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2722         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2723         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2724         (gst_base_sink_record_qos_observation),
2725         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2726         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2727         (gst_base_sink_change_state):
2728         More QoS measurements as described in the design doc.
2729         Get rid of ringbuffer with observations, running average is
2730         more simple and equally good.
2731         Calculates valid proportion now.
2732         Added beginning of flood measurement.
2733
2734 2006-03-29  Wim Taymans  <wim@fluendo.com>
2735
2736         * docs/design/part-qos.txt:
2737         * gst/gstclock.c:
2738         Small documentation updates and additions.
2739
2740 2006-03-29  Wim Taymans  <wim@fluendo.com>
2741
2742         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2743         (gst_base_src_send_event), (gst_base_src_loop),
2744         (gst_base_src_change_state):
2745         Perform the EOS logic when we reach the segment stop position.
2746         Fix compilation on gcc4.1
2747
2748 2006-03-29  Wim Taymans  <wim@fluendo.com>
2749
2750         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2751
2752         * plugins/elements/gstqueue.c: (gst_queue_init),
2753         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2754         (gst_queue_set_property):
2755         * plugins/elements/gstqueue.h:
2756         In queue, when EOS is received, if minimum threshold > max_size -
2757         current_level, there is chance that queue blocks forever in conditional
2758         item del wait. This is because the queue is not emptied completely due
2759         to minimum threshold.  Here is another approach. Instead of setting
2760         cur_levels to max in EOS, just zero all minimum threshold levels. This
2761         should make sure that queue gives out all data. When going to READY
2762         (stop) state, just reset the original minimum threshold levels.
2763         Fixes #336336.
2764
2765 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2766
2767         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2768         (gst_type_find_element_handle_event),
2769         (gst_type_find_element_send_cached_events),
2770         (gst_type_find_element_change_state):
2771         * plugins/elements/gsttypefindelement.h:
2772           When typefinding is done in push mode, we should cache
2773           events we receive during typefinding instead of just
2774           dropping them (e.g. newsegment, custom events from
2775           dvdreadsrc etc.) and then send them out once we've
2776           determined the type of the stream (and decodebin
2777           has had a chance to plug in a decoder/demuxer).
2778           
2779 2006-03-27  Wim Taymans  <wim@fluendo.com>
2780
2781         * docs/design/part-qos.txt:
2782         First QoS ideas.
2783
2784 2006-03-27  Wim Taymans  <wim@fluendo.com>
2785
2786         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2787
2788         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2789         (gst_base_src_send_event), (gst_base_src_change_state):
2790         Handle element seek correctly when we are streaming.
2791         Fixes #326998.
2792
2793 2006-03-24  Michael Smith  <msmith@fluendo.com>
2794
2795         * docs/faq/gst-uninstalled:
2796           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2797           allow you to correctly run intalled applications built against old 
2798           core, using plugins that require updated core (e.g. running
2799           installed totem against a full uninstalled gstreamer stack)
2800
2801 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2802
2803         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2804         more debug details
2805
2806 2006-03-24  Wim Taymans  <wim@fluendo.com>
2807
2808         * docs/gst/gstreamer-sections.txt:
2809         Rearrange the order of the methods so that related methods
2810         are grouped together in sections.
2811
2812 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * gst/gstelement.c:
2815           Little clarification in the docs
2816
2817 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2818
2819         * docs/README:
2820         formatting fix
2821         * plugins/elements/gstidentity.c:
2822         * plugins/elements/gstqueue.c:
2823         * plugins/elements/gsttee.c:
2824         * plugins/elements/gsttypefindelement.c:
2825         GST_ELEMENT_DETAILS formatting
2826
2827 2006-03-24  Wim Taymans  <wim@fluendo.com>
2828
2829         * libs/gst/base/gstbasesink.h:
2830         Only add fields, not insert or we break ABI.
2831
2832 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2833
2834         * win32/common/libgstbase.def:
2835         * win32/common/libgstreamer.def:
2836           Update, add recently added functions.
2837
2838 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2839
2840         * docs/gst/gstreamer-sections.txt:
2841         * gst/gstutils.c: (gst_pad_query_peer_position),
2842         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2843         * gst/gstutils.h:
2844           API: add some new utility functions:
2845            - gst_pad_query_peer_position()
2846            - gst_pad_query_peer_duration()
2847            - gst_pad_query_peer_convert()
2848           
2849 2006-03-23  Wim Taymans  <wim@fluendo.com>
2850
2851         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2852         (gst_base_sink_init), (gst_base_sink_finalize),
2853         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2854         (gst_base_sink_set_property), (gst_base_sink_get_property),
2855         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2856         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2857         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2858         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2859         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2860         (gst_base_sink_preroll_object), (gst_base_sink_event),
2861         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2862         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2863         (gst_base_sink_query), (gst_base_sink_change_state):
2864         Decouple max-lateness and the fact that QoS messages are generated
2865         with a new property (qos).
2866         added API: GstBaseSink::async_play()
2867         Add vmethod so subclasses can be notified of ASYNC playing
2868         state changes.
2869         Collect timestamp start and stop to report better current
2870         position in EOS/PLAYING/PAUSED/READY/NULL.
2871         Refactor QoS/frame dropping and other measurements.
2872         API: GstBaseSrc::qos
2873         Fixes #326311
2874
2875         * libs/gst/base/gstbasesink.h:
2876         Added Private struct.
2877         API: gst_base_sink_set_qos_enabled()
2878         API: gst_base_sink_is_qos_enabled()
2879
2880 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2883           If compiling against GLib-2.8 or newer, try to read the
2884           registry file using GMappedFile first before falling back
2885           to fopen() + fread() (#332151).
2886
2887 2006-03-22  Wim Taymans  <wim@fluendo.com>
2888
2889         * gst/gstinfo.c: (gst_debug_set_active),
2890         (gst_debug_category_set_threshold):
2891         Disable debugging unless explicitly activated.
2892         Fixes #335480.
2893
2894 2006-03-22  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/gstelement.c: (gst_element_set_locked_state),
2897         (gst_element_dispose):
2898         Cleanup the error case.
2899
2900         * gst/gstobject.c: (gst_object_dispose):
2901         print a critical when some object was disposed with
2902         a parent, also revive the object since it might
2903         crash the parent.
2904
2905 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2906
2907         * tools/gst-launch.1.in:
2908           Fix another typo.
2909
2910 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * configure.ac:
2913         * tests/check/Makefile.am:
2914           disable some tests when we don't have a registry
2915         * tests/check/gst/gstutils.c: (gst_utils_suite):
2916           don't build the part that needs parsing
2917
2918 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * gst/Makefile.am
2921         * tests/examples/Makefile.am:
2922           fix --disable-parse build
2923
2924 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * tools/gst-feedback.1.in:
2927           Fix typo: s/feeback/feedback/ (#133494).
2928
2929 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2930
2931         * tools/Makefile.am:
2932         * tools/gst-launch.1.in:
2933           Add FILES section and correct entry about GST_REGISTRY_PATH
2934           environment variable (#133495; #133494).
2935
2936 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2937
2938         * tools/Makefile.am:
2939         * tools/gst-md5sum.1.in:
2940         * tools/gst-md5sum.c:
2941           Remove gst-md5sum and man page (the md5sink element
2942           required was removed ages ago)
2943
2944 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2945
2946         * gst/gststructure.c: (gst_structure_id_set_value):
2947           Make sure that string fields in structures/taglists
2948           contain valid UTF-8 - we don't want to pass rubbish to
2949           applications because of a buggy plugin (cp. #334167).
2950
2951 2006-03-21  Edward Hervey  <edward@fluendo.com>
2952
2953         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2954         (gst_bin_handle_message_func):
2955         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2956         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2957         (gst_element_set_bus_func):
2958         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2959         * gst/gstminiobject.c: (gst_value_set_mini_object),
2960         (gst_value_take_mini_object):
2961         * gst/gstpad.c: (gst_pad_set_pad_template):
2962         * gst/gstpipeline.c: (gst_pipeline_dispose),
2963         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2964         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2965         (gst_collect_pads_chain):
2966         * libs/gst/net/gstnettimeprovider.c:
2967         (gst_net_time_provider_set_property):
2968         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2969         It's in fact all issues with gst_*object_replace().
2970
2971 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2972
2973         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2974         
2975         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2976         * pkgconfig/gstreamer-check.pc.in:
2977           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2978
2979 2006-03-21  Edward Hervey  <edward@fluendo.com>
2980
2981         * gst/gstbuffer.h:
2982         * gst/gstevent.h:
2983         * gst/gstmessage.h:
2984         gst_[buffer|event|message]_ref() macros are replaced by a static
2985         inline functions because gcc-4.1 will about if the return value
2986         isn't used.
2987         * tests/check/gst/gstevent.c: (event_probe):
2988         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2989
2990 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2991
2992         * gst/gstutils.h:
2993         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2994         the type' case. (Closes: #335195 for now). In the future, when we
2995         depend on GLib 2.10, we could also intern the type name using
2996         g_intern_static_string()
2997
2998 2006-03-20  Wim Taymans  <wim@fluendo.com>
2999
3000         * gst/gstbin.c: (gst_bin_handle_message_func),
3001         (bin_query_max_init), (bin_query_position_fold),
3002         (bin_query_position_done), (gst_bin_query):
3003         Position query should also take max of all streams.
3004
3005 2006-03-20  Wim Taymans  <wim@fluendo.com>
3006
3007         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3008         (gst_fake_src_finalize):
3009         Fix leaks in fakesrc.
3010
3011         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3012         Fix leaks in the testcase.
3013
3014 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3015
3016         * gst/gst_private.h:
3017           add win32 specific import decoration(__declspec(dllimport)) 
3018           for all extern GstDebugCategory * variables
3019         * win32/common/libgstbase.def:
3020         * win32/common/libgstcontroller.def:
3021         * win32/common/libgstreamer.def:
3022           Add some exports, remove empty lines
3023         * win32/common/libgstdataprotocol.def:
3024         * win32/common/libgstdataprotocol.dsp:
3025         * win32/common/libgstnet.def:
3026         * win32/common/libgstnet.dsp:
3027           new project files and exportation files added
3028         
3029 2006-03-19  Wim Taymans  <wim@fluendo.com>
3030
3031         * tests/check/libs/basesrc.c: (eos_event_counter):
3032         Use proper return value for probe.
3033
3034 2006-03-17  Wim Taymans  <wim@fluendo.com>
3035
3036         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3037         (gst_pad_push):
3038         Don't leak buffers, caps and pads on negotiation errors.
3039
3040 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3041
3042         * docs/faq/cvs.xml:
3043         * docs/faq/dependencies.xml:
3044         * docs/faq/developing.xml:
3045         * docs/faq/faq.xml:
3046         * docs/faq/general.xml:
3047         * docs/faq/getting.xml:
3048         * docs/faq/legal.xml:
3049         * docs/faq/troubleshooting.xml:
3050         * docs/faq/using.xml:
3051         Faq review and update.
3052
3053 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3054
3055         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3056         (gst_pad_push):
3057         Don't pound the cpu to pieces by checking get_caps when accept_caps
3058         is called with the same caps as the pad already has.
3059         Use GST_DEBUG_OBJECT when outputting caps change information.
3060
3061 2006-03-15  Wim Taymans  <wim@fluendo.com>
3062
3063         * gst/gstclock.c: (gst_clock_class_init):
3064         Fix docs.
3065
3066 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3067
3068         * gst/gstbuffer.h:
3069         Documentation fix.
3070
3071         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3072         (gst_pad_accept_caps), (gst_pad_configure_sink),
3073         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3074         Make the default acceptcaps behaviour be to check the requested 
3075         caps against the gst_pad_get_caps output. 
3076
3077         Ensure that gst_pad_accept_caps is used to check caps when a pad
3078         doesn't have a setcaps function, so that pads automatically refuse 
3079         caps that they don't allow in their pad template. (Fixes #332986)
3080
3081         When a buffer with attached caps is pushed, ensure that the source 
3082         pad receives those caps even if the element didn't call
3083         gst_pad_set_caps first.
3084
3085 2006-03-15  Wim Taymans  <wim@fluendo.com>
3086
3087         * libs/gst/base/gstadapter.c:
3088         Add some docs.
3089
3090 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * win32/common/libgstbase.def:
3093         * win32/common/libgstcontroller.def:
3094         * win32/common/libgstreamer.def:
3095           Add a whole bunch of missing functions (#334434).
3096
3097 2006-03-14  Wim Taymans  <wim@fluendo.com>
3098
3099         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3100         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3101         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3102         Better debug info when we receive a segment event.
3103         Reorganize a bit so we can pass the get_times() results around.
3104         Use the segment format when calculating the running time.
3105         Don't do QoS is sync is disabled or we have no clock or the
3106         element does not want us to sync to the clock.
3107         Don't drop buffers if QoS is disabled for now.
3108
3109 2006-03-14  Wim Taymans  <wim@fluendo.com>
3110
3111         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3112         Marked the stats property as unimplemented so people don't get
3113         wild ideas.
3114         Add debug message when regression goes wrong.
3115         Added some more docs.
3116
3117 2006-03-14  Wim Taymans  <wim@fluendo.com>
3118
3119         * gst/gstsegment.c: (gst_segment_to_stream_time):
3120         Return correct return type in case of errors.
3121
3122 2006-03-14  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3125           Don't segfault on invalid formats.
3126
3127 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3128
3129         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3130           Can't use gst_segment_to_running_time() when the segment
3131           is not in GST_TIME_FORMAT (like with filesink, for example).
3132           Stops flac encoding pipelines from spewing critical warnings
3133           at EOS (#331248).
3134           
3135 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3136
3137         * gst/gstpipeline.c: (gst_pipeline_class_init):
3138           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3139
3140         * plugins/elements/gsttypefindelement.c:
3141         (gst_type_find_element_handle_event):
3142           Don't try to typefind empty streams.
3143
3144 2006-03-14  Wim Taymans  <wim@fluendo.com>
3145
3146         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3147         (gst_base_sink_do_qos):
3148         Separate QoS calculation.
3149         Only drop buffers when lateness is bigger than the 
3150         duration of the buffer.
3151
3152 2006-03-13  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/gstpipeline.c: (gst_pipeline_set_property),
3155         (gst_pipeline_get_property), (do_pipeline_seek),
3156         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3157         (gst_pipeline_get_delay):
3158         Don't deadlock when reading properties.
3159
3160 2006-03-13  Wim Taymans  <wim@fluendo.com>
3161
3162         * libs/gst/base/gstbasetransform.c:
3163         (gst_base_transform_class_init), (gst_base_transform_init),
3164         (gst_base_transform_sink_event),
3165         (gst_base_transform_sink_eventfunc),
3166         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3167         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3168         (gst_base_transform_set_property),
3169         (gst_base_transform_get_property),
3170         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3171         (gst_base_transform_set_qos_enabled),
3172         (gst_base_transform_is_qos_enabled):
3173         * libs/gst/base/gstbasetransform.h:
3174         Make basetransform virtual method for src events too.
3175         Handle QOS in basetransform.
3176         API: gst_base_transform_update_qos()
3177         API: gst_base_transform_set_qos_enabled()
3178         API: gst_base_transform_is_qos_enabled()
3179
3180 2006-03-13  Wim Taymans  <wim@fluendo.com>
3181
3182         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3183         (gst_base_sink_do_sync):
3184         Small cleanups.
3185         Use QOS debug category.
3186
3187 2006-03-13  Wim Taymans  <wim@fluendo.com>
3188
3189         * plugins/elements/gstqueue.c:
3190         Very small doc update.
3191
3192 2006-03-13  Wim Taymans  <wim@fluendo.com>
3193
3194         * gst/gst_private.h:
3195         * gst/gstinfo.c: (_gst_debug_init):
3196         Added QOS debug category
3197
3198 2006-03-13  Wim Taymans  <wim@fluendo.com>
3199
3200         * docs/gst/gstreamer-sections.txt:
3201         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3202         * gst/gstbin.h:
3203         * gst/gstbus.c: (gst_bus_class_init):
3204         * gst/gstbus.h:
3205         * gst/gstclock.c:
3206         * gst/gstelement.c: (gst_element_set_locked_state):
3207         * gst/gstsegment.c:
3208         Documentation updates.
3209
3210         * gst/gstpipeline.c: (gst_pipeline_get_type),
3211         (gst_pipeline_class_init), (gst_pipeline_init),
3212         (gst_pipeline_dispose), (gst_pipeline_set_property),
3213         (gst_pipeline_get_property), (do_pipeline_seek),
3214         (gst_pipeline_send_event), (gst_pipeline_change_state),
3215         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3216         (gst_pipeline_get_delay):
3217         * gst/gstpipeline.h:
3218         Added methods for setting the delay.
3219         API: gst_pipeline_set_delay()
3220         API: gst_pipeline_get_delay()
3221         Add pipeline debug category
3222         Various cleanups.
3223         Updated docs.
3224         Don't reset stream time when seek failed.
3225
3226 2006-03-13  Wim Taymans  <wim@fluendo.com>
3227
3228         * docs/design/draft-klass.txt:
3229         * docs/design/part-clocks.txt:
3230         * docs/design/part-events.txt:
3231         * docs/design/part-gstbin.txt:
3232         * docs/design/part-gstpipeline.txt:
3233         * docs/design/part-messages.txt:
3234         * docs/design/part-negotiation.txt:
3235         * docs/design/part-overview.txt:
3236         * docs/design/part-preroll.txt:
3237         * docs/design/part-seeking.txt:
3238         * docs/design/part-states.txt:
3239         * docs/design/part-streams.txt:
3240         Documentation updates.
3241
3242 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3243
3244         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3245         us to leak strings...
3246
3247 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3248
3249         * libs/gst/net/gstnettimeprovider.c:
3250           fix docs
3251         * win32/common/config.h:
3252           update
3253
3254 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3255
3256         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3257
3258         * configure.ac:
3259           Don't check for libgnomeui (leftover from old examples
3260           that aren't built or disted any longer) (#334303).
3261           
3262 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3263
3264         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3265         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3266           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3267           there's no space left on the device.
3268
3269 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/gstclock.h:
3272           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3273           to cast the input to GstClockTime before comparing with
3274           another GstClockTime value.
3275
3276 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3277
3278         * configure.ac:
3279           back to trunk
3280
3281 === release 0.10.4 ===
3282
3283 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3284
3285         * configure.ac:
3286           releasing 0.10.4, "Light"
3287
3288 2006-03-10  Michael Smith  <msmith@fluendo.com>
3289
3290         * libs/gst/dataprotocol/dataprotocol.c:
3291           Fix docs for dataprocotol to not get the return types completely
3292           wrong for a few functions.
3293
3294 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * docs/gst/gstreamer-sections.txt:
3297         * gst/gstpipeline.c: (gst_pipeline_class_init),
3298         (gst_pipeline_init), (gst_pipeline_set_property),
3299         (gst_pipeline_get_property), (gst_pipeline_change_state),
3300         (gst_pipeline_set_auto_flush_bus),
3301         (gst_pipeline_get_auto_flush_bus):
3302         * gst/gstpipeline.h:
3303           Add new API: gst_pipeline_set_auto_flush_bus() and
3304           gst_pipeline_get_auto_flush_bus() to disable automatic
3305           flushing of the pipeline's GstBus when going from READY
3306           to NULL state (#332045).
3307
3308 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3309
3310         * docs/gst/gstreamer-sections.txt:
3311         * gst/gsturi.c: (gst_uri_has_protocol):
3312         * gst/gsturi.h:
3313            Add new API: gst_uri_has_protocol() (#333779).
3314
3315 2006-03-09  Wim Taymans  <wim@fluendo.com>
3316
3317         * gst/gstclock.c: (gst_clock_entry_new),
3318         (gst_clock_id_compare_func), (gst_clock_id_wait),
3319         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3320         (gst_clock_init), (gst_clock_get_internal_time),
3321         (gst_clock_set_master), (do_linear_regression),
3322         (gst_clock_add_observation), (gst_clock_set_property):
3323         * gst/gstclock.h:
3324         Review docs.
3325         Small cleanups.
3326         Fix a possible segfault when the window-size is made smaller.
3327         Calculate jitter before performing the clock wait. Ideally
3328         the clock implementation should calculate jitter but we need
3329         API breakage for that.
3330
3331         * gst/gstsystemclock.c: (gst_system_clock_init):
3332         Docs review.
3333         
3334         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3335         Remove leftover else
3336
3337         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3338         (gst_systemclock_suite):
3339         Added check to test GST_CLOCK_DIFF.
3340
3341 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3342
3343         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3344         (gst_type_find_helper_get_range):
3345           If we are provided with the size, we should implement
3346           GstTypeFind::get_length, so that typefind functions who
3347           want to can actually peek at the middle of a file.
3348
3349 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3350
3351         * docs/manual/advanced-dataaccess.xml:
3352           Add some very very basic error checking.
3353
3354         * docs/pwg/appendix-checklist.xml:
3355           Some updates to the list of things to check when writing an element.
3356
3357 2006-03-08  Wim Taymans  <wim@fluendo.com>
3358
3359         * docs/design/part-element-transform.txt:
3360         Added some docs about the design of tranform elements.
3361
3362         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3363         (gst_base_src_loop), (gst_base_src_change_state):
3364         Mark buffers with the DISCONT flag.
3365
3366 2006-03-08  Michael Smith  <msmith@fluendo.com>
3367
3368         * gst/gstregistry.h:
3369         * gst/gstregistryxml.c: (gst_registry_save),
3370         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3371         (gst_registry_xml_save_pad_template),
3372         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3373         (gst_registry_xml_write_cache):
3374           Rewrite registry-saving to avoid race conditions and check for
3375           failed writes.
3376
3377 2006-03-08  Wim Taymans  <wim@fluendo.com>
3378
3379         * libs/gst/base/gstbasetransform.c:
3380         (gst_base_transform_transform_caps),
3381         (gst_base_transform_transform_size),
3382         (gst_base_transform_prepare_output_buffer),
3383         (gst_base_transform_get_unit_size),
3384         (gst_base_transform_buffer_alloc),
3385         (gst_base_transform_handle_buffer),
3386         (gst_base_transform_change_state):
3387         Cleanups, separate normal flow from errors, add sensible
3388         DEBUG lines.
3389         Don't try to renegotiate when allocating an output buffer.
3390         Also copy DISCONT buffer flag when copying a buffer.
3391         Reset the transform after we finish streaming, not during.
3392
3393 2006-03-08  Wim Taymans  <wim@fluendo.com>
3394
3395         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3396         Use last buffer timestamp in qos message.
3397
3398 2006-03-07  Wim Taymans  <wim@fluendo.com>
3399
3400         Patch by: Christophe Fergeau
3401
3402         * docs/pwg/advanced-tagging.xml:
3403         * docs/pwg/building-pads.xml:
3404           fixes #333416
3405
3406 2006-03-07  Wim Taymans  <wim@fluendo.com>
3407
3408         * docs/libs/gstreamer-libs-sections.txt:
3409         Added basesink new methods.
3410
3411         * gst/gstevent.c:
3412         * gst/gstevent.h:
3413         Docs updates. Flesh out the QoS docs.
3414
3415         * libs/gst/base/gstadapter.c:
3416         Small doc clarification about ownership and flushing.
3417
3418         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3419         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3420         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3421         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3422         * libs/gst/base/gstbasesink.h:
3423         API additions: 
3424         Added new methods to allow subclass to control max-lateness 
3425         and sync.
3426         Generate very basic QoS events based on last sync observation.
3427         Updated docs, fix typo, added some QoS blurb.
3428
3429         * libs/gst/base/gstbasesrc.c:
3430         Remove obsolete _get_state() calls from docs.
3431
3432 2006-03-07  Wim Taymans  <wim@fluendo.com>
3433
3434         * docs/libs/gstreamer-libs-sections.txt:
3435         * libs/gst/base/gstbasetransform.h:
3436         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3437         Fix docs for GstBaseSrc.
3438
3439 2006-03-07  Wim Taymans  <wim@fluendo.com>
3440
3441         * docs/gst/gstreamer-sections.txt:
3442         * gst/gstbuffer.h:
3443         * gst/gstvalue.c:
3444         * libs/gst/base/gstbasetransform.h:
3445         Small documentation fixes.
3446
3447 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3448
3449         * gst/gstvalue.c:
3450           Document thread-unsafety of gst_value_register_foo_func()
3451           when used at the same time as gst_value_foo() (#322628).
3452
3453 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3454
3455         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3456         (gst_push_src_check_get_range):
3457           Push sources don't support pull mode by default.
3458
3459 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3460
3461         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3462         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3463         (gst_base_src_default_check_get_range):
3464         * libs/gst/base/gstbasesrc.h:
3465           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3466           provide default implementation, and rename
3467           gst_base_src_check_get_range() to
3468           gst_base_src_pad_check_get_range() for clarity.
3469
3470 2006-03-06  Wim Taymans  <wim@fluendo.com>
3471
3472         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3473         Make property overridable.
3474
3475 2006-03-06  Wim Taymans  <wim@fluendo.com>
3476
3477         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3478         (gst_base_sink_init), (gst_base_sink_set_property),
3479         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3480         * libs/gst/base/gstbasesink.h:
3481         API addition: Make max-lateness a property.
3482
3483 2006-03-06  Wim Taymans  <wim@fluendo.com>
3484
3485         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3486         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3487         Don't ever draw a frame that is >10ms late.
3488
3489 2006-03-06  Michael Smith  <msmith@fluendo.com>
3490
3491         * gst/gstmessage.c: (_gst_message_copy):
3492           When copying a message, set the parent_refcount of the enclosed
3493           structure to point at the copy, not the original message.
3494
3495 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3496
3497         Patch by: Christophe Fergeau
3498
3499         * gst/gstutils.h:
3500           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3501           usable in c++ code (#333417)
3502
3503 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * gst/gstclock.h:
3506           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3507
3508 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3509
3510         * libs/gst/base/gstbasetransform.c:
3511         (gst_base_transform_transform_caps):
3512           Make sure caps are writable before passing them to
3513           gst_caps_append().
3514
3515 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         * gst/gsterror.h:
3518           Fix some minor docs errors.
3519
3520 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522           Patch by: Ross Burton <ross at burtonini dot com>
3523
3524         * gst/gsterror.c: (_gst_resource_errors_init):
3525         * gst/gsterror.h:
3526           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3527
3528 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3529
3530         * gst/gst.c:
3531         Add a check and output a g_warning when GStreamer is built
3532         against GLib 2.6 but running against 2.8 or higher, and vice 
3533         versa. (Closes: #323542)
3534
3535 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3536
3537         * gst/parse/parse.l:
3538           Commit patch for parse_launch syntax from #331255. Removes 
3539           support for quoted strings and mimetypes when writing filtered 
3540           caps. See the bug report for more details - I'm pretty sure this
3541           obscure feature is not in use by _anyone_ anywhere.
3542
3543           With this simple change, the size of the gstreamer.so here 
3544           drops from 2193KB to 1565KB.
3545
3546 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3547
3548         * plugins/elements/gsttypefindelement.h:
3549         * plugins/elements/gsttypefindelement.c:
3550         (gst_type_find_element_src_event), (start_typefinding),
3551         (stop_typefinding), (gst_type_find_element_handle_event),
3552         (gst_type_find_element_chain),
3553         (gst_type_find_element_chain_do_typefinding):
3554           Use gst_type_find_helper_for_buffer() for chain-based
3555           typefinding.
3556
3557 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3558
3559         * plugins/elements/gsttypefindelement.c:
3560         (gst_type_find_element_class_init),
3561         (gst_type_find_element_set_property),
3562         (gst_type_find_element_get_property):
3563           Deprecate "maximum" property (not only was it only taken into
3564           account for typefinding in push-mode anyway, it also was never
3565           actually possible to set it in the first place because the
3566           property was registered with the numeric property ID for the
3567           "minimum" property). Register "maximum" property correctly,
3568           for the sake of future copy'n'pasters. Remove some cruft
3569           from property get/set functions.
3570
3571 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * plugins/elements/gsttypefindelement.c:
3574         (gst_type_find_element_activate):
3575           Use gst_type_find_helper_get_range() here, so we
3576           can honour the "minimum" property and also emit
3577           the signal with the correct probability of the found caps.
3578
3579 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3580
3581         * docs/libs/gstreamer-libs-sections.txt:
3582         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3583         (helper_find_suggest), (gst_type_find_helper_get_range),
3584         (gst_type_find_helper):
3585         * libs/gst/base/gsttypefindhelper.h:
3586           New API: gst_type_find_helper_get_range() (#333042).
3587
3588 2006-03-02  Michael Smith  <msmith@fluendo.com>
3589
3590         * gst/gstregistryxml.c: (load_feature):
3591           Asserting on a failure to read part of the registry is Not Cool.
3592           Just log a warning and return NULL (which is already handled)
3593
3594 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3595
3596         * win32/common/libgstbase.def:
3597           added export of gst_type_find_helper_for_buffer
3598         * win32/common/libgstbase.def:
3599           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3600           gst_ghost_pad_get_target
3601
3602 2006-02-28  Wim Taymans  <wim@fluendo.com>
3603
3604         * docs/design/draft-klass.txt:
3605         We use Filter now.
3606         Added Connector to mark elements that are only used to
3607         allow pipeline connections.
3608         Moved Debug to extra feature since most of them are 
3609         functionally something else.
3610
3611 2006-02-28  Wim Taymans  <wim@fluendo.com>
3612
3613         * docs/design/draft-klass.txt:
3614         Some updates and clarifications.
3615
3616 2006-02-28  Wim Taymans  <wim@fluendo.com>
3617
3618         * docs/design/draft-klass.txt:
3619         Proposal for klass field values.
3620
3621         * docs/design/part-streams.txt:
3622         Start of a doc describing stream anatomy.
3623
3624 2006-02-28  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3627         Help the compiler a bit with type registration.
3628         Use existing forward cod path instead of duplicating it when 
3629         handling a message.
3630         
3631         * gst/gstbus.c: (gst_bus_get_type):
3632         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3633         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3634         * gst/gstclock.c: (gst_clock_get_type):
3635         * gst/gstelement.c: (gst_element_get_type),
3636         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3637         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3638         * gst/gstminiobject.c: (gst_mini_object_get_type):
3639         * gst/gstpad.c: (gst_pad_get_type):
3640         * gst/gstsegment.c: (gst_segment_get_type):
3641         * gst/gststructure.c: (gst_structure_get_type):
3642         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3643         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3644         * gst/gstvalue.c:
3645         Help compiler with type registration.
3646
3647         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3648         Small doc update.
3649
3650 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3651
3652         * plugins/elements/gsttypefindelement.c:
3653         (gst_type_find_element_handle_event):
3654           When we get an EOS event and have not found a type yet
3655           (most likely because we had not yet accumulated
3656           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3657           type given the data we have so far. Fixes typefinding
3658           for very short streams again, most notably quicktime
3659           redirections as used on Apple's trailer site (#331701).
3660
3661 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3664         (gst_type_find_helper):
3665           Try typefinding factories with the highest rank first.
3666
3667 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3668
3669         * docs/libs/gstreamer-libs-docs.sgml:
3670         * docs/libs/gstreamer-libs-sections.txt:
3671         * libs/gst/base/gsttypefindhelper.c:
3672           Add section for typefind helper and add documentation
3673           for the old and the new function.
3674
3675 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3678         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3679         (gst_type_find_helper_for_buffer):
3680         * libs/gst/base/gsttypefindhelper.h:
3681           New API: gst_type_find_helper_for_buffer() (#332723).
3682           
3683 2006-02-27  Michael Smith  <msmith@fluendo.com>
3684
3685         Patch by: Loïc Minier
3686
3687         * configure.ac:
3688         * docs/Makefile.am:
3689         * docs/slides/Makefile.am:
3690           prevent CVS directories getting disted.
3691
3692 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3693
3694         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3695           Use the REFCOUNTING category for caps refcounting.
3696           
3697 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3700           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3701
3702 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3703
3704         * plugins/elements/gsttypefindelement.c:
3705         (gst_type_find_element_activate):
3706           Use gst_pad_check_pull_range() before _activate_pull()
3707           to avoid unnecessary open/close (see #331690).
3708
3709 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3710
3711         * gst/gstutils.c:
3712           Docs enhancement: make it crystal clear what the
3713           gst_pad_add_*_probe() callbacks should look like.
3714
3715 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * libs/gst/base/gstbasesrc.c:
3718           Document how applications can stop recording from
3719           live sources (see #330996).
3720
3721 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3722
3723         * tests/check/Makefile.am:
3724         * tests/check/libs/basesrc.c: (eos_event_counter),
3725         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3726         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3727         (gst_basesrc_suite), (main):
3728           ... and add some tests for the base source EOS stuff.
3729
3730 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3731
3732         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3733           Test case originally showed the problem fixed below,
3734           but was then amended. Add checks back at the place
3735           where they used to be.
3736
3737 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3740         (gst_base_src_init), (gst_base_src_loop),
3741         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3742         (gst_base_src_change_state):
3743         * libs/gst/base/gstbasesrc.h:
3744           Don't unconditionally send EOS when going from PAUSED to
3745           READY state, esp. make sure we don't send two EOS events
3746           in some cases (e.g. one when reaching EOS and one when
3747           going from PAUSED to READY). Also, we don't want to send
3748           EOS events when operating in pull mode. However, we do
3749           want to send an EOS event when shutting down a live
3750           source explicitly, for example (fixes #330996).
3751           
3752 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3755           Update src->read_position after a seek when not using mmap.
3756           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3757
3758 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3759
3760         * gst/Makefile.am:
3761         * gst/gstparse.h:
3762         * gst/gstutils.c:
3763         * gst/gstutils.h:
3764         Make things work with --disable-parse as they do with 
3765         --disable-load-save - the symbols involved disappear, but the
3766         header is still installed and GST_DISABLE_PARSE is included via
3767         gstconfig.h
3768
3769 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3770
3771         * libs/gst/base/gstbasetransform.c:
3772         (gst_base_transform_change_state): Fix a stupid bug. I was 
3773         sure I compiled that.
3774
3775 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3776
3777         * gst/gstpad.c: (gst_pad_set_blocked_async):
3778         * gst/gstutils.c: (gst_pad_add_data_probe),
3779         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3780         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3781         (gst_pad_remove_buffer_probe): Make those function act on the
3782         ghostpad target when it's a ghostpad. (Closes #331727)
3783
3784 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3785
3786         * libs/gst/base/gstbasetransform.c:
3787         (gst_base_transform_change_state): Make basetransform reusable.
3788         (Closes #331898)
3789
3790 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3791
3792         * docs/random/release:
3793         Move the current documentation of how to do a release to the top
3794         of the file.
3795
3796         * gst/gstbin.c: (gst_bin_class_init),
3797         (gst_bin_handle_message_func):
3798         Allow multiple state-recalculation threads. (Closes #328873)
3799
3800 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3801
3802         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3803         * gst/gstpad.c: (gst_pad_set_event_function),
3804         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3805         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3806         2 strings. You can't use the STR_NULL macro on that.
3807
3808 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3809
3810         * gst/gstpad.c: (gst_pad_set_event_function),
3811         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3812         (gst_pad_set_getcaps_function)
3813         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3814           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3815           So now, we can use --gst-debug-level=5 on Windows
3816         * win32/common/libgstcontroller.def:
3817           Added export of gst_controller_init
3818         * win32/vs6/libgstcontroller.dsp:
3819           Fixed Release post build configuration
3820
3821 2006-02-17  Wim Taymans  <wim@fluendo.com>
3822
3823         * tests/check/gst/gstquery.c: (GST_START_TEST):
3824         Added another check.
3825
3826 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3827
3828         * plugins/elements/gsttypefindelement.c: (find_peek):
3829           We can do peeks at non-zero offsets, as long as they
3830           fall within the buffer we have.
3831
3832 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3833
3834         * tests/check/Makefile.am:
3835         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3836         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3837         (parse_suite), (main):
3838           Add testsuite for parse launch syntax
3839
3840 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3841
3842         * plugins/elements/gsttypefindelement.c:
3843         (gst_type_find_element_chain):
3844           When typefinding is unsuccessful in the chain function, don't
3845           error out immediately. Only error out with NO_CAPS_FOUND if
3846           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3847           otherwise simply wait for more data so we can try typefinding
3848           again with more data later. Also, don't attempt to typefind
3849           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3850           this should improve typefinding from network sources where the
3851           size of the first buffer can be somewhat random.
3852
3853 2006-02-14  Wim Taymans  <wim@fluendo.com>
3854
3855         * docs/gst/gstreamer-sections.txt:
3856         * gst/gstpadtemplate.c:
3857         * gst/gstpadtemplate.h:
3858         Fix padtemplate docs, fixes #328805.
3859
3860 2006-02-14  Wim Taymans  <wim@fluendo.com>
3861
3862         * tools/gst-launch.c: (main):
3863         NO_PREROLL is not an ERROR so don't send confusing messages
3864         to the user.
3865
3866 2006-02-14  Wim Taymans  <wim@fluendo.com>
3867
3868         Patch by: Torsten Schoenfeld
3869
3870         * gst/gstregistry.c: (gst_registry_get_default),
3871         (_gst_registry_cleanup):
3872         Protect default registry with lock and ref/sink it.
3873         Fixes #324818
3874
3875 2006-02-14  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/gstbuffer.c:
3878         * gst/gstquery.c: (gst_query_list_add_format),
3879         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3880         (gst_query_parse_formats_nth):
3881         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3882         Docs fixes.
3883
3884 2006-02-14  Wim Taymans  <wim@fluendo.com>
3885
3886         * docs/gst/gstreamer-sections.txt:
3887         Reworked query docs.
3888
3889         * gst/gstquery.c: (gst_query_new_formats),
3890         (gst_query_list_add_format), (gst_query_set_formats),
3891         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3892         (gst_query_parse_formats_nth):
3893         * gst/gstquery.h:
3894         Flesh out formats query, added some new methods.
3895         Fix part of #324398.
3896
3897         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3898         Added query creation tests.
3899
3900 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3901
3902         * gst/gstpad.c: (fixate_value):
3903         Add a default fixation for fraction lists.
3904
3905 2006-02-13  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3908         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3909         (gst_task_join):
3910         * gst/gsttask.h:
3911         Detect and warn for obvious deadlocks. fixes #320340
3912         Fix error case where lock was not released.
3913
3914         * tests/check/Makefile.am:
3915         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3916         (task_func), (gst_element_suite), (main):
3917         Add task check.
3918
3919 2006-02-13  Wim Taymans  <wim@fluendo.com>
3920
3921         * docs/gst/gstreamer-sections.txt:
3922         * gst/gstbus.c:
3923         Add new functions to docs.
3924
3925 2006-02-13  Wim Taymans  <wim@fluendo.com>
3926
3927         * docs/design/part-TODO.txt:
3928         Updated TODO list, basesrc supports seeking to non-bytes
3929         formats.
3930
3931         * docs/design/part-element-sink.txt:
3932         Update docs.
3933
3934         * gst/gstbin.c: (bin_replace_message),
3935         (gst_bin_handle_message_func):
3936         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3937         * gst/gstevent.c: (gst_event_finalize):
3938         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3939         (gst_pad_send_event):
3940         Use shiny new _TYPE_NAME macros.
3941
3942         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3943         Move debug statement up.
3944
3945         * gst/gstelement.c: (gst_element_set_locked_state):
3946         Add some debugging.
3947
3948 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * docs/gst/gstreamer-sections.txt:
3951         * gst/gstmessage.h:
3952         * gst/gstquery.h:
3953           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3954           macros (#330906). Also, document the already existing
3955           GST_QUERY_TYPE macro.
3956
3957 2006-02-13  Wim Taymans  <wim@fluendo.com>
3958
3959         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3960         (event_probe), (GST_START_TEST):
3961         Only events up to the pipeline EOS are counted, there are
3962         some more when going to NULL currently which we don't care
3963         about for now.
3964
3965 2006-02-13  Wim Taymans  <wim@fluendo.com>
3966
3967         * gst/gstpad.c: (gst_pad_send_event):
3968         Correctly check flushing and emit probes. fixes #330125
3969
3970 2006-02-10  Andy Wingo  <wingo@pobox.com>
3971
3972         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3973         structure.
3974         (gst_bus_init): Cache the location of the private data in the
3975         instance structure.
3976         (gst_bus_enable_sync_message_emission) 
3977         (gst_bus_disable_sync_message_emission): Implement new public
3978         functions.
3979         (gst_bus_post): Emit the sync-message signal if the user asked for
3980         it. Fixes #330684.
3981
3982         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3983         location of the bus-private structure.
3984         (gst_bus_enable_sync_message_emission)
3985         (gst_bus_disable_sync_message_emission): API addition
3986
3987 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3988
3989         Patch by: Vincent Torri
3990
3991         * docs/pwg/building-boiler.xml:
3992         PWG patch from #326800
3993
3994 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * configure.ac:
3997         * docs/Makefile.am:
3998         * docs/design/Makefile.am:
3999           Dist design docs.
4000
4001 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4002
4003         * configure.ac:
4004           back to CVS
4005
4006 === release 0.10.3 ===
4007
4008 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4009
4010         * configure.ac:
4011           releasing 0.10.3, "Like a virgin"
4012
4013 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4014
4015         * configure.ac:
4016           2nd prerelease of 0.10.3
4017           Bump libtool versioning.
4018
4019 2006-02-07  Andy Wingo  <wingo@pobox.com>
4020
4021         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4022         update last_stop if we're in TIME format and the timestamp is
4023         valid.
4024
4025         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4026         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4027         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4028         If we get a new newsegment with a different format, adapt
4029         accordingly.
4030
4031         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4032         of 0. Not a problem, really.
4033
4034         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4035         warn if sync=true.
4036
4037 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4038
4039         * configure.ac:
4040           Prelease of 0.10.3
4041
4042 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4043
4044         * win32/vs7:
4045           project files updated to the default vs7 configuration
4046         * win32/common/libgstbase.def:
4047         * win32/common/libgstreamer.def:
4048           added new symbols,
4049           removed empty lines,
4050           sorted all exported symbols alphabetically
4051         * win32/common/dirent.c:
4052         * win32/common/dirent.h:
4053         * win32/common/gchar.h:
4054           use windows line end.
4055           
4056 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4057
4058         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4059           Send EOS event when stopping.
4060
4061 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * docs/README:
4064           Tell folks what to do if the plugin-foobar.xml file
4065           hasn't been generated for a newly-added plugin.
4066
4067 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4068
4069         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4070         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4071         (gst_collect_pads_start), (gst_collect_pads_stop),
4072         (gst_collect_pads_event): Collectpads now holds a reference
4073         to the GstPad that was added. Indeed we don't want to look
4074         at pads that might just go away with no warning...
4075
4076 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4077
4078         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4079         (gst_collect_pads_start), (gst_collect_pads_stop),
4080         (gst_collect_pads_event), (gst_collect_pads_chain):
4081         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4082         Mark Nauwelaerts's patch on bug #328491.
4083
4084 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4087         (gst_utils_suite):
4088           Add some simple tests for gst_parse_bin_from_description() and
4089           gst_bin_find_unconnected_pad() (#329069).
4090
4091 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4092
4093         * tools/gst-launch.c: (event_loop), (main):
4094           Catch errors during preroll (#320084).
4095
4096 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4097
4098         * plugins/elements/gsttypefindelement.c:
4099         (gst_type_find_element_activate):
4100           Post TYPE_NOT_FOUND error message when typefinding
4101           is unsuccessful in the activate function as well.
4102
4103 2006-02-02  Wim Taymans  <wim@fluendo.com>
4104
4105         * docs/design/part-element-sink.txt:
4106         Updated doc.
4107
4108 2006-02-02  Wim Taymans  <wim@fluendo.com>
4109
4110         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4111         (gst_base_sink_render_object),
4112         (gst_base_sink_queue_object_unlocked):
4113         Only keep track of prerollable items when we are 
4114         prerolling.
4115         Before rendering after preroll, always check if we
4116         have queued items.
4117         Added some more debugging.
4118
4119 2006-02-02  Wim Taymans  <wim@fluendo.com>
4120
4121         * gst/gstelement.c: (gst_element_continue_state),
4122         (gst_element_set_state_func), (gst_element_change_state):
4123         Fixed #326576, been running this for quite some time with
4124         no regressions at all.
4125
4126 2006-02-02  Wim Taymans  <wim@fluendo.com>
4127
4128         * common/gst.supp:
4129         Added more suppressions
4130
4131 2006-02-02  Wim Taymans  <wim@fluendo.com>
4132
4133         * docs/design/part-element-sink.txt:
4134         Updated document.
4135
4136         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4137         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4138         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4139         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4140         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4141         (gst_base_sink_preroll_object),
4142         (gst_base_sink_queue_object_unlocked),
4143         (gst_base_sink_queue_object), (gst_base_sink_event),
4144         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4145         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4146         (gst_base_sink_get_position), (gst_base_sink_change_state):
4147         * libs/gst/base/gstbasesink.h:
4148         Totally refactored matching the design doc.
4149         Use two segments, one to clip incomming buffers and another to
4150         perform sync.
4151         Handle queueing correctly, bypass the queue when playing.
4152         Make EOS cancelable.
4153         Handle errors correctly when operating in pull based mode.
4154
4155         * tests/check/elements/fakesink.c: (GST_START_TEST),
4156         (fakesink_suite):
4157         Added new check for sinks.
4158
4159 2006-02-02  Wim Taymans  <wim@fluendo.com>
4160
4161         * gst/gstsegment.c: (gst_segment_clip):
4162         No reason to refuse to clip when start == -1
4163
4164 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4165
4166         * docs/README:
4167         * docs/manual/intro-basics.xml:
4168         * docs/manual/intro-preface.xml:
4169         * docs/manual/manual.xml:
4170         * docs/pwg/advanced-dparams.xml:
4171         * docs/pwg/intro-basics.xml:
4172         * docs/pwg/intro-preface.xml:
4173         * docs/pwg/pwg.xml:
4174           describe dparams (controller) for plugins
4175           unify docs a little more
4176
4177 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4178
4179         * docs/gst/gstreamer-sections.txt:
4180         * gst/gstutils.c: (element_find_unconnected_pad),
4181         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4182         * gst/gstutils.h:
4183           Add new API: gst_parse_bin_from_description() and
4184           gst_bin_find_unconnected_pad() (#329069).
4185
4186 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4187
4188         * docs/manual/README:
4189           uncover a nasty detail of the docs build
4190
4191 2006-01-31  Wim Taymans  <wim@fluendo.com>
4192
4193         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4194         Don't cache duration messages if we're not going to use or
4195         free them.
4196
4197 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4198
4199         * docs/manual/advanced-dparams.xml:
4200         * docs/pwg/advanced-dparams.xml:
4201           more dparam docs
4202         * gst/gstindex.c:
4203           fix docs
4204         * libs/gst/controller/lib.c: (gst_controller_init):
4205           init just once
4206
4207 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * gst/gstelement.c: (gst_element_message_full):
4210           also show file/line/func if no additional debug was given
4211
4212 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4213         
4214         * win32/vs7/grammar.vcproj:
4215           activate copy of autogenerated files for Release mode
4216
4217 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4218         
4219         * win32/common/libgstreamer.def:
4220           export gst_value_compare
4221
4222 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4223
4224         * plugins/elements/Makefile.am:
4225         * plugins/elements/gstelements.c:
4226         * plugins/elements/gstfdsink.c: (_do_init),
4227         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4228         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4229         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4230         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4231         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4232         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4233         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4234         * plugins/elements/gstfdsink.h:
4235         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4236
4237 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4238
4239         * docs/manual/advanced-dparams.xml:
4240           describe controller
4241         * docs/manual/advanced-position.xml:
4242         * docs/manual/basics-init.xml:
4243         * docs/manual/manual.xml:
4244         * docs/manual/titlepage.xml:
4245         * docs/pwg/pwg.xml:
4246         * docs/pwg/titlepage.xml:
4247           cleanup xml (more to come)
4248         * libs/gst/controller/gstcontroller.c:
4249           fix typo
4250
4251 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4252         
4253         * win32/vs6/grammar.dsp:
4254           add autogen of gstmarshal.c,h for Release mode
4255                 
4256 2006-01-30  Wim Taymans  <wim@fluendo.com>
4257
4258         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4259         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4260         (gst_base_sink_handle_object), (gst_base_sink_event),
4261         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4262         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4263         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4264         (gst_base_sink_deactivate), (gst_base_sink_activate),
4265         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4266         (gst_base_sink_query), (gst_base_sink_change_state):
4267         Basesink cleanups, remove some old code.
4268         Handle the case where a subclass can preroll in the render
4269         method (mostly audiosinks).
4270         Handle more events.
4271         Remove some locks around variables that are now protected
4272         with the PREROLL_LOCK (clock_id, flushing, ..).
4273         Optimize position query some more, do correct locking.
4274         Remove old code to push queue in state change, this is not
4275         needed anymore since preroll blocks on all prerollable items 
4276         now.
4277         Almost implemented as described in design doc.
4278
4279 2006-01-30  Wim Taymans  <wim@fluendo.com>
4280
4281         * tests/check/gst/gstbin.c: (GST_START_TEST):
4282         Wait for refcount to settle down before checking.
4283
4284 2006-01-30  Wim Taymans  <wim@fluendo.com>
4285
4286         * docs/design/part-element-sink.txt:
4287         Pseudo code overview of desired sink behaviour regarding
4288         preroll.
4289
4290 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4291         * win32/vs6/grammar.dsp:
4292           fix some bugs in Release mode for autogenerated files
4293                 
4294 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4295         * win32/common/libgstbase.def:
4296         * win32/common/libgstreamer.def:
4297           export some new symbols: gst_base_src_set_format,
4298           gst_iterator_next, gst_structure_set_valist
4299
4300 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4301
4302         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4303         Set pad functions unconditionally. Fixes #329105.
4304
4305 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4306         * win32/vs8:
4307           add vs8 project files created by Sergey Scobich
4308
4309 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4310
4311         * gst/gstutils.c: (gst_element_unlink_pads):
4312         Don't leak pad references.
4313
4314         * tests/check/elements/fakesink.c: (GST_START_TEST):
4315         * tests/check/generic/sinks.c: (GST_START_TEST):
4316         * tests/check/generic/states.c: (GST_START_TEST):
4317         * tests/check/gst/gstbin.c: (GST_START_TEST):
4318         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4319         * tests/check/gst/gstelement.c: (GST_START_TEST):
4320         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4321         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4322         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4323         Fix a bunch of leaks. Make generic/sinks.c
4324         use a bit less cpu by slowing the buffer rate
4325         between fakesrc and fakesink.
4326         
4327 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4328         * gst/gstcaps.c:
4329         * gst/gstelement.c: (gst_element_send_event):
4330         * gst/gstevent.c:
4331         * gst/gstinfo.c:
4332         * gst/gstiterator.c:
4333         * gst/gstiterator.h:
4334         * gst/gstpad.c: (gst_pad_send_event):
4335         * gst/gststructure.c:
4336         * gst/gsturi.c:
4337         * gst/gstutils.c:
4338         * gst/gstvalue.c:
4339         * libs/gst/base/gstadapter.c:
4340           doc fixes, to link to function, just write gst_cool_function(), don't
4341           prefix with '#'
4342
4343 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4344
4345         * plugins/elements/gsttee.c: (gst_tee_do_push),
4346         (gst_tee_handle_buffer):
4347         Always prefer an actual return value from a src
4348         pad in place of NOT_LINKED. This means we return
4349         WRONG_STATE when all src pads are WRONG_STATE
4350         instead of NOT_LINKED.
4351
4352         Lock when replacing the last message to prevent
4353         racing with the get_property method.
4354
4355         Add debug output
4356
4357 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4358
4359         * tests/check/Makefile.am:
4360         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4361         (main):
4362         Add a very simple check that should have caught the memleak I fixed
4363         last night (if not for the slice allocator hiding it)
4364
4365 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4366
4367         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4368         (gst_bin_remove_func), (gst_bin_handle_message_func),
4369         (bin_query_duration_fold), (bin_query_generic_fold):
4370         Clean up references to the clock provider when disposed or when
4371         handling a clock-lost message from it.
4372
4373         Unref sinks when performing a query via gst_iterator_fold, as the
4374         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4375
4376         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4377         (gst_clock_set_master):
4378         Drop our reference to the master clock, if any, when we are disposed.
4379
4380         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4381         Chain up in dispose. 
4382
4383 2006-01-26  Wim Taymans  <wim@fluendo.com>
4384
4385         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4386         Add some debugging.
4387
4388 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4389
4390         * plugins/elements/gsttee.c: (gst_tee_do_push),
4391         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4392         handles pad being NOT_LINKED or in WRONG_STATE.
4393
4394 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4395
4396         * win32/MANIFEST:
4397           more updating
4398
4399 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4400
4401         * win32/MANIFEST:
4402           remove obsolete entry
4403
4404 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4405
4406         * docs/gst/gstreamer-sections.txt:
4407         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4408         (gst_bin_iterate_sources), (gst_bin_send_event):
4409         * gst/gstbin.h:
4410         * gst/gstelement.c: (gst_element_send_event):
4411         * gst/gstevent.c:
4412         * gst/gstpad.c: (gst_pad_send_event):
4413           added code for downstream events, reviewed docs in gstevent.c
4414
4415 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4416
4417         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4418         We only query position using the clock in the playing state.
4419         Query peer in the other cases.
4420         * win32/common/config.h: Updates.
4421
4422 2006-01-24  Wim Taymans  <wim@fluendo.com>
4423
4424         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4425         A clock entry that is scheduled for the exact time of the
4426         clock is still in time.
4427
4428         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4429         (gst_base_sink_do_sync):
4430         Add some more debug info.
4431
4432 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4433
4434         * win32/vs7:
4435           Add new vs7 project files and solution.
4436
4437 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4438
4439         * win32/vs7:
4440           all files removed as they were out-dated.
4441
4442 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4443
4444         * docs/random/release:
4445           update notes
4446         * gst/gstbin.c: (gst_bin_init):
4447         * gst/gstbus.c: (gst_bus_new):
4448         * gst/gstbus.h:
4449         * gst/gstpipeline.c: (gst_pipeline_init):
4450           use gst_bus_new(), improve logging, fix docs
4451         * win32/common/config.h:
4452           update for cvs build
4453
4454 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4455
4456         * autogen.sh:
4457           up required version of automake to 1.7
4458
4459 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4460
4461         * win32/common/libgstreamer.def:
4462           export gst_buffer_is_metadata_writable
4463
4464 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4465
4466         * docs/gst/gstreamer-sections.txt:
4467         * gst/gstevent.h:
4468           Add gst_event_replace() (#327001)
4469
4470 2006-01-20  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4473         Make it actually compile too..
4474
4475 2006-01-20  Wim Taymans  <wim@fluendo.com>
4476
4477         * gst/gstcaps.c:
4478         Clarify behaviour of _is_equal() when passing NULL parameters.
4479
4480         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4481         (gst_pad_set_caps):
4482         Cleanups. Don't unref NULL caps.
4483         When setting the same caps, protect caps of the pad with
4484         proper lock.
4485         Use full functionality of _is_equal() when comparing caps.
4486
4487 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4488
4489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4490         Don't loop infinitely if there are no buffers to present. Partially
4491         fixes #327197, but collectpads is just broken for reusing elements
4492         to do multiple encodes atm.
4493
4494 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4495
4496         * tools/gst-inspect.c: (print_element_features):
4497         * tools/gst-xmlinspect.c: (main):
4498         URL_HANDLER is not a plugin feature we can search for in
4499         the registry.
4500
4501 2006-01-19  Edward Hervey  <edward@fluendo.com>
4502
4503         * gst/gstelement.c: (gst_element_pads_activate): 
4504         When activating, do src pads first, then sink pads.
4505         When de-activating, do sink pads first, then src pads.
4506
4507 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4508
4509         * docs/gst/gstreamer-sections.txt:
4510         Add gst_index_add_associationv to the docs
4511
4512 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4513
4514         * gst/gstevent.c:
4515           Fix docs typo
4516
4517         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4518         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4519           Do some refactoring. Doesn't actually change functionality,
4520           but makes landing the DRAIN event easier later.
4521
4522 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * docs/pwg/advanced-scheduling.xml:
4525           Update from 0.9.x to 0.10 API and make example a bit
4526           clearer.
4527
4528 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4529
4530         * docs/gst/gstreamer-sections.txt:
4531         Add gst_buffer_(is|make)_metadata_writable methods.
4532
4533 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4534
4535         * docs/design/part-sparsestreams.txt:
4536         Update sparse streams doc, hopefully for greater clarity
4537
4538 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4539
4540         * docs/design/part-events.txt:
4541         Remove mention of FILLER events.
4542         Add DRAIN event.
4543
4544         * docs/design/part-sparsestreams.txt:
4545         Write some things about using NEWSEGMENT to keep sparse streams
4546         flowing.
4547
4548 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4549
4550         * gst/gstbin.c: (gst_bin_dispose):
4551           Guard gst_object_unref call against a NULL object (dispose
4552           can theoretically be called multiple times).
4553           
4554 2006-01-18  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/gstbin.c: (gst_bin_element_set_state):
4557         * gst/gstclock.c: (gst_clock_id_wait):
4558         Added some more debug info.
4559
4560         * libs/gst/base/gstadapter.c:
4561         Added more docs.
4562
4563         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4564         (gst_base_sink_do_sync), (gst_base_sink_chain):
4565         Added some comments.
4566
4567 2006-01-18  Wim Taymans  <wim@fluendo.com>
4568
4569         * tests/check/Makefile.am:
4570         * tests/check/elements/fakesink.c: (chain_async_buffer),
4571         (chain_async), (chain_async_return), (GST_START_TEST),
4572         (fakesink_suite), (main):
4573         Added fakesink test that checks prerolling and clipping
4574         behaviour.
4575
4576         * tests/check/gst/gstutils.c: (GST_START_TEST):
4577         Make check run faster so that buildbots don't timeout.
4578
4579 2006-01-18  Wim Taymans  <wim@fluendo.com>
4580
4581         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4582         (gst_base_sink_do_sync):
4583         Some cleanups.
4584         When the sink finishes blocking on the preroll buffer, it can
4585         immediatly render it instead of rendering when the next buffer
4586         arrives.
4587
4588 2006-01-18  Wim Taymans  <wim@fluendo.com>
4589
4590         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4591         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4592         (gst_base_sink_chain):
4593         Small cleanups.
4594         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4595         Don't store _last_stop if the buffer is dropped.
4596
4597 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * plugins/elements/gsttypefindelement.c:
4600         (gst_type_find_element_class_init):
4601           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4602           object method handler that sets the caps on the pad and we want
4603           that to happen before we emit the signal (fixes e.g. feeding a
4604           plain text file to decodebin).
4605
4606 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4607
4608         * gst/gstplugin.c: Add MPL and Proprietary as license options
4609
4610 2006-01-18  Andy Wingo  <wingo@pobox.com>
4611
4612         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4613         symbol was exported before, it appears this was just an oversight.
4614         Fixes #168703.
4615         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4616
4617         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4618         prototype to gint. OK since this prototype was not in the header.
4619
4620 2006-01-17  Andy Wingo  <wingo@pobox.com>
4621
4622         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4623         registry while we remove plugins.
4624
4625         * tools/gst-inspect.c (print_element_info): Don't unref the
4626         factory arg, that should be the responsibility of whatever code
4627         received the ref. Fixes a double-free when called from
4628         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4629         (main): Unref the factory if we have one.
4630         (print_element_list): No change -- relies on the
4631         plugin_feature_list_free to free the list of features.
4632
4633 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4634
4635         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4636         (gst_buffer_make_metadata_writable):
4637         * gst/gstbuffer.h:
4638         * libs/gst/base/gstbasetransform.c:
4639         (gst_base_transform_prepare_output_buf):
4640         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4641         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4642           Replace gst_buffer_(make|is)_metadata_writable patch now
4643           that the release is out.
4644
4645 2006-01-17  Andy Wingo  <wingo@pobox.com>
4646
4647         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4648         in the present tense without reference to versions.
4649
4650         * gst/gstregistry.c (gst_registry_add_plugin)
4651         (gst_registry_remove_plugin, gst_registry_remove_feature)
4652         (gst_registry_find_feature, gst_registry_get_feature_list)
4653         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4654         (gst_registry_lookup, gst_registry_scan_path)
4655         (_gst_registry_remove_cache_plugins)
4656         (gst_registry_get_feature_list_by_plugin): Add argument
4657         validation.
4658
4659 === release 0.10.2 ===
4660
4661 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4662
4663         * configure.ac:
4664           releasing 0.10.2, "If man is five"
4665
4666 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4667
4668         * gst/gstbuffer.c:
4669         * gst/gstbuffer.h:
4670         * libs/gst/base/gstbasetransform.c:
4671         (gst_base_transform_prepare_output_buf):
4672         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4673         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4674           Back out patch until after the release.
4675
4676 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4677
4678         * gst/gstminiobject.c:
4679           Spelling fix in docs.
4680         * ChangeLog - remove conflict indicator
4681
4682 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4683
4684         Reviewed By: Andy Wingo
4685
4686         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4687         (gst_buffer_make_metadata_writable):
4688         * gst/gstbuffer.h:
4689           Add gst_buffer_(is|make)_metadata_writable as analogues of
4690           gst_buffer_(is|make)_writable.
4691
4692         * libs/gst/base/gstbasetransform.c:
4693         (gst_base_transform_prepare_output_buf):
4694         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4695           Use name gst_buffer_(is|make)_metadata_writable functions.
4696
4697         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4698           Test gst_buffer_(is|make)_metadata_writable
4699         
4700           (Closes: #324162)
4701
4702 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4703
4704         * docs/manual/Makefile.am:
4705           don't do parallel make
4706         * configure.ac:
4707           AC_SUBST HOST_CPU
4708         * win32/common/config.h.in:
4709           add generations for HOST_CPU and GST_MAJORMINOR
4710         * win32/common/config.h:
4711           commit generated result
4712
4713 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4714
4715         * docs/manual/appendix-integration.xml:
4716           Update GNOME integration section to use gst_init_get_option_group()
4717           instead of the old popt stuff (#322911). Also, GNOME applications
4718           should  now use gconf*sink and gconf*src instead of the old gconf
4719           helper lib we had.
4720
4721 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4722
4723
4724         * docs/gst/gstreamer-docs.sgml:
4725         * docs/gst/gstreamer-sections.txt:
4726         * docs/libs/gstreamer-libs-sections.txt:
4727           add new API entries to the docs
4728         * libs/gst/controller/Makefile.am:
4729         * libs/gst/controller/gstcontroller.c:
4730         * libs/gst/controller/gstcontroller.h:
4731         * libs/gst/controller/gstcontrollerprivate.h:
4732         * libs/gst/controller/gsthelper.c:
4733         * libs/gst/controller/gstinterpolation.c:
4734           move private structs to private header
4735         * po/README:
4736           gstreamer-0.7 -> gstreamer-0.10
4737         * tests/check/libs/struct_i386.h:
4738           remove private structs
4739
4740 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4741
4742         * plugins/indexers/Makefile.am:
4743           Fixes as part of #317048
4744
4745 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * plugins/indexers/Makefile.am:
4748           fix #316086 - compilation when mmap is missing
4749
4750 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4751
4752         * libs/gst/base/gstbasesink.c:
4753           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4754           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4755         * win32/common/config.h:
4756           added some defines GST_MAJORMINOR and HOST_CPU
4757         * win32/common/libgstbase.def:
4758         * win32/common/libgstreamer.def:
4759           added some exported functions.
4760
4761 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4762
4763         * libs/gst/controller/gstcontroller.c:
4764         (gst_controlled_property_set_interpolation_mode),
4765         (gst_controlled_property_new):
4766         * libs/gst/controller/gstcontroller.h:
4767         * libs/gst/controller/gstinterpolation.c:
4768         (interpolate_none_get_string_value_array):
4769           make G_TYPE_STRING controlable
4770
4771 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4772
4773         * tools/README:
4774         * tools/gst-feedback.1.in:
4775         * tools/gst-inspect.1.in:
4776         * tools/gst-launch.1.in:
4777         * tools/gst-md5sum.1.in:
4778         * tools/gst-typefind.1.in:
4779         * tools/gst-xmlinspect.1.in:
4780         * tools/gst-xmllaunch.1.in:
4781           cleanup man-pages, remove reference to gst-register, document env-vars
4782
4783 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4784
4785         * gst/gstbuffer.c: (gst_buffer_span):
4786           gst_buffer_span should copy the timestamp of the first buffer
4787           if they were both originally overlapping subbuffers of the 
4788           same parent, using the same logic as the 'slow copy' case.
4789
4790 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4791
4792         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4793           Need to awaken ALL the pads when we pop a buffer, otherwise
4794           collectpads only works when there is 2 input streams.
4795
4796 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4797
4798         * docs/random/ensonic/media-device-daemon.txt:
4799           more ideas (dbus)
4800         * gst/gstbuffer.c:
4801           fix doc example, add clarification
4802         * tools/gst-launch.1.in:
4803           add initial info about GST_PLUGIN_PATH, needs more work
4804
4805 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4806
4807         * docs/manual/basics-bins.xml:
4808         * docs/manual/basics-elements.xml:
4809         * docs/manual/intro-basics.xml:
4810           Some more minor docs additions and updates.
4811
4812 2006-01-11  Wim Taymans  <wim@fluendo.com>
4813
4814         * docs/manual/basics-bins.xml:
4815         * docs/manual/basics-elements.xml:
4816         Some small fixes as pointed out by Ser-ver on IRC.
4817
4818 2006-01-10  Edward Hervey  <edward@fluendo.com>
4819
4820         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4821         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4822         the single-segment mode.
4823
4824 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4825
4826         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4827
4828         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4829         (gst_base_src_perform_seek), (gst_base_src_send_event),
4830         (gst_base_src_set_property), (gst_base_src_get_property),
4831         (gst_base_src_loop), (gst_base_src_start),
4832         (gst_base_src_activate_push):
4833         * libs/gst/base/gstbasesrc.h:
4834           Name (private) union; makes Sun's Forte compiler happy (#324900).
4835
4836 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4837
4838         * README:
4839           gst-register is gone.
4840
4841 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4842
4843         * gst/gstvalue.c: (_gst_value_initialize):
4844           make the G_TYPE_DATE instantiation work if debug is disabled
4845
4846 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4847
4848         * gst/gstmessage.c: (gst_message_parse_tag),
4849         (gst_message_parse_error), (gst_message_parse_warning):
4850           Don't crash when return location for error/warning debug
4851           string is NULL; add fact that return locations can be
4852           NULL to docs where appropriate.
4853
4854 2006-01-05  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/gstplugin.c: (gst_plugin_load_file):
4857         Replace strdup by g_strdup.
4858
4859 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * docs/pwg/advanced-types.xml:
4862           fix doc borkage
4863
4864 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         submitted by: Abel Cheung
4867
4868         * po/LINGUAS:
4869         * po/zh_TW.po:
4870           Added Chinese (traditional) translation
4871
4872 2006-01-04  Wim Taymans  <wim@fluendo.com>
4873
4874         * docs/manual/basics-pads.xml:
4875         * docs/plugins/Makefile.am:
4876         * docs/plugins/gstreamer-plugins-docs.sgml:
4877         * docs/plugins/gstreamer-plugins-sections.txt:
4878         * docs/pwg/advanced-clock.xml:
4879         * docs/pwg/advanced-scheduling.xml:
4880         * docs/pwg/advanced-types.xml:
4881         * plugins/elements/gstfdsink.c:
4882         * plugins/elements/gstfdsrc.c:
4883         * plugins/elements/gstfdsrc.h:
4884         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4885         * plugins/elements/gstidentity.h:
4886         * plugins/elements/gstqueue.h:
4887         * plugins/elements/gsttee.c:
4888         * plugins/elements/gsttee.h:
4889         * plugins/elements/gsttypefindelement.c:
4890         (gst_type_find_element_class_init):
4891         * plugins/elements/gsttypefindelement.h:
4892         Small updates to various docs.
4893         Added core plugins to docs.
4894
4895 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4896
4897         * common/gst.supp:
4898           add a suppression for liboil's uninitialized variable
4899
4900 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4901
4902         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * gst/gstutils.h:
4905           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4906           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4907           compiler switch is being used (#325429).
4908
4909 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4910
4911         * gst/gstbin.c: (gst_bin_query):
4912           Disable duration query caching in bins until it gets
4913           fixed (see #324807).
4914
4915 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         * tools/gst-inspect.c: (print_element_properties_info):
4918           Handle properties of POINTER and BOXED type.
4919
4920 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4921
4922         * gst/gst.c: (init_post):
4923           Init tags stuff and some other things before loading
4924           any static plugins (there may be other static plugins
4925           than just the GStreamer ones, and they may want to
4926           register their own tags or formats or whatever, and
4927           preferably without segfaulting).
4928
4929         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4930           Print at least a warning in the debug logs if we drop a
4931           query just because we don't know how to adjust the value
4932           in the particular format.
4933
4934 2005-12-24  David Schleef  <ds@schleef.org>
4935
4936         * tools/gstreamer-completion:
4937           Replacement for gst-complete written in sh and sed.  Only
4938           completes names of features, but that's 90% of what I want
4939           it for.  Properties are not available in registry.xml.  (Maybe
4940           they should be...)
4941
4942 === release 0.10.1 ===
4943
4944 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4945
4946         * configure.ac:
4947           releasing 0.10.1, "Nollaig chridheil"
4948
4949 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4950
4951         * docs/faq/cvs.xml:
4952           Add missing quote, should be make ERROR_CFLAGS="".
4953
4954 2005-12-20  Wim Taymans  <wim@fluendo.com>
4955
4956         * docs/design/part-trickmodes.txt:
4957         More documentation on trickmodes.
4958
4959 2005-12-20  Edward Hervey  <edward@fluendo.com>
4960
4961         * gst/gstcaps.c: (gst_static_caps_get_type):
4962         * gst/gstcaps.h:
4963           API addition: GST_TYPE_STATIC_CAPS
4964         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4965         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4966         * gst/gstpadtemplate.h:
4967           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4968         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4969         bindings.
4970
4971 2005-12-18  Wim Taymans  <wim@fluendo.com>
4972
4973         * libs/gst/base/gstadapter.c:
4974         * libs/gst/base/gstadapter.h:
4975         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4976         (gst_base_sink_get_position):
4977         * libs/gst/base/gstbasesink.h:
4978         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4979         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4980         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4981         (gst_base_src_send_event), (gst_base_src_update_length),
4982         (gst_base_src_get_range), (gst_base_src_loop),
4983         (gst_base_src_start):
4984         * libs/gst/base/gstbasesrc.h:
4985         * libs/gst/base/gstbasetransform.h:
4986         * libs/gst/base/gstcollectpads.h:
4987         * libs/gst/base/gstpushsrc.c:
4988         * libs/gst/base/gstpushsrc.h:
4989         * libs/gst/dataprotocol/dataprotocol.c:
4990         * libs/gst/dataprotocol/dataprotocol.h:
4991         * libs/gst/net/gstnetclientclock.h:
4992         * libs/gst/net/gstnettimeprovider.h:
4993         Documentation updates.
4994
4995 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4996
4997         * docs/manual/basics-helloworld.xml:
4998           Remove superfluous closing bracket in helloworld example.
4999
5000 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * tools/gst-launch.1.in:
5003           Update gst-launch man page; add a section with useful
5004           environment variables. Fixes #323882.
5005
5006 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5007
5008         * gst/gst.c:
5009         * gst/gst_private.h:
5010           change some char* into char[]
5011
5012 2005-12-16  Wim Taymans  <wim@fluendo.com>
5013
5014         * gst/gstregistryxml.c: (load_feature):
5015         Cleanups.
5016         Don't use g_object_unref on GstObjects so that we avoid
5017         leaks on unsafe glibs.
5018
5019 2005-12-16  Wim Taymans  <wim@fluendo.com>
5020
5021         * gst/gstbin.c: (gst_bin_recalc_state):
5022         Small doc updates.
5023
5024 2005-12-16  Wim Taymans  <wim@fluendo.com>
5025
5026         * common/check.mak:
5027         Added make forever target for check.
5028
5029 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * gst/gst.c: (init_post):
5032           make the registry cache file HOST_CPU-dependent
5033
5034 2005-12-16  Andy Wingo  <wingo@pobox.com>
5035
5036         * plugins/elements/gstbufferstore.c
5037         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5038         return value.
5039
5040         * tests/check/gst/gstobject.c
5041         (test_fake_object_name_threaded_unique): Pay attention to
5042         g_list_sort return value.
5043
5044 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5045
5046         * tools/gst-feedback-m.m:
5047           Update for 0.9/0.10 (fixes #323870).
5048
5049 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5052           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5053           
5054         * tests/check/gst/gstminiobject.c: (my_foo_init),
5055         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5056         (test_value_collection), (gst_mini_object_suite):
5057           Add test to ensure refcounts end up as expected when passing
5058           GstMiniObjects through g_object_get() and g_object_set().
5059
5060 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5061
5062         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5063         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5064         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5065         of collectpads. This version removes a lot of races without
5066         touching API/ABI. Yay !
5067
5068 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5069
5070         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5071           Don't allow activation of a srcpad in pull_range if it has no
5072           getrange function.
5073           Change some debug statements to be a little clearer
5074
5075         * plugins/elements/gsttypefindelement.c:
5076         (gst_type_find_handle_src_query):
5077           Check that we have a peer before executing queries thereupon.
5078
5079         * tests/examples/metadata/read-metadata.c: (message_loop):
5080           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5081           immediately return us any available message with 0 timeout.
5082
5083 2005-12-12  Michael Smith  <msmith@fluendo.com>
5084
5085         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5086           Don't unref factories after calling them.
5087         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5088         * plugins/elements/gsttypefindelement.c:
5089         (gst_type_find_element_chain):
5090           Free lists of factories after using them. Fixing typefinding memory
5091           leaks.
5092
5093 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5094
5095         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5096         (gst_plugin_feature_load):
5097           more meaningful debug output
5098         * configure.ac:
5099         * tests/Makefile.am:
5100         * tests/old/examples/Makefile.am:
5101           make make distcheck happy again
5102
5103 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5104
5105         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5106           Catch the special case where we are operating chain-based,
5107           but the downstream peer pad has no chain function. Emit a
5108           custom error message in this case instead of letting the
5109           core generate one implying that this is some sort of core
5110           bug. It's not, it just means that whatever got plugged
5111           into the pipeline downstream when we announced the type
5112           can only operate pull-based, while our source can only
5113           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5114           Error string has not been marked for translation yet, as
5115           it probably needs some more work first.
5116
5117         (gst_type_find_element_get_best_possibility):
5118           Add helper function to find the best of all available
5119           found possibilities that qualify given the min. threshold.
5120
5121         (gst_type_find_element_handle_event):
5122           Fix the case where we get an EOS while still in TYPEFIND
5123           mode (we want to chose the best of all possible types,
5124           not just the first type that happens to be in our unsorted
5125           list of possible types).
5126
5127         (gst_type_find_element_chain):
5128           Make sure we return GST_FLOW_ERROR when we errored out
5129           in stop_typefinding(); also, don't just find the best of
5130           all found type entries and then use the last examined
5131           type entry, but actually use the best entry.
5132
5133 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5134
5135         * tests/examples/typefind/typefind.c: (type_found):
5136         * tests/examples/xml/runxml.c: (xml_loaded):
5137           More gcc4 fixes and a mem leak fix.
5138
5139 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5140
5141         * tests/examples/xml/createxml.c: (object_saved):
5142           gcc 4 fixes
5143
5144 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5145
5146         * tests/Makefile.am:
5147           enable the examples even more
5148
5149 2005-12-12  Andy Wingo  <wingo@pobox.com>
5150
5151         * libs/gst/net/gstnettimeprovider.c
5152         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5153         (gst_net_time_provider_set_property)
5154         (gst_net_time_provider_get_property):
5155         API addition: Export "active" as a GObject property.
5156         (gst_net_time_provider_thread): Only respond to time queries if
5157         the time provider is active.
5158
5159         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5160         NetTimeProvider, preserving binary compat.
5161
5162 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5163
5164         * tests/examples/controller/audio-example.c: (main):
5165         * tests/examples/launch/Makefile.am:
5166           convert comments again
5167
5168 2005-12-12  Wim Taymans  <wim@fluendo.com>
5169
5170         * libs/gst/base/gstpushsrc.c:
5171         Fix typo.
5172
5173 2005-12-12  Wim Taymans  <wim@fluendo.com>
5174
5175         * docs/libs/gstreamer-libs-sections.txt:
5176         Added new symbol to docs.
5177
5178         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5179         (gst_base_src_init), (gst_base_src_set_format),
5180         (gst_base_src_default_query), (gst_base_src_query),
5181         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5182         (gst_base_src_perform_seek), (gst_base_src_send_event),
5183         (gst_base_src_default_event), (gst_base_src_event_handler),
5184         (gst_base_src_set_property), (gst_base_src_get_property),
5185         (gst_base_src_wait), (gst_base_src_do_sync),
5186         (gst_base_src_update_length), (gst_base_src_get_range),
5187         (gst_base_src_check_get_range), (gst_base_src_loop),
5188         (gst_base_src_default_negotiate), (gst_base_src_start),
5189         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5190         (gst_base_src_change_state):
5191         * libs/gst/base/gstbasesrc.h:
5192         Implement seeking to other formats than _BYTES.
5193         Implement more seeking methods correctly.
5194         Doc updates.
5195         Added query vmethod.
5196         Added do_seek vmethod to make life easier for subclasses
5197         when seeking.
5198         API addition: gst_base_src_set_format()
5199
5200 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5201
5202         * tests/examples/Makefile.am:
5203           added that too
5204
5205 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5206
5207         * configure.ac:
5208         * docs/random/ensonic/media-device-daemon.txt:
5209         * tests/examples/controller/.cvsignore:
5210         * tests/examples/controller/Makefile.am:
5211         * tests/examples/controller/audio-example.c: (main):
5212         * tests/examples/helloworld/.cvsignore:
5213         * tests/examples/helloworld/Makefile.am:
5214         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5215         * tests/examples/launch/.cvsignore:
5216         * tests/examples/launch/Makefile.am:
5217         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5218         * tests/examples/metadata/.cvsignore:
5219         * tests/examples/metadata/Makefile.am:
5220         * tests/examples/metadata/read-metadata.c: (message_loop),
5221         (make_pipeline), (print_tag), (main):
5222         * tests/examples/queue/.cvsignore:
5223         * tests/examples/queue/Makefile.am:
5224         * tests/examples/queue/queue.c: (event_loop), (main):
5225         * tests/examples/typefind/.cvsignore:
5226         * tests/examples/typefind/Makefile.am:
5227         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5228         (main):
5229         * tests/examples/xml/.cvsignore:
5230         * tests/examples/xml/Makefile.am:
5231         * tests/examples/xml/createxml.c: (object_saved), (main):
5232         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5233         * tests/old/examples/Makefile.am:
5234         * tests/old/examples/TODO:
5235         * tests/old/examples/controller/.cvsignore:
5236         * tests/old/examples/controller/Makefile.am:
5237         * tests/old/examples/controller/audio-example.c:
5238         * tests/old/examples/helloworld/.cvsignore:
5239         * tests/old/examples/helloworld/Makefile.am:
5240         * tests/old/examples/helloworld/helloworld.c:
5241         * tests/old/examples/launch/.cvsignore:
5242         * tests/old/examples/launch/Makefile.am:
5243         * tests/old/examples/launch/mp3parselaunch.c:
5244         * tests/old/examples/launch/mp3play:
5245         * tests/old/examples/manual/Makefile.am:
5246         * tests/old/examples/metadata/Makefile.am:
5247         * tests/old/examples/metadata/read-metadata.c:
5248         * tests/old/examples/queue/.cvsignore:
5249         * tests/old/examples/queue/Makefile.am:
5250         * tests/old/examples/queue/queue.c:
5251         * tests/old/examples/typefind/.cvsignore:
5252         * tests/old/examples/typefind/Makefile.am:
5253         * tests/old/examples/typefind/typefind.c:
5254         * tests/old/examples/xml/.cvsignore:
5255         * tests/old/examples/xml/Makefile.am:
5256         * tests/old/examples/xml/createxml.c:
5257         * tests/old/examples/xml/runxml.c:
5258           applied some simple fixing to some examples
5259           re-enabled the working examples
5260
5261 2005-12-12  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gstsegment.c: (gst_segment_init),
5264         (gst_segment_set_last_stop), (gst_segment_set_seek),
5265         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5266         (gst_segment_to_running_time):
5267         Added more documentation.
5268         Make sure the last_pos value is updated properly.
5269         Make sure to_stream_time and to_running_time don't
5270         operate on wrong values.
5271
5272         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5273         Update check.
5274
5275 2005-12-12  Michael Smith  <msmith@fluendo.com>
5276
5277         * plugins/elements/gsttypefindelement.c: (free_entry),
5278         (gst_type_find_element_chain):
5279           Now that we're not leaking factories, make sure we keep references
5280           to them while we need them.
5281
5282 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5283
5284         * tests/check/gst/struct_i386.h:
5285           ifdef out the XML structs
5286
5287 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5288
5289         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5290           floor is not needed, F is always positive; this obviates the
5291           need for adding -lm when building without libxml
5292
5293 2005-12-12  Wim Taymans  <wim@fluendo.com>
5294
5295         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5296         Take current playback rate into account when reporting
5297         the position.
5298
5299 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5300
5301         * docs/manual/mime-world.fig:
5302           Let's try this again, this time with a file that is
5303           actually in XFig format.
5304
5305 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5306
5307         * docs/manual/mime-world.fig:
5308           Add audioconvert element to diagram so that it
5309           matches the text and the code (fixes #319526).
5310
5311 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * docs/pwg/building-chainfn.xml:
5314         * docs/pwg/building-pads.xml:
5315         * docs/pwg/building-state.xml:
5316         * docs/pwg/other-source.xml:
5317           Update state change stuff for 0.10 (fixes #322969).
5318
5319 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5320
5321         * docs/manual/advanced-dataaccess.xml:
5322         * docs/manual/appendix-checklist.xml:
5323         * docs/manual/appendix-programs.xml:
5324         * docs/manual/basics-pads.xml:
5325         * docs/manual/highlevel-components.xml:
5326         * docs/manual/manual.xml:
5327           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5328           add converters in front of pipelines; remove curly
5329           brackets for threads stuff, they no longer exist; use
5330           GST_TYPE_FRACTION for framerates; update some pieces of
5331           code to 0.10, but there's plenty more to do.
5332
5333         * docs/manual/appendix-porting.xml:
5334           Expand on asynchroneous state changes; s/0.9/0.10/;
5335           mention disappearance of gst_init_get_popt_table()
5336           (fixes #322916).
5337
5338 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5339
5340         * docs/faq/using.xml:
5341           Spider no longer exists, and neither does gst-launch-ext.
5342           Update examples to use decodebin and playbin and put
5343           converters in front of sinks (fixes #323726).
5344
5345 2005-12-09  Michael Smith  <msmith@fluendo.com>
5346
5347         * plugins/elements/gsttypefindelement.c: (find_peek),
5348         (gst_type_find_element_chain):
5349           Fix leaking element factories in typefinding.
5350           Fix problem where we forgot about a probable type on non-seekable
5351           files, and thus later mis-typefound it.
5352
5353 2005-12-09  Michael Smith  <msmith@fluendo.com>
5354
5355         * common/m4/gst-makecontext.m4:
5356         * common/m4/gst-mcsc.m4:
5357         * configure.ac:
5358         * win32/common/config.h:
5359         * win32/common/config.h.in:
5360           Remove makecontext stuff; not used in 0.10 and causes problems on
5361           HPUX according to bug #322441
5362
5363 2005-12-07  Wim Taymans  <wim@fluendo.com>
5364
5365         * tests/check/Makefile.am:
5366         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5367         (main):
5368         * tests/check/libs/struct_i386.h:
5369         Added ABI check for libs
5370
5371 2005-12-07  Wim Taymans  <wim@fluendo.com>
5372
5373         * tests/check/Makefile.am:
5374         And add the struct_i386.h to dist.
5375
5376 2005-12-07  Wim Taymans  <wim@fluendo.com>
5377
5378         * tests/check/Makefile.am:
5379         * tests/check/gst/.cvsignore:
5380         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5381         (main):
5382         * tests/check/gst/struct_i386.h:
5383         Added check for ABI compatibility.
5384
5385 2005-12-07  Wim Taymans  <wim@fluendo.com>
5386
5387         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5388         (gst_fake_src_get_times), (gst_fake_src_create):
5389         Fix broken sync option, fixes #323259
5390
5391 2005-12-07  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/gstbuffer.c:
5394         Small docs update.
5395
5396         * gst/gstcaps.c: (gst_caps_is_equal):
5397         Don't assert on NULL <--> X. Fixes #323260
5398
5399         * gst/gstminiobject.c: (gst_mini_object_replace):
5400         If we're doing atomic operations, we might just as well use
5401         the proper way to get an atomic pointer.
5402
5403         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5404         Clean up debugging.
5405
5406 2005-12-07  Michael Smith  <msmith@fluendo.com>
5407
5408         * gst/parse/grammar.y:
5409           Remove handling of { } for threads.
5410
5411 2005-12-06  David Schleef  <ds@schleef.org>
5412
5413         * libs/gst/base/gstbasetransform.c: speling fix.
5414
5415 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5416
5417         * docs/libs/tmpl/gstdataprotocol.sgml:
5418         * docs/random/omega/testing/gstobject.c:
5419         * gst/gst.c:
5420         * gst/gstclock.c:
5421         * gst/gstelement.c:
5422         * gst/gstelementfactory.c:
5423         * gst/gsterror.c:
5424         * gst/gstevent.c:
5425         * gst/gstghostpad.c:
5426         * gst/gstinfo.c:
5427         * gst/gstpadtemplate.c:
5428         * gst/gstregistryxml.c:
5429         * gst/gsttaglist.c:
5430         * gst/gsttagsetter.c:
5431         * gst/gsttypefind.c:
5432         * gst/gstvalue.c:
5433         * libs/gst/base/gstbasesrc.c:
5434         * libs/gst/net/gstnetclientclock.c:
5435         * libs/gst/net/gstnettimeprovider.c:
5436         * plugins/elements/gstfakesrc.c:
5437         * plugins/elements/gstfdsrc.c:
5438         * plugins/elements/gstfilesrc.c:
5439         * plugins/elements/gstidentity.c:
5440         * plugins/elements/gstqueue.c:
5441         * plugins/elements/gsttypefindelement.c:
5442         * plugins/indexers/gstfileindex.c:
5443         * plugins/indexers/gstmemindex.c:
5444         * tests/check/gst/gsttag.c:
5445         * tests/old/examples/cutter/cutter.c:
5446         * tests/old/examples/mixer/mixer.c:
5447         * tests/old/examples/xml/runxml.c: (main):
5448         * tests/old/testsuite/caps/normalisation.c:
5449         * tests/old/testsuite/debug/global.c:
5450         * tests/old/testsuite/parse/parse1.c:
5451         * tools/gst-xmlinspect.c:
5452         * win32/common/dirent.c:
5453           expand tabs
5454
5455 === release 0.10.0 ===
5456
5457 2005-12-05   <thomas (at) apestaart (dot) org>
5458
5459         * configure.ac:
5460           releasing 0.10.0, "Maroilles"
5461
5462 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5463
5464         submitted by: Funda Wang <fundawang@linux.net.cn>
5465
5466         * po/LINGUAS:
5467         * po/zh_CN.po:
5468           added Chinese (Traditional) translation
5469
5470 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5471
5472         * docs/gst/gstreamer-sections.txt:
5473         * docs/libs/tmpl/gstdataprotocol.sgml:
5474         * docs/random/thomasvs/TODO:
5475         * gst/gstutils.c:
5476         * gst/gstutils.h:
5477           fix docs
5478
5479 2005-12-05  Andy Wingo  <wingo@pobox.com>
5480
5481         patch by: Wim Taymans <wim@fluendo.com>
5482
5483         * libs/gst/base/gstbasetransform.c
5484         (gst_base_transform_prepare_output_buf)
5485         (gst_base_transform_buffer_alloc):
5486         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5487         alloc_buffer_and_set_caps.
5488
5489         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5490         set_caps on the source pad.
5491         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5492         alloc_buffer used to do. Fixes #322874.
5493
5494         * docs/gst/gstreamer-sections.txt: 
5495         * docs/design/part-negotiation.txt: 
5496         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5497         changes.
5498
5499 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5500
5501         patch by: Sebastien Moutte
5502
5503         * win32/MANIFEST:
5504         * win32/common/config.h.in:
5505         * win32/vs6/libgstcontroller.dsp:
5506           win32 build fixes
5507
5508 2005-12-05  Wim Taymans  <wim@fluendo.com>
5509
5510         * gst/gstcaps.c: (gst_caps_is_equal):
5511         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5512         (gst_fake_src_create):
5513         Back out previous code changes, leave doc updates, file bugs 
5514         instead. 
5515
5516 2005-12-05  Wim Taymans  <wim@fluendo.com>
5517
5518         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5519         (gst_fake_src_get_times), (gst_fake_src_create):
5520         * plugins/elements/gstfakesrc.h:
5521         Fix broken sync code.
5522
5523 2005-12-05  Wim Taymans  <wim@fluendo.com>
5524
5525         * gst/gstcaps.c: (gst_caps_is_equal):
5526         Comparing NULL against !NULL yields different caps, not a
5527         failure.
5528
5529 2005-12-05  Wim Taymans  <wim@fluendo.com>
5530
5531         * gst/gstpipeline.c:
5532         Fix small typo in docs.
5533
5534 2005-12-05  Andy Wingo  <wingo@pobox.com>
5535
5536         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5539         registries/plugins with a MAJORMINOR one.
5540         (plugin_desc): Rename library from gstcoreleements to
5541         staticelements. Fixes #323222.
5542
5543 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5546           Change debug category to 'collectpads' from 'collect_pads'
5547           (fixes #323250).
5548
5549 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         patch by: Sebastien Moutte
5552
5553         * libs/gst/controller/gstinterpolation.c:
5554           use convert function for uint64/double
5555         * win32/vs6/libgstcontroller.dsp:
5556           link to GLib
5557
5558 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5561         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5562         * gst/gstutils.h:
5563         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5564           add tests that seem to show that the guint64/gdouble conversions
5565           are correct.
5566
5567 2005-12-02  Wim Taymans  <wim@fluendo.com>
5568
5569         * gst/gstregistry.c: (gst_registry_add_path):
5570         * gst/gstregistry.h:
5571         * gst/gstregistryxml.c:
5572         Fix docs again.
5573
5574 2005-12-02  Wim Taymans  <wim@fluendo.com>
5575
5576         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5577         (gst_util_uint64_scale_int):
5578         Small cleanup.
5579
5580         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5581         Add debug log line.
5582
5583         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5584         Add FIXME.
5585
5586 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         * win32/MANIFEST:
5589         * win32/common/config.h:
5590         * win32/vs6/gstreamer.dsw:
5591         * win32/vs6/libgstcoreelements.dsp:
5592         * win32/vs6/libgstelements.dsp:
5593           renamed core elements plugin
5594
5595 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5596
5597         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5598         (get_candidates):
5599           do piece-wise major/minor comparison so 0.9 < 0.10
5600           also allow .exe extensions for tools
5601
5602 2005-12-02  Michael Smith  <msmith@fluendo.com>
5603
5604         * gst/gst.c:
5605           Escape a % to make gtkdoc happier; bug 322958.
5606
5607 === release 0.9.7 ===
5608
5609 2005-12-01   <thomas (at) apestaart (dot) org>
5610
5611         * configure.ac:
5612           releasing 0.9.7, "My Dog Has No Nose"
5613
5614 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5615
5616         * common/gst-xmlinspect.py:
5617         * configure.ac:
5618         * docs/libs/tmpl/gstdataprotocol.sgml:
5619         * docs/random/release:
5620         * po/af.po:
5621         * po/az.po:
5622         * po/bg.po:
5623         * po/ca.po:
5624         * po/cs.po:
5625         * po/de.po:
5626         * po/en_GB.po:
5627         * po/fr.po:
5628         * po/it.po:
5629         * po/nb.po:
5630         * po/nl.po:
5631         * po/ru.po:
5632         * po/sq.po:
5633         * po/sr.po:
5634         * po/sv.po:
5635         * po/tr.po:
5636         * po/uk.po:
5637         * po/vi.po:
5638         * win32/common/config.h:
5639         * win32/common/config.h.in:
5640         * win32/vs6/gst_inspect.dsp:
5641         * win32/vs6/gst_launch.dsp:
5642         * win32/vs6/libgstbase.dsp:
5643         * win32/vs6/libgstelements.dsp:
5644         * win32/vs6/libgstreamer.dsp:
5645         * win32/vs7/GStreamer.vcproj:
5646         * win32/vs7/gst-inspect.vcproj:
5647         * win32/vs7/gst-launch.vcproj:
5648         * win32/vs7/libgstbase.vcproj:
5649           bump GST_MAJORMINOR to 0.10
5650           reset libtool version
5651
5652 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5653
5654         * po/LINGUAS:
5655         * po/bg.po:
5656           Added Bulgarian translation by (Alexander Shopov)
5657
5658 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5659
5660         * tests/check/gst/gstplugin.c:
5661           fix test
5662
5663 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5664
5665         * common/gst-xmlinspect.py:
5666         * common/gtk-doc-plugins.mak:
5667         * configure.ac:
5668         * docs/Makefile.am:
5669         * docs/gst/Makefile.am:
5670         * docs/gst/gstreamer-docs.sgml:
5671         * docs/gst/gstreamer-sections.txt:
5672         * docs/gst/gstreamer.types:
5673         * docs/gst/gstreamer.types.in:
5674         * docs/plugins/Makefile.am:
5675         * docs/plugins/gstreamer-plugins-docs.sgml:
5676         * docs/plugins/gstreamer-plugins-sections.txt:
5677         * docs/plugins/gstreamer-plugins.types:
5678         * docs/plugins/inspect.stamp:
5679         * docs/plugins/inspect/plugin-coreelements.xml:
5680         * docs/plugins/inspect/plugin-coreindexers.xml:
5681         * docs/plugins/scanobj-build.stamp:
5682         * gstreamer.spec.in:
5683         * plugins/elements/Makefile.am:
5684         * plugins/elements/gstelements.c:
5685         * plugins/elements/gstfakesink.c:
5686         * plugins/elements/gstfakesrc.c:
5687         * plugins/elements/gstfilesink.c:
5688         * plugins/elements/gstfilesrc.c:
5689         * plugins/elements/gstqueue.c:
5690         * plugins/indexers/Makefile.am:
5691         * plugins/indexers/gstindexers.c:
5692           document core plugins in a separate document just like all the
5693           others
5694           rename these plugins to something starting with core
5695
5696 2005-12-01  Andy Wingo  <wingo@pobox.com>
5697
5698         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5699         padding here before, but it missed the commit.
5700
5701 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5702
5703         * libs/gst/controller/gstinterpolation.c:
5704           whitespace prices have crashed, we should feel free to use some now
5705           use gst_guint64_to_gdouble
5706
5707 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5708
5709         * libs/gst/controller/gstcontroller.c:
5710         * libs/gst/controller/gsthelper.c:
5711         * libs/gst/controller/gstinterpolation.c:
5712         * libs/gst/controller/lib.c:
5713           wrap config.h include
5714
5715 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         * docs/gst/gstreamer-sections.txt:
5718           update docs
5719
5720 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * plugins/elements/gstelements.c:
5723         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5724         (gst_fd_sink__class_init), (gst_fd_sink__init),
5725         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5726         (gst_fd_sink__get_property):
5727         * plugins/elements/gstfdsink.h:
5728         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5729         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5730         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5731         (gst_fd_src_unlock), (gst_fd_src_set_property),
5732         (gst_fd_src_get_property), (gst_fd_src_create),
5733         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5734         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5735         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5736         (gst_fd_src_uri_handler_init):
5737         * plugins/elements/gstfdsrc.h:
5738         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5739           more anal cleanup
5740
5741 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5742
5743         * docs/gst/Makefile.am:
5744         * docs/gst/gstreamer.types.in:
5745         * gst/Makefile.am:
5746           fix the docs build
5747
5748 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5749
5750         * configure.ac:
5751         * gst/Makefile.am:
5752         * gst/gst.c:
5753         * gst/gstplugin.h:
5754         * gst/gstregistry.h:
5755         * tests/benchmarks/complexity.c:
5756         * tests/benchmarks/mass-elements.c:
5757         * tests/check/Makefile.am:
5758         * tools/Makefile.am:
5759         * tools/gst-inspect.c:
5760         * tools/gst-xmlinspect.c:
5761           various fixes to make
5762           --disable-nls --disable-registry --disable-loadsave
5763           --disable-parse --disable-gst-debug
5764           work and get the core .so down to 360444 bytes after stripping
5765
5766 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * Makefile.am:
5769         * configure.ac:
5770           descend into tests
5771         * docs/random/thomasvs/TODO:
5772         * tests/Makefile.am:
5773         * tests/README:
5774           add a README
5775
5776 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5777
5778         * win32/GStreamer.vcproj:
5779         * win32/MANIFEST:
5780         * win32/Makefile:
5781         * win32/Makefile.inspect:
5782         * win32/Makefile.launch:
5783         * win32/Makefile.register:
5784         * win32/README.txt:
5785         * win32/gst-inspect.vcproj:
5786         * win32/gst-launch.vcproj:
5787         * win32/gst-register.vcproj:
5788         * win32/gstelements.vcproj:
5789         * win32/gstgetbits.def:
5790         * win32/gstgetbits.vcproj:
5791         * win32/gstreamer-dbg.def:
5792         * win32/gstreamer.def:
5793         * win32/libgstbase.def:
5794         * win32/libgstbase.vcproj:
5795         * win32/link_oldruntime.c:
5796         * win32/mman.c:
5797         * win32/mman.h:
5798         * win32/mman.inl:
5799         * win32/msvc71.sln:
5800           move even more stuff, win32/ is nice and clean now
5801
5802 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * libs/gst/control/.cvsignore:
5805         * win32/MANIFEST:
5806         * win32/config.h:
5807         * win32/dirent.c:
5808         * win32/dirent.h:
5809         * win32/gstbytestream.def:
5810         * win32/gstbytestream.vcproj:
5811         * win32/gstconfig.h:
5812         * win32/gstenumtypes.c:
5813         * win32/gstenumtypes.h:
5814         * win32/gstoptimalscheduler.vcproj:
5815         * win32/gstversion.h:
5816         * win32/gtchar.h:
5817         * win32/testsuite/bins.vcproj:
5818         * win32/testsuite/bytestream.vcproj:
5819         * win32/testsuite/caps.vcproj:
5820         * win32/testsuite/cleanup.vcproj:
5821         * win32/testsuite/clock.vcproj:
5822         * win32/testsuite/debug.vcproj:
5823         * win32/testsuite/dlopen.vcproj:
5824         * win32/testsuite/dynparams.vcproj:
5825         * win32/testsuite/elements.vcproj:
5826         * win32/testsuite/ghostpads.vcproj:
5827         * win32/testsuite/indexers.vcproj:
5828         * win32/testsuite/negotiation.vcproj:
5829         * win32/testsuite/parse.vcproj:
5830         * win32/testsuite/plugin.vcproj:
5831         * win32/testsuite/refcounting.vcproj:
5832         * win32/testsuite/schedulers.vcproj:
5833         * win32/testsuite/states.vcproj:
5834         * win32/testsuite/tags.vcproj:
5835         * win32/testsuite/threads.vcproj:
5836           remove old win32 stuff that isn't maintained and should be
5837           reorganized
5838
5839 2005-11-30  Andy Wingo  <wingo@pobox.com>
5840
5841         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5842         loading the gst.interfaces python module bork.
5843
5844         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5845         available since GLib 2.2. Fixes #318031.
5846
5847 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5848
5849         * Makefile.am:
5850         * check/.cvsignore:
5851         * check/Makefile.am:
5852         * check/elements/.cvsignore:
5853         * check/elements/fakesrc.c:
5854         * check/elements/fdsrc.c:
5855         * check/elements/identity.c:
5856         * check/generic/.cvsignore:
5857         * check/generic/states.c:
5858         * check/gst-libs/.cvsignore:
5859         * check/gst-libs/controller.c:
5860         * check/gst-libs/gdp.c:
5861         * check/gst/.cvsignore:
5862         * check/gst/capslist.h:
5863         * check/gst/gst.c:
5864         * check/gst/gstbin.c:
5865         * check/gst/gstbuffer.c:
5866         * check/gst/gstbus.c:
5867         * check/gst/gstcaps.c:
5868         * check/gst/gstelement.c:
5869         * check/gst/gstevent.c:
5870         * check/gst/gstghostpad.c:
5871         * check/gst/gstiterator.c:
5872         * check/gst/gstmessage.c:
5873         * check/gst/gstminiobject.c:
5874         * check/gst/gstobject.c:
5875         * check/gst/gstpad.c:
5876         * check/gst/gstpipeline.c:
5877         * check/gst/gstplugin.c:
5878         * check/gst/gstsegment.c:
5879         * check/gst/gststructure.c:
5880         * check/gst/gstsystemclock.c:
5881         * check/gst/gsttag.c:
5882         * check/gst/gstutils.c:
5883         * check/gst/gstvalue.c:
5884         * check/net/.cvsignore:
5885         * check/net/gstnetclientclock.c:
5886         * check/net/gstnettimeprovider.c:
5887         * check/pipelines/.cvsignore:
5888         * check/pipelines/cleanup.c:
5889         * check/pipelines/simple_launch_lines.c:
5890         * check/pipelines/stress.c:
5891         * check/states/.cvsignore:
5892         * check/states/sinks.c:
5893         * configure.ac:
5894         * examples/Makefile.am:
5895         * examples/appreader/.cvsignore:
5896         * examples/appreader/Makefile.am:
5897         * examples/appreader/appreader.c:
5898         * examples/controller/.cvsignore:
5899         * examples/controller/Makefile.am:
5900         * examples/controller/audio-example.c:
5901         * examples/cutter/.cvsignore:
5902         * examples/cutter/Makefile.am:
5903         * examples/cutter/cutter.c:
5904         * examples/cutter/cutter.h:
5905         * examples/events/Makefile.am:
5906         * examples/events/seek.c:
5907         * examples/helloworld/.cvsignore:
5908         * examples/helloworld/Makefile.am:
5909         * examples/helloworld/helloworld.c:
5910         * examples/helloworld2/.cvsignore:
5911         * examples/helloworld2/Makefile.am:
5912         * examples/helloworld2/helloworld2.c:
5913         * examples/launch/.cvsignore:
5914         * examples/launch/Makefile.am:
5915         * examples/launch/mp3parselaunch.c:
5916         * examples/launch/mp3play:
5917         * examples/manual/.cvsignore:
5918         * examples/manual/Makefile.am:
5919         * examples/manual/extract.pl:
5920         * examples/metadata/Makefile.am:
5921         * examples/metadata/read-metadata.c:
5922         * examples/mixer/.cvsignore:
5923         * examples/mixer/Makefile.am:
5924         * examples/mixer/mixer.c:
5925         * examples/mixer/mixer.h:
5926         * examples/pingpong/.cvsignore:
5927         * examples/pingpong/Makefile.am:
5928         * examples/pingpong/pingpong.c:
5929         * examples/plugins/.cvsignore:
5930         * examples/plugins/Makefile.am:
5931         * examples/plugins/example.c:
5932         * examples/plugins/example.h:
5933         * examples/pwg/.cvsignore:
5934         * examples/pwg/Makefile.am:
5935         * examples/pwg/extract.pl:
5936         * examples/queue/.cvsignore:
5937         * examples/queue/Makefile.am:
5938         * examples/queue/queue.c:
5939         * examples/queue2/.cvsignore:
5940         * examples/queue2/Makefile.am:
5941         * examples/queue2/queue2.c:
5942         * examples/queue3/.cvsignore:
5943         * examples/queue3/Makefile.am:
5944         * examples/queue3/queue3.c:
5945         * examples/queue4/.cvsignore:
5946         * examples/queue4/Makefile.am:
5947         * examples/queue4/queue4.c:
5948         * examples/retag/.cvsignore:
5949         * examples/retag/Makefile.am:
5950         * examples/retag/retag.c:
5951         * examples/retag/transcode.c:
5952         * examples/thread/.cvsignore:
5953         * examples/thread/Makefile.am:
5954         * examples/thread/thread.c:
5955         * examples/typefind/.cvsignore:
5956         * examples/typefind/Makefile.am:
5957         * examples/typefind/typefind.c:
5958         * examples/xml/.cvsignore:
5959         * examples/xml/Makefile.am:
5960         * examples/xml/createxml.c:
5961         * examples/xml/runxml.c:
5962         * tests/Makefile.am:
5963         * tests/check/Makefile.am:
5964         * testsuite/.cvsignore:
5965         * testsuite/Makefile.am:
5966         * testsuite/Rules:
5967         * testsuite/caps/.cvsignore:
5968         * testsuite/caps/Makefile.am:
5969         * testsuite/caps/app_fixate.c:
5970         * testsuite/caps/audioscale.c:
5971         * testsuite/caps/caps.c:
5972         * testsuite/caps/caps.h:
5973         * testsuite/caps/caps_strings:
5974         * testsuite/caps/compatibility.c:
5975         * testsuite/caps/deserialize.c:
5976         * testsuite/caps/enumcaps.c:
5977         * testsuite/caps/eratosthenes.c:
5978         * testsuite/caps/filtercaps.c:
5979         * testsuite/caps/fixed.c:
5980         * testsuite/caps/fraction-convert.c:
5981         * testsuite/caps/fraction-multiply-and-zero.c:
5982         * testsuite/caps/intersect2.c:
5983         * testsuite/caps/intersection.c:
5984         * testsuite/caps/normalisation.c:
5985         * testsuite/caps/random.c:
5986         * testsuite/caps/renegotiate.c:
5987         * testsuite/caps/sets.c:
5988         * testsuite/caps/simplify.c:
5989         * testsuite/caps/string-conversions.c:
5990         * testsuite/caps/structure.c:
5991         * testsuite/caps/subtract.c:
5992         * testsuite/caps/union.c:
5993         * testsuite/debug/.cvsignore:
5994         * testsuite/debug/Makefile.am:
5995         * testsuite/debug/category.c:
5996         * testsuite/debug/commandline.c:
5997         * testsuite/debug/global.c:
5998         * testsuite/debug/output.c:
5999         * testsuite/debug/printf_extension.c:
6000         * testsuite/dlopen/.cvsignore:
6001         * testsuite/dlopen/Makefile.am:
6002         * testsuite/dlopen/dlopen_gst.c:
6003         * testsuite/dlopen/loadgst.c:
6004         * testsuite/elements/.cvsignore:
6005         * testsuite/elements/Makefile.am:
6006         * testsuite/elements/gst-inspect-check.in:
6007         * testsuite/elements/struct_i386.h:
6008         * testsuite/elements/struct_size.c:
6009         * testsuite/indexers/.cvsignore:
6010         * testsuite/indexers/Makefile.am:
6011         * testsuite/indexers/cache1.c:
6012         * testsuite/indexers/indexdump.c:
6013         * testsuite/parse/.cvsignore:
6014         * testsuite/parse/Makefile.am:
6015         * testsuite/parse/parse1.c:
6016         * testsuite/parse/parse2.c:
6017         * testsuite/plugin/.cvsignore:
6018         * testsuite/plugin/Makefile.am:
6019         * testsuite/plugin/README:
6020         * testsuite/plugin/dynamic.c:
6021         * testsuite/plugin/linked.c:
6022         * testsuite/plugin/loading.c:
6023         * testsuite/plugin/registry.c:
6024         * testsuite/plugin/static.c:
6025         * testsuite/plugin/static2.c:
6026         * testsuite/plugin/testplugin.c:
6027         * testsuite/plugin/testplugin2.c:
6028         * testsuite/plugin/testplugin2_s.c:
6029         * testsuite/plugin/testplugin_s.c:
6030         * testsuite/refcounting/.cvsignore:
6031         * testsuite/refcounting/Makefile.am:
6032         * testsuite/refcounting/bin.c:
6033         * testsuite/refcounting/element.c:
6034         * testsuite/refcounting/element_pad.c:
6035         * testsuite/refcounting/mainloop.c:
6036         * testsuite/refcounting/mem.c:
6037         * testsuite/refcounting/mem.h:
6038         * testsuite/refcounting/object.c:
6039         * testsuite/refcounting/pad.c:
6040         * testsuite/refcounting/sched.c:
6041         * testsuite/refcounting/thread.c:
6042         * testsuite/states/.cvsignore:
6043         * testsuite/states/Makefile.am:
6044         * testsuite/states/bin.c:
6045         * testsuite/states/locked.c:
6046         * testsuite/states/parent.c:
6047         * testsuite/threads/.cvsignore:
6048         * testsuite/threads/159566.c:
6049         * testsuite/threads/159852.c:
6050         * testsuite/threads/Makefile.am:
6051         * testsuite/threads/queue.c:
6052         * testsuite/threads/signals.c:
6053         * testsuite/threads/staticrec.c:
6054         * testsuite/threads/thread.c:
6055         * testsuite/threads/threadb.c:
6056         * testsuite/threads/threadc.c:
6057         * testsuite/threads/threadd.c:
6058         * testsuite/threads/threade.c:
6059         * testsuite/threads/threadf.c:
6060         * testsuite/threads/threadg.c:
6061         * testsuite/threads/threadh.c:
6062         * testsuite/threads/threadi.c:
6063           move all of these under tests
6064
6065 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * configure.ac:
6068         * tests/Makefile.am:
6069           fix distcheck
6070
6071 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6072
6073         * docs/gst/gstreamer-sections.txt:
6074         * tests/sched/.cvsignore:
6075         * tests/sched/Makefile.am:
6076         * tests/sched/cases/(fs-fs).xml:
6077         * tests/sched/cases/(fs-i-fs).xml:
6078         * tests/sched/cases/(fs-i-i-fs).xml:
6079         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6080         * tests/sched/dynamic-pipeline.c:
6081         * tests/sched/interrupt1.c:
6082         * tests/sched/interrupt2.c:
6083         * tests/sched/interrupt3.c:
6084         * tests/sched/runtestcases:
6085         * tests/sched/runxml.c:
6086         * tests/sched/sched-stress.c:
6087         * tests/sched/sort.c:
6088         * tests/sched/testcases:
6089         * tests/sched/testcases1.tc:
6090         * tests/seeking/.cvsignore:
6091         * tests/seeking/Makefile.am:
6092         * tests/seeking/seeking1.c:
6093         * tests/threadstate/.cvsignore:
6094         * tests/threadstate/Makefile.am:
6095         * tests/threadstate/test1.c:
6096         * tests/threadstate/test2.c:
6097         * tests/threadstate/threadstate1.c:
6098         * tests/threadstate/threadstate2.c:
6099         * tests/threadstate/threadstate3.c:
6100         * tests/threadstate/threadstate4.c:
6101         * tests/threadstate/threadstate5.c:
6102           remove obsolete tests
6103         * configure.ac:
6104         * tests/bench-complexity.scm:
6105         * tests/bench-mass_elements.scm:
6106         * tests/complexity.c:
6107         * tests/complexity.gnuplot:
6108         * tests/instantiate/.cvsignore:
6109         * tests/instantiate/Makefile.am:
6110         * tests/instantiate/caps.c:
6111         * tests/mass_elements.c:
6112         * tests/network-clock-utils.scm:
6113         * tests/network-clock.scm:
6114         * tests/plot-data:
6115         First pass at cleaning up tests/ dir before moving the rest
6116         Combined with CVS surgery
6117
6118 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6119
6120         * po/POTFILES.in:
6121           queue has moved, update
6122
6123 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6124
6125         * docs/gst/gstreamer-sections.txt:
6126           remove double entries from the docs
6127         * gst/gst_private.h:
6128         * gst/gstinfo.c: (_gst_debug_init):
6129           remove the THREAD debug category
6130         * gst/Makefile.am:
6131         * gst/gstqueue.c:
6132         * gst/gstqueue.h:
6133         * docs/gst/gstreamer.types:
6134         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6135         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6136           completely move queue and fix up debugging categories
6137
6138 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6139
6140         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6141           make initialization portable, using LL is not
6142
6143 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * win32/common/gstconfig.h:
6146           add large padding
6147
6148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6149
6150         * win32/common/libgstreamer.def:
6151           rename symbols; sort base section
6152
6153 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * gst/gstclock.c: (do_linear_regression):
6156           remove crack non-portable handrolled DEBUG macro
6157
6158 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * docs/random/release:
6161           update notes
6162         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6163         (gst_object_flags_get_type), (register_gst_bin_flags),
6164         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6165         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6166         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6167         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6168         (gst_caps_flags_get_type), (register_gst_clock_return),
6169         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6170         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6171         (gst_clock_flags_get_type), (register_gst_state),
6172         (gst_state_get_type), (register_gst_state_change_return),
6173         (gst_state_change_return_get_type), (register_gst_state_change),
6174         (gst_state_change_get_type), (register_gst_element_flags),
6175         (gst_element_flags_get_type), (register_gst_core_error),
6176         (gst_core_error_get_type), (register_gst_library_error),
6177         (gst_library_error_get_type), (register_gst_resource_error),
6178         (gst_resource_error_get_type), (register_gst_stream_error),
6179         (gst_stream_error_get_type), (register_gst_event_type_flags),
6180         (gst_event_type_flags_get_type), (register_gst_event_type),
6181         (gst_event_type_get_type), (register_gst_seek_type),
6182         (gst_seek_type_get_type), (register_gst_seek_flags),
6183         (gst_seek_flags_get_type), (register_gst_format),
6184         (gst_format_get_type), (register_gst_index_certainty),
6185         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6186         (gst_index_entry_type_get_type),
6187         (register_gst_index_lookup_method),
6188         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6189         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6190         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6191         (gst_index_flags_get_type), (register_gst_debug_level),
6192         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6193         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6194         (gst_iterator_result_get_type), (register_gst_iterator_item),
6195         (gst_iterator_item_get_type), (register_gst_message_type),
6196         (gst_message_type_get_type), (register_gst_mini_object_flags),
6197         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6198         (gst_pad_link_return_get_type), (register_gst_flow_return),
6199         (gst_flow_return_get_type), (register_gst_activate_mode),
6200         (gst_activate_mode_get_type), (register_gst_pad_direction),
6201         (gst_pad_direction_get_type), (register_gst_pad_flags),
6202         (gst_pad_flags_get_type), (register_gst_pad_presence),
6203         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6204         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6205         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6206         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6207         (gst_plugin_flags_get_type), (register_gst_rank),
6208         (gst_rank_get_type), (register_gst_query_type),
6209         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6210         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6211         (gst_tag_flag_get_type), (register_gst_task_state),
6212         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6213         (gst_alloc_trace_flags_get_type),
6214         (register_gst_type_find_probability),
6215         (gst_type_find_probability_get_type), (register_gst_uri_type),
6216         (gst_uri_type_get_type), (register_gst_parse_error),
6217         (gst_parse_error_get_type):
6218         * win32/common/gstenumtypes.h:
6219         * win32/common/gstversion.h:
6220           update visual studio generated files
6221
6222 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6223
6224         * win32/vs6/libgstbase.dsp:
6225         * win32/vs6/libgstelements.dsp:
6226           update project files for new locations
6227
6228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6229
6230         * Makefile.am:
6231           remove some files
6232         * README:
6233           reinstate and update
6234         * DEVEL:
6235         * REQUIREMENTS:
6236           removed
6237         * LICENSE:
6238         * docs/random/LICENSE:
6239           moved to random
6240
6241 2005-11-30  Edward Hervey  <edward@fluendo.com>
6242
6243         * gst/gsttypefind.c: (gst_type_find_register):
6244         * gst/gsttypefind.h:
6245         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6246         (gst_type_find_factory_dispose):
6247         * gst/gsttypefindfactory.h:
6248         Fix memory leak in GstTypeFindFactory.
6249
6250 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6251
6252         * gst/gst.c:
6253         * plugins/elements/Makefile.am:
6254         * plugins/elements/gstelements.c:
6255         * plugins/elements/gstqueue.c:
6256           move queue from core to the elements plugin
6257
6258 2005-11-29  Andy Wingo  <wingo@pobox.com>
6259
6260         * libs/gst/base/gstbasetransform.h: 
6261         * libs/gst/base/gstbasesrc.h: 
6262         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6263
6264         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6265         of pointers by which to pad very extensible base classes (like the
6266         ones in libs/gst/base).
6267
6268 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6269
6270         * docs/gst/gstreamer-docs.sgml:
6271         * docs/gst/gstreamer-sections.txt:
6272         * docs/libs/gstreamer-libs-docs.sgml:
6273         * docs/libs/gstreamer-libs-sections.txt:
6274           moving documentation from core to lib
6275
6276 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6277
6278         * check/Makefile.am:
6279         * configure.ac:
6280         * docs/gst/Makefile.am:
6281         * gst/Makefile.am:
6282         * gst/base/.cvsignore:
6283         * gst/base/Makefile.am:
6284         * gst/base/README:
6285         * gst/base/gstadapter.c:
6286         * gst/base/gstadapter.h:
6287         * gst/base/gstbasesink.c:
6288         * gst/base/gstbasesink.h:
6289         * gst/base/gstbasesrc.c:
6290         * gst/base/gstbasesrc.h:
6291         * gst/base/gstbasetransform.c:
6292         * gst/base/gstbasetransform.h:
6293         * gst/base/gstcollectpads.c:
6294         * gst/base/gstcollectpads.h:
6295         * gst/base/gstpushsrc.c:
6296         * gst/base/gstpushsrc.h:
6297         * gst/base/gsttypefindhelper.c:
6298         * gst/base/gsttypefindhelper.h:
6299         * gst/check/Makefile.am:
6300         * gst/check/gstcheck.c:
6301         * gst/check/gstcheck.h:
6302         * gst/net/Makefile.am:
6303         * gst/net/gstnet.h:
6304         * gst/net/gstnetclientclock.c:
6305         * gst/net/gstnetclientclock.h:
6306         * gst/net/gstnettimepacket.c:
6307         * gst/net/gstnettimepacket.h:
6308         * gst/net/gstnettimeprovider.c:
6309         * gst/net/gstnettimeprovider.h:
6310         * libs/gst/Makefile.am:
6311         * libs/gst/base/Makefile.am:
6312         * libs/gst/base/gstbasetransform.c:
6313         * libs/gst/check/Makefile.am:
6314         * plugins/elements/Makefile.am:
6315         * po/POTFILES.in:
6316           CVS surgery + support to move base, check, and net out of gst
6317           and into libs/gst
6318
6319 2005-11-29  Andy Wingo  <wingo@pobox.com>
6320
6321         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6322
6323         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6324         padding.
6325
6326         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6327
6328         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6329
6330         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6331
6332         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6333         padding; reduces object size by about 30%. We don't expect
6334         anything else to go into gstobject.
6335
6336         * gst/gstminiobject.h (struct _GstMiniObject)
6337         (struct _GstMiniObjectClass): Only one pointer of padding; the
6338         payload is only a pointer and two ints anyway. For the class there
6339         are only two methods as well.
6340         
6341         * gst/gstelement.h (struct _GstElementClass): Removed
6342         the state_changed signal callback, it is not used.
6343
6344 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * docs/gst/gstreamer.types:
6347           fix includes, though they are a little dinky
6348
6349 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6350
6351         * check/Makefile.am:
6352           look in the right place for elements, a lot more chance of
6353           success
6354         * gst/Makefile.am:
6355           remove indexers and elements subdirs
6356         * plugins/Makefile.am:
6357           make indexers conditional
6358
6359 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6360
6361         * Makefile.am:
6362         * configure.ac:
6363         * plugins/elements/Makefile.am:
6364         * plugins/elements/gstcapsfilter.c:
6365         * plugins/elements/gstfilesink.c:
6366         * plugins/elements/gstfilesrc.c:
6367         * plugins/elements/gstidentity.c:
6368         * plugins/indexers/Makefile.am:
6369           do CVS surgery and related build fixery to move elements
6370           and indexers in a new gstreamer/plugins directory, out of the
6371           gst/ directory
6372
6373 2005-11-29  Andy Wingo  <wingo@pobox.com>
6374
6375         * check/Makefile.am:
6376         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6377         * pkgconfig/gstreamer-net.pc.in:
6378         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6379         #322257.
6380
6381 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6382
6383         * tools/Makefile.am:
6384         * tools/gst-complete.1.in:
6385         * tools/gst-complete.c:
6386         * tools/gst-compprep.1.in:
6387         * tools/gst-compprep.c:
6388           removing -compprep and -complete
6389
6390 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * gst/gstevent.c: (gst_event_new_new_segment),
6393         (gst_event_parse_new_segment):
6394         * gst/gstevent.h:
6395           fix #320529 - clean up new_segment API and structure.
6396           Let's hope everyone was using the methods, and not the structure.
6397
6398 2005-11-29  Edward Hervey  <edward@fluendo.com>
6399
6400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6401         (gst_base_sink_event), (gst_base_sink_do_sync),
6402         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6403         Properly handle non GST_FORMAT_TIME segment
6404         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6405         Properly handle non GST_FORMAT_TIME segment
6406         * gst/gstsegment.c:
6407         This function is valid if the accumulator is 0 and the format
6408         is different from the requested format.
6409         
6410 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6411
6412         * docs/gst/gstreamer-sections.txt:
6413         Add gst_query_new_seeking and gst_query_parse_seeking to the
6414         docs.
6415
6416 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6417
6418         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6419           Treat a pad alloc with new caps the same as if we were not
6420           negotiated, in order to allow a changing upstream output
6421           to produce a new format of data.
6422
6423 2005-11-29  Edward Hervey  <edward@fluendo.com>
6424
6425         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6426         (gst_base_transform_event), (gst_base_transform_eventfunc):
6427         The event virtual method is now properly implemented, with a default
6428         handler
6429         Sub classes should call the parent_class event method. They should
6430         return FALSE if they had a problem handling the given event, or don't
6431         want GstBaseTransform to send that even downstream
6432         * gst/elements/gstidentity.c: (gst_identity_class_init),
6433         (gst_identity_init), (gst_identity_event),
6434         (gst_identity_transform_ip), (gst_identity_set_property),
6435         (gst_identity_get_property):
6436         * gst/elements/gstidentity.h:
6437         Added the single-segment boolean property.
6438         If set to TRUE, it will output a single segment of data, starting from
6439         0, will eat up all incoming newsegment, and modify the timestamp of the
6440         buffers accordingly
6441
6442 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6443
6444         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6445           Don't ref NULL target pad (#322751). Improve docs.
6446
6447 2005-11-29  Michael Smith  <msmith@fluendo.com>
6448
6449         * gst/gstregistryxml.c: (load_plugin):
6450           Don't crash if we failed to load a feature from a plugin. 
6451
6452 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6455         (GST_START_TEST):
6456           use more check API and less GLib API
6457
6458 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * Makefile.am:
6461           don't run checks if we don't have check
6462         * common/check.mak:
6463           remove the registry when running make torture
6464         * docs/gst/gstreamer-sections.txt:
6465           remove second multiply
6466         * gst/gstqueue.c: (gst_queue_loop):
6467           fix a compile warning when disabling debug
6468
6469 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6470
6471         * gst/gstinfo.h:
6472         Hey! Let's print the pad name if the pointer != NULL instead
6473         of when it == NULL :-)
6474
6475 2005-11-28  Wim Taymans  <wim@fluendo.com>
6476
6477         * check/gst/gstutils.c: (GST_START_TEST):
6478         Updated check, add some scaling accuracy checking code.
6479
6480         * gst/gstutils.c: (gst_util_div128_64),
6481         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6482         (gst_util_uint64_scale_int):
6483         Fix 6 times faster division code. Optimize for common 
6484         1/1 and less common X/1 cases.
6485
6486 2005-11-28  Wim Taymans  <wim@fluendo.com>
6487
6488         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6489         More checks.
6490
6491         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6492         (do_linear_regression), (gst_clock_add_observation):
6493         Cleanups.
6494         Release lock when the clock cannot be slaved.
6495         Catch the case where the regression returned an invalid denominator.
6496
6497         * gst/gstutils.c: (gst_util_div128_64_iterate),
6498         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6499         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6500         Add protentially more performant non-iterative 128/64 divide function
6501         that unfortunatly does not work yet.
6502         Shortcut the trivial 0/X = 0 case.
6503         Remove the warnings on overflow.
6504
6505 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * gst/gstplugin.c: (gst_plugin_register_func):
6508           everything causing a plugin not to load should be at least a WARNING
6509
6510 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6511
6512         * docs/random/ensonic/dparams.txt:
6513           some TODOs for the next dev cycle
6514         * libs/gst/controller/gstcontroller.c:
6515         (gst_controlled_property_set_interpolation_mode),
6516         (gst_controlled_property_new):
6517         * libs/gst/controller/gstcontroller.h:
6518           use base type to assign acccessor functions
6519
6520 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6521
6522         * check/Makefile.am:
6523         Oops, that should have been top_srcdir
6524
6525 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6526
6527         * check/Makefile.am:
6528         * check/elements/fdsrc.c: (GST_START_TEST):
6529         Use a cmdline define to specify the location of a file to use for
6530         testing, to avoid breaking distcheck.
6531
6532 2005-11-28  Andy Wingo  <wingo@pobox.com>
6533
6534         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6535
6536 2005-11-28  Edward Hervey  <edward@fluendo.com>
6537
6538         * tools/gst-launch.c: (main):
6539         Clarify the output strings, makes it easier to translate.
6540         Fixes #322626
6541
6542 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6543
6544         * gst/Makefile.am:
6545           don't try and build net if we don't even have <sys/socket.h>
6546
6547 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6548
6549         * check/Makefile.am:
6550         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6551         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6552           Add tests for fdsrc seekability
6553
6554         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6555         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6556         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6557         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6558         * gst/elements/gstfdsrc.h:
6559           fdsrc should not be a 'live' source.
6560           Implement seeking on seekable fd's.
6561
6562         * gst/gstquery.c: (gst_query_new_seeking),
6563         (gst_query_parse_seeking):
6564         * gst/gstquery.h:
6565           Implement SEEKING query functions: 
6566             *_new_seeking and *_parse_seeking
6567
6568 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6569
6570         * gst/gstelement.c: (gst_element_dispose):
6571           don't loop forever
6572
6573         * gst/gstiterator.c:
6574         * gst/gststructure.c:
6575           doc fixes
6576
6577         * libs/gst/controller/gstcontroller.c:
6578         (gst_controlled_property_set_interpolation_mode):
6579         * libs/gst/controller/gstcontroller.h:
6580         * libs/gst/controller/gstinterpolation.c:
6581         (interpolate_none_get_enum_value_array):
6582           support controlling enums
6583
6584 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * gst/gstvalue.c:
6587           Improve documentation for gst_value_union().
6588
6589         * gst/gstvalue.h:
6590           Change return value for union, intersect and subtract functions
6591           from gint to gboolean.
6592
6593 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6594
6595         * gst/gstvalue.c: (gst_value_serialize_any_list),
6596         (gst_value_transform_any_list_string),
6597         (gst_value_deserialize_list), (gst_value_deserialize_array),
6598         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6599         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6600         (gst_value_set_fraction_range_full),
6601         (gst_value_deserialize_fraction_range),
6602         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6603         (gst_value_deserialize_boolean),
6604         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6605         (gst_value_serialize_float), (gst_value_deserialize_float),
6606         (gst_string_wrap), (gst_value_deserialize_string),
6607         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6608         (gst_value_union_int_range_int_range),
6609         (gst_value_intersect_int_range_int_range),
6610         (gst_value_intersect_double_range_double_range),
6611         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6612         (gst_value_subtract_int_range_int_range),
6613         (gst_value_subtract_double_double_range),
6614         (gst_value_subtract_double_range_double_range),
6615         (gst_value_deserialize_fraction):
6616         * gst/gstvalue.h:
6617           Use gint, gdouble and gchar in our API instead of int, double and
6618           char (and make usage in gstvalue.c more consistent).
6619
6620 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * check/Makefile.am:
6623         * libs/gst/controller/Makefile.am:
6624         * libs/gst/dataprotocol/Makefile.am:
6625           fix up Makefile.am and remove GST_ENABLE_NEW
6626
6627 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * configure.ac:
6630         * gst/Makefile.am:
6631         * gst/base/Makefile.am:
6632         * gst/check/Makefile.am:
6633         * gst/elements/Makefile.am:
6634         * gst/net/Makefile.am:
6635           update LDFLAGS use some more
6636
6637 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6638
6639         * common/m4/gst-doc.m4:
6640           Fixes #312589
6641
6642 2005-11-26  Edward Hervey  <edward@fluendo.com>
6643
6644         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6645         This shouldn't issue a g_warning since it returns NULL if it
6646         couldn't find the plugin, and all functions using this behave
6647         properly on a NULL return. Switching to a GST_WARNING.
6648
6649 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6650
6651         * gst/gstbin.c: (gst_bin_handle_message_func):
6652         Don't leak clock messages.
6653
6654 2005-11-25  Wim Taymans  <wim@fluendo.com>
6655
6656         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6657         (gst_util_uint64_scale_int):
6658         Optimisations, remove unneeded vars.
6659
6660 2005-11-25  Wim Taymans  <wim@fluendo.com>
6661
6662         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6663         Added more checks for the high precision uint64 cases.
6664
6665         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6666         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6667         Implement high precision (guint64 * guint64) / guint64.
6668
6669 2005-11-24  Wim Taymans  <wim@fluendo.com>
6670
6671         * gst/base/gstbasesrc.c: (gst_base_src_query):
6672         Fix wrong percentage query.
6673
6674         * gst/gstutils.c: (gst_util_uint64_scale),
6675         (gst_util_uint64_scale_int):
6676         Add some more common cases that can be handled 
6677         efficiently to _scale.
6678
6679 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6680
6681         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6682         (gst_mini_object_suite):
6683           don't use check calls from threads; check probably isn't
6684           threadsafe and using a lock to make it threadsafe would
6685           defeat the purpose of this check
6686         * gst/check/gstcheck.c:
6687         * gst/check/gstcheck.h:
6688           use GST_DEBUG some more
6689
6690 2005-11-24  Wim Taymans  <wim@fluendo.com>
6691
6692         * gst/gstutils.c: (gst_util_uint64_scale),
6693         (gst_util_uint64_scale_int):
6694         Chain trivial case to _scale_int.
6695
6696 2005-11-24  Wim Taymans  <wim@fluendo.com>
6697
6698         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6699         Added test for scaling.
6700
6701         * gst/gstclock.h:
6702         Small doc fix.
6703
6704         * gst/gstutils.c: (gst_util_uint64_scale_int):
6705         Implemented high precision scaling code.
6706
6707 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6708
6709         * gst/gstinfo.h:
6710           do not crash on pad==NULL
6711
6712 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6713
6714         Patch by: Stefan Kost
6715
6716         * common/gtk-doc.mak:
6717         * docs/gst/Makefile.am:
6718         * docs/libs/Makefile.am:
6719           Fix distcheck issues for the libraries docs build
6720           Closes #319599.
6721
6722 2005-11-24  Michael Smith <msmith@fluendo.com>
6723
6724         * docs/manual/basics-helloworld.xml:
6725           Fix bug #315027: memory leak in example code in docs.
6726
6727 2005-11-24  Michael Smith <msmith@fluendo.com>
6728
6729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6730           Unlock the PREROLL_LOCK in a failure case.
6731
6732 2005-11-24  Wim Taymans  <wim@fluendo.com>
6733
6734         * docs/gst/gstreamer-sections.txt:
6735         * gst/base/gstadapter.h:
6736         * gst/base/gstbasesink.h:
6737         * gst/base/gstbasesrc.h:
6738         * gst/base/gstbasetransform.h:
6739         * gst/base/gstpushsrc.h:
6740         * gst/elements/gstfakesink.h:
6741         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6742         * gst/elements/gstfakesrc.h:
6743         * gst/elements/gstfilesink.h:
6744         * gst/elements/gstfilesrc.h:
6745         * gst/gst.c:
6746         * gst/gstbin.c:
6747         * gst/gstbuffer.c: (_gst_buffer_copy):
6748         * gst/gstbus.h:
6749         * gst/gstcaps.c:
6750         * gst/gstchildproxy.c:
6751         * gst/gstclock.c:
6752         * gst/gstelement.c:
6753         * gst/gstelementfactory.c:
6754         * gst/gstelementfactory.h:
6755         * gst/gstevent.c:
6756         * gst/gstghostpad.h:
6757         * gst/gstindex.h:
6758         * gst/gstinterface.h:
6759         * gst/gstminiobject.c:
6760         * gst/gstminiobject.h:
6761         * gst/gstpad.c:
6762         * gst/gstpad.h:
6763         * gst/gstpadtemplate.h:
6764         * gst/gstpipeline.h:
6765         * gst/gstpluginfeature.h:
6766         * gst/gstquery.h:
6767         * gst/gstqueue.h:
6768         * gst/gsttaglist.c:
6769         * gst/gsttaglist.h:
6770         * gst/gsttagsetter.c:
6771         * gst/gsttagsetter.h:
6772         * gst/gsttrace.c:
6773         * gst/gsttrace.h:
6774         * gst/gsttypefind.h:
6775         * gst/gsturi.h:
6776         * gst/gstvalue.c:
6777         * gst/net/gstnetclientclock.c:
6778         * gst/net/gstnetclientclock.h:
6779         * gst/net/gstnettimepacket.c:
6780         * gst/net/gstnettimeprovider.c:
6781         * gst/net/gstnettimeprovider.h:
6782         Doc fixes.
6783
6784 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * configure.ac: back to HEAD
6787
6788 === release 0.9.6 ===
6789
6790 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6791
6792         * configure.ac:
6793           releasing 0.9.6, "Always On Time"
6794
6795 2005-11-23  Wim Taymans  <wim@fluendo.com>
6796
6797         * docs/gst/gstreamer-sections.txt:
6798         * gst/glib-compat.c:
6799         * gst/gsttagsetter.c:
6800         * gst/gstvalue.c:
6801         * gst/net/gstnetclientclock.c:
6802         * gst/net/gstnettimepacket.h:
6803         Doc updates.
6804
6805 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6806
6807         * docs/faq/using.xml:
6808         * docs/libs/tmpl/gstcontrol.sgml:
6809         * docs/manual/advanced-dparams.xml:
6810         * docs/manual/appendix-checklist.xml:
6811         * docs/manual/basics-elements.xml:
6812         * docs/pwg/other-source.xml:
6813         * docs/random/moving-plugins:
6814         * gst/gstpad.c:
6815         * tools/gst-launch.1.in:
6816           remove mentions of sinesrc
6817
6818 2005-11-23  Michael Smith <msmith@fluendo.com>
6819
6820         * docs/gst/gstreamer-sections.txt:
6821           Update for new API and API changes.
6822         * gst/gstobject.h:
6823           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6824         * gst/gstvalue.c:
6825           Documentation typo fix.
6826         * gst/net/gstnettimepacket.c:
6827           Documentation fixes for arguments.
6828
6829 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6830
6831         * gst/gststructure.c: (gst_structure_get_fraction),
6832         (gst_structure_parse_value),
6833         (gst_structure_fixate_field_nearest_fraction):
6834         * gst/gststructure.h:
6835         * gst/gstutils.c: (gst_util_uint64_scale_int):
6836         * gst/gstutils.h:
6837         * scripts/update-funcnames:
6838         API Changes. 
6839         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6840         Make gst_structure_fixate_field_nearest_fraction take a numerator
6841         and denominator argument instead of a GValue
6842         add gst_structure_get_fraction helper function.
6843
6844 2005-11-23  Wim Taymans  <wim@fluendo.com>
6845
6846         * docs/design/part-TODO.txt:
6847         Update TODO.
6848
6849         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6850         * gst/net/gstnetclientclock.h:
6851         Use parent fields for timeout and window_size.
6852
6853 2005-11-23  Andy Wingo  <wingo@pobox.com>
6854
6855         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6856         rate_num/rate_denom change.
6857
6858         * gst/net/gstnetclientclock.c
6859         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6860         OBJECT_LOCK. Don't call add_observation with the lock.
6861
6862         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6863         fraction.
6864         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6865         rate fraction.
6866         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6867         deal with rate as a fraction whose numerator and denominator are
6868         GstClockTime values.
6869         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6870         master; the other fields are protected by the SLAVE_LOCK.
6871         (do_linear_regression): Note that this must be called with the
6872         SLAVE_LOCK.
6873         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6874         OBJECT_LOCK. Call set_calibration instead of touching the
6875         variables directly.
6876         (gst_clock_set_property, gst_clock_get_property): Protect
6877         master/slave parameters with the SLAVE_LOCK.
6878
6879         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6880         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6881         note that all of the instance variables that add_observation and
6882         the set_master functions use are protected by that lock and not
6883         the OBJECT_LOCK.
6884         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6885
6886         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6887         the caller to take the object lock.
6888
6889 2005-11-23  Wim Taymans  <wim@fluendo.com>
6890
6891         * gst/gsterror.c: (_gst_core_errors_init):
6892         * gst/gsterror.h:
6893         Add error for clock stuff.
6894
6895         * gst/gstpipeline.c: (gst_pipeline_change_state),
6896         (gst_pipeline_set_clock):
6897         Post clock error when clock cannot be used in a pipeline.
6898
6899 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6900
6901         * docs/gst/gstreamer-sections.txt:
6902           make two symbols from gstinfo private for the docs
6903         * gst/base/gstcollectpads.h:
6904         * gst/gstutils.c:
6905           fix doc typos, update docs
6906
6907 2005-11-22  Wim Taymans  <wim@fluendo.com>
6908
6909         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6910         (gst_base_sink_wait), (gst_base_sink_do_sync),
6911         (gst_base_sink_handle_event):
6912         * gst/base/gstbasesink.h:
6913         No need to store the clock, the parent element class already
6914         has it.
6915
6916         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6917         Updates for clock_set returning a gboolean
6918
6919         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6920         (gst_clock_id_wait_async), (gst_clock_class_init),
6921         (gst_clock_init), (gst_clock_finalize),
6922         (gst_clock_get_internal_time), (gst_clock_get_time),
6923         (gst_clock_slave_callback), (gst_clock_set_master),
6924         (gst_clock_get_master), (do_linear_regression),
6925         (gst_clock_add_observation), (gst_clock_set_property),
6926         (gst_clock_get_property):
6927         * gst/gstclock.h:
6928         Implement master/slave. When setting a clock as a slave, a
6929         periodic timeout is scheduled to sample master and slave times.
6930         Then the slave clock is recalibrated to match offset and rate
6931         of the master clock.
6932         Update logging a bit.
6933         Add flag so that a clock can state that is cannot be slaved to
6934         another clock.
6935
6936         * gst/gstelement.c: (gst_element_set_clock):
6937         * gst/gstelement.h:
6938         The set clock returns a gboolean for when an element cannot
6939         deal with the selected clock in the pipeline. 
6940
6941         * gst/gstpipeline.c: (gst_pipeline_change_state),
6942         (gst_pipeline_set_clock):
6943         * gst/gstpipeline.h:
6944         Handle the case where the selected clock cannot be set on
6945         the pipeline.
6946
6947         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6948         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6949         (gst_net_client_clock_set_property),
6950         (gst_net_client_clock_get_property),
6951         (gst_net_client_clock_observe_times):
6952         * gst/net/gstnetclientclock.h:
6953         Use regression code in GstClock parent, remove duplicated
6954         functionality.
6955
6956 2005-11-22  Michael Smith <msmith@fluendo.com>
6957
6958         * gst/gstutils.c: (gst_util_clock_time_scale):
6959         * gst/gstutils.h:
6960         * docs/gst/gstreamer-sections.txt:
6961           Rename method to have extra underscore.
6962
6963 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * gst/elements/Makefile.am:
6966         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6967         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6968         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6969         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6970         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6971         * gst/elements/gstfakesrc.h:
6972         * gst/gstqueue.c: (queue_leaky_get_type):
6973           correctly fix GEnumValues so that nick is the short lowercase
6974           dashed tag
6975         * tools/gst-inspect.c: (print_element_properties_info):
6976           also show the nick, since it's useful to use from parse_launch
6977           syntax
6978           Fixes #322139
6979
6980 2005-11-22  Michael Smith <msmith@fluendo.com>
6981
6982         * gst/gstutils.c: (gst_util_clocktime_scale):
6983         * gst/gstutils.h:
6984         * docs/gst/gstreamer-sections.txt:
6985           Add util method for scaling a clocktime by a fraction. Useful 
6986           implementation is left as an exercise for the reader.
6987
6988 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6989
6990         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6991         If needed, allocate storage in the destination value during
6992         collection.
6993
6994 2005-11-22  Edward Hervey  <edward@fluendo.com>
6995
6996         * docs/gst/gstreamer-sections.txt:
6997         * gst/Makefile.am:
6998         * gst/gst.h:
6999         * gst/gsturitype.c:
7000         * gst/gsturitype.h:
7001         * gst/gstutils.c: (gst_util_set_object_arg):
7002         * tools/gst-compprep.c: (main):
7003         * tools/gst-inspect.c: (print_element_properties_info):
7004         Removed GstURI, closes bug #321061
7005
7006 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7007
7008         * check/gst/gststructure.c: (GST_START_TEST):
7009         * gst/gststructure.c: (gst_structure_parse_value):
7010           Oops, broke automatic string type parsing.
7011           Add a test to catch it in future.
7012
7013 2005-11-22  Andy Wingo  <wingo@pobox.com>
7014
7015         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7016         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7017         Actually rename the function implementations. Grr.
7018
7019 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7020
7021         * check/gst/capslist.h:
7022           Comment test cases
7023         * check/gst/gststructure.c: (GST_START_TEST),
7024         (gst_structure_suite):
7025           Test automatic value type detection in gst_structure_from_string.
7026         * gst/gststructure.c: (gst_structure_parse_value):
7027           Add fraction as a type we try and guess automatically in
7028           caps/structure strings.
7029
7030 2005-11-22  Andy Wingo  <wingo@pobox.com>
7031
7032         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7033
7034         * gst/gsttagsetter.h:
7035         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7036         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7037         (gst_tag_setter_add_tag_valist)
7038         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7039         _add_values, _add_valist, and _add_valist_values. Since this is an
7040         interface the function suffixes should be more explicit so
7041         language binding don't end up with element.add_valist ->
7042         gst_tag_setter_add_valist, for example. Fixes #322069.
7043
7044 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7045
7046         * check/gst/gstcaps.c: (GST_START_TEST):
7047           Extend caps string tests to check that a caps to string
7048           conversion is reversible and produces the same caps.
7049
7050         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7051           Output "fraction" as the generic type fraction range, so caps
7052           serialisation and deserialisation works.
7053         * check/gst/capslist.h:
7054         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7055           Support 'MIN' and 'MAX' for deserialising fractions.
7056
7057 2005-11-22  Andy Wingo  <wingo@pobox.com>
7058
7059         * gst/gstevent.h (gst_event_new_new_segment)
7060         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7061         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7062         Renamed from *_newsegment, *_buffersize, *_notarget.
7063
7064         * scripts/update-funcnames: New script, performs the changes
7065         listed above.
7066
7067 2005-11-22  Wim Taymans  <wim@fluendo.com>
7068
7069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7070         Make sure the GstFlowReturn is returned.
7071
7072         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7073         (gst_bus_add_signal_watch):
7074         * gst/gstbus.h:
7075         add gst_bus_add_signal_watch_full.
7076
7077         * gst/gstplugin.c: (gst_plugin_load_file):
7078         Small style cleanup.
7079
7080 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7081
7082         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7083           Block the fakesrc srcpad when we send an event, to avoid
7084           contention on the stream_lock causing random test failures.
7085
7086 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7087
7088         * check/gst/gstvalue.c: (GST_START_TEST):
7089         * gst/gstvalue.c: (gst_value_fraction_subtract):
7090           Fix subtraction.
7091
7092 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7093
7094         * gst/gst.h:
7095           include "gstchildproxy.h"
7096         * gst/gstchildproxy.h:
7097         * libs/gst/controller/gstcontroller.h:
7098           use G_GNUC_NULL_TERMINATED
7099
7100 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7101
7102         * check/gst/capslist.h:
7103         * check/gst/gstcaps.c: (GST_START_TEST):
7104         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7105         * gst/gststructure.c: (gst_structure_parse_range),
7106         (gst_structure_fixate_field_nearest_fraction):
7107         * gst/gststructure.h:
7108         * gst/gstvalue.c: (gst_value_init_fraction_range),
7109         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7110         (gst_value_collect_fraction_range),
7111         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7112         (gst_value_set_fraction_range_full),
7113         (gst_value_get_fraction_range_min),
7114         (gst_value_get_fraction_range_max),
7115         (gst_value_serialize_fraction_range),
7116         (gst_value_transform_fraction_range_string),
7117         (gst_value_compare_fraction_range),
7118         (gst_value_deserialize_fraction_range),
7119         (gst_value_intersect_fraction_fraction_range),
7120         (gst_value_intersect_fraction_range_fraction_range),
7121         (gst_value_subtract_fraction_fraction_range),
7122         (gst_value_subtract_fraction_range_fraction),
7123         (gst_value_subtract_fraction_range_fraction_range),
7124         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7125         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7126         (gst_value_transform_string_fraction), (_gst_value_initialize):
7127         * gst/gstvalue.h:
7128           Implement fraction ranges and extend GstFraction to support
7129           arithmetic subtraction, as well as deserialization from integer
7130           strings such as "100"
7131           Add a testsuite as for int and double range set operations
7132
7133 2005-11-21  Andy Wingo  <wingo@pobox.com>
7134
7135         * gst/gsttaglist.h: 
7136         * gst/gstcaps.h: 
7137         * gst/gststructure.h: Add glib-compat.h.
7138
7139 2005-11-21  Wim Taymans  <wim@fluendo.com>
7140
7141         * gst/gstbin.c: (gst_bin_change_state_func):
7142         Fix for #321595
7143
7144 2005-11-21  Wim Taymans  <wim@fluendo.com>
7145
7146         * gst/gstsegment.h:
7147         And add a nice define too.
7148
7149 2005-11-21  Wim Taymans  <wim@fluendo.com>
7150
7151         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7152         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7153         (gst_segment_set_duration), (gst_segment_set_last_stop),
7154         (gst_segment_set_seek), (gst_segment_set_newsegment),
7155         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7156         (gst_segment_clip):
7157         * gst/gstsegment.h:
7158         Make binding friendly.
7159
7160 2005-11-21  Andy Wingo  <wingo@pobox.com>
7161
7162         * gst/gsttagsetter.h: 
7163         * gst/gsttaglist.h: 
7164         * gst/gststructure.h: 
7165         * gst/gstcaps.h: 
7166         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7167         #319940.
7168
7169         * gst/gsterror.c (_gst_core_errors_init):
7170         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7171         category.
7172
7173         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7174         (noinst_HEADERS): noinst the -private.
7175
7176 2005-11-21  Michael Smith <msmith@fluendo.com>
7177
7178         * gst/gstplugin.h:
7179         * gst/gstregistry.h:
7180           Remove unimplemented declarations for which we can see no sensible
7181           use.
7182
7183 2005-11-21  Andy Wingo  <wingo@pobox.com>
7184
7185         * gst/gst.h: Include glib-compat.h.
7186
7187         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7188
7189         * gst/glib-compat.c: Include the public and the private header.
7190
7191         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7192
7193         * gst/gstvalue.c: 
7194         * gst/gstpad.c: 
7195         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7196
7197         * check/gst/gstevent.c (create_custom_events): Check that
7198         FLUSH_STOP is serialized.
7199
7200         * check/elements/identity.c (event_func): 
7201         * check/elements/fakesrc.c (event_func): No stream lock, the core
7202         takes it.
7203
7204         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7205         stream lock taking, yay.
7206
7207         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7208         ensure that core takes the stream lock.
7209
7210         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7211         lock name change.
7212
7213         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7214         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7215         it already. For the flush start we do take it though so we get the
7216         right preroll state change messages.
7217
7218         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7219         the stream lock here, the core does it for us.
7220
7221         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7222         GST_STREAM_GET_LOCK.
7223         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7224         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7225         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7226         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7227         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7228         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7229
7230         * gst/gstpad.c: Update for stream lock name change.
7231
7232         * gst/base/gstbasesink.c: Update for preroll lock name change.
7233
7234 2005-11-21  Wim Taymans  <wim@fluendo.com>
7235
7236         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7237         (gst_clock_get_master):
7238         * gst/gstclock.h:
7239         * gst/gstsystemclock.c: (gst_system_clock_init):
7240         Convert Clock flags to object flags.
7241         Added methods to manage master/slave clocks.
7242
7243 2005-11-21  Wim Taymans  <wim@fluendo.com>
7244
7245         * check/gst/gstsegment.c: (GST_START_TEST):
7246         * docs/design/part-TODO.txt:
7247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7248         (gst_base_sink_event), (gst_base_sink_do_sync),
7249         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7250         (gst_base_sink_query), (gst_base_sink_change_state):
7251         * gst/base/gstbasesink.h:
7252         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7253         (gst_base_src_default_newsegment),
7254         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7255         (gst_base_src_get_range), (gst_base_src_loop),
7256         (gst_base_src_change_state):
7257         * gst/base/gstbasesrc.h:
7258         * gst/base/gstbasetransform.c:
7259         (gst_base_transform_prepare_output_buf),
7260         (gst_base_transform_event), (gst_base_transform_change_state):
7261         * gst/base/gstbasetransform.h:
7262         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7263         (gst_collect_pads_event):
7264         * gst/base/gstcollectpads.h:
7265         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7266         (gst_fake_src_create):
7267         * gst/elements/gstfakesrc.h:
7268         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7269         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7270         (gst_segment_set_last_stop), (gst_segment_set_seek),
7271         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7272         (gst_segment_to_running_time), (gst_segment_clip):
7273         * gst/gstsegment.h:
7274         More segment updates, replace code in plugins with segment
7275         helper functions.
7276
7277 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7278
7279         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7280         Don't ignore sscanf results
7281
7282 2005-11-21  Andy Wingo  <wingo@pobox.com>
7283
7284         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7285
7286         * *.h:
7287         * *.c: Ran scripts/update-macros. Oh yes.
7288
7289         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7290         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7291         GST_GET_LOCK, etc.
7292
7293         * scripts/update-macros: New script. Run it on your files to
7294         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7295         well.
7296
7297 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7298
7299         * docs/gst/Makefile.am:
7300         * docs/gst/gstreamer-docs.sgml:
7301         * docs/gst/gstreamer-sections.txt:
7302         * docs/gst/gstreamer.types:
7303         * gst/gstinfo.h:
7304           more docs fixes, add new api to the docs
7305
7306 2005-11-21  Andy Wingo  <wingo@pobox.com>
7307
7308         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7309         state_broadcast call.
7310
7311         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7312
7313 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7314
7315         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7316         function calls for arrays.
7317
7318 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7319
7320         * docs/random/ensonic/media-device-daemon.txt:
7321           wild idea, can this be done?
7322         * docs/gst/gstreamer-sections.txt:
7323         * gst/gsterror.h:
7324         * gst/gstfilter.c:
7325         * gst/gstfilter.h:
7326         * gst/gstplugin.h:
7327         * gst/gstpluginfeature.c:
7328         * gst/gsttrace.c:
7329         * gst/gstvalue.c:
7330         * gst/gstvalue.h:
7331           doc fixes and additions
7332
7333 2005-11-21  Andy Wingo  <wingo@pobox.com>
7334
7335         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7336         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7337         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7338         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7339         private to the basesrc implementation.
7340
7341         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7342         behalf of event function if necessary. It should no longer be
7343         necessary to take the stream lock in pad's event functions. Fixes
7344         #320299.
7345
7346 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7347         * docs/gst/gstreamer-sections.txt:
7348         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7349         (gst_structure_fixate_field_nearest_double),
7350         (gst_structure_fixate_field_boolean):
7351         * gst/gststructure.h:
7352         * win32/common/libgstreamer.def:
7353         * win32/gstreamer.def:
7354
7355         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7356         (#322027)
7357
7358 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7359
7360         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7361         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7362         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7363         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7364         (gst_fdsrc_uri_handler_init):
7365         * gst/elements/gstfdsrc.h:
7366           Port fd:// URI handler from 0.8 to fdsrc
7367
7368 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7369
7370         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7371         (gst_value_serialize_fourcc):
7372         * gst/gstvalue.h:
7373           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7374           consistent with our other format defines (#320324).
7375
7376 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7377
7378         * gst/gstvalue.c: (gst_value_is_fixed):
7379           Revert previous commit. Value lists are by definition
7380           not fixed, as they are a list of possible values.
7381
7382 2005-11-21  Andy Wingo  <wingo@pobox.com>
7383
7384         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7385         during the stable series if we need it. Fixes #319178.
7386
7387         * gst/gstevent.c (gst_event_new_filler): Removed.
7388
7389         * check/gst/gstevent.c: Update comment about filler events.
7390
7391 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7392
7393         * gst/gstvalue.c: (gst_value_is_fixed):
7394           Should handle both value arrays and value lists.
7395
7396 2005-11-21  Andy Wingo  <wingo@pobox.com>
7397
7398         patch by: Alessandro Dessina <alessandro nnva org>
7399
7400         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7401         functions to access arrays. Fixes #321962.
7402
7403 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * docs/gst/gstreamer.types:
7406           gst_collectpads_get_type => gst_collect_pads_get_type.
7407           
7408         * gst/base/gstbasetransform.c:
7409           Remove unused SIGNAL_HANDOFF enum.
7410
7411 2005-11-21  Andy Wingo  <wingo@pobox.com>
7412
7413         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7414         the event type (upstream, downstream, serialized). Renamed
7415         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7416         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7417         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7418
7419         * gst/gstevent.c: Update for new CUSTOM event names.
7420
7421         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7422
7423         * gst/gstevent.h:
7424         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7425         bug #319392.
7426
7427 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7428
7429         * docs/gst/gstreamer-sections.txt:
7430         * win32/common/libgstbase.def:
7431         * win32/libgstbase.def:
7432         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7433         (gst_collect_pads_class_init), (gst_collect_pads_init),
7434         (gst_collect_pads_finalize), (gst_collect_pads_new),
7435         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7436         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7437         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7438         (gst_collect_pads_start), (gst_collect_pads_stop),
7439         (gst_collect_pads_peek), (gst_collect_pads_pop),
7440         (gst_collect_pads_available), (gst_collect_pads_read),
7441         (gst_collect_pads_flush), (gst_collect_pads_event),
7442         (gst_collect_pads_chain):
7443         * gst/base/gstcollectpads.h:
7444           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7445           unimplemented functions as unimplemented. Add padding to
7446           GstCollectData. (#320766, #320423)
7447
7448 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7449
7450         * gst/gstmessage.c:
7451           Improve docs for DURATION message (usage of duration parameter)
7452           (#320113)
7453
7454 2005-11-20  Wim Taymans  <wim@fluendo.com>
7455
7456         * check/Makefile.am:
7457         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7458         (main):
7459         * gst/Makefile.am:
7460         * gst/gst.h:
7461         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7462         (gst_segment_set_seek), (gst_segment_set_newsegment),
7463         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7464         (gst_segment_clip):
7465         * gst/gstsegment.h:
7466         Added segment helper structure and methods. Not fully implemented
7467         yet.
7468         Added segment check.
7469
7470 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7471
7472         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7473           Add a deserialisation test for fractions
7474         * examples/metadata/read-metadata.c: (message_loop),
7475         (make_pipeline), (main):
7476           Fix up metadata reading sample.
7477         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7478           Debug format fix
7479         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7480           Don't try and fixate empty caps
7481         * gst/gst_private.h:
7482           Wrap in G_BEGIN_DECLS/G_END_DECLS
7483         * gst/gstvalue.c: (gst_value_collect_fraction),
7484         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7485         (gst_value_transform_string_fraction),
7486         (gst_value_compare_fraction):
7487           Add some extra guards to ensure that we don't end up 
7488           with an invalid denominator of 0 in a gstfraction and
7489           that fractions always get reduced.
7490
7491 2005-11-20  Wim Taymans  <wim@fluendo.com>
7492
7493         * docs/gst/gstreamer-sections.txt:
7494         * gst/gstbuffer.h:
7495         * gst/gstelement.c:
7496         * gst/gstformat.c:
7497         * gst/gstformat.h:
7498         * gst/gstindex.h:
7499         * gst/gstquery.c:
7500         * gst/gstquery.h:
7501         * gst/gstvalue.c:
7502         Doc fixes.
7503
7504 2005-11-20  Wim Taymans  <wim@fluendo.com>
7505
7506         * docs/design/part-TODO.txt:
7507         * gst/gstcaps.h:
7508         Make a proper enum of the flag.
7509
7510 2005-11-19  Wim Taymans  <wim@fluendo.com>
7511
7512         * docs/design/part-TODO.txt:
7513         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7514         (gst_format_to_quark), (gst_format_register):
7515         * gst/gstformat.h:
7516         * gst/gstquery.c: (_gst_query_initialize),
7517         (gst_query_type_get_name), (gst_query_type_to_quark),
7518         (gst_query_type_register):
7519         * gst/gstquery.h:
7520         Add type to quark and type to string conversions.
7521
7522 2005-11-19  Andy Wingo  <wingo@pobox.com>
7523
7524         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7525         #320097.
7526
7527 2005-11-19  Wim Taymans  <wim@fluendo.com>
7528
7529         * docs/design/part-TODO.txt:
7530         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7531         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7532         (gst_bin_handle_message_func):
7533         * gst/gstbin.h:
7534         Make message handling overridable.
7535
7536 2005-11-19  Andy Wingo  <wingo@pobox.com>
7537
7538         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7539
7540         * gst/gstclock.h:
7541         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7542         be a GstClockTime.
7543         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7544         is a GstClockTime. Fixes #321710.
7545
7546         * gst/gstclock.h (GstClock): Remove offset property. Add
7547         internal_calibration and external_calibration. Fix padding. Pad
7548         also by GstClockTime so we don't run into problems.
7549
7550         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7551         (gst_clock_get_rate_offset): Remove.
7552         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7553
7554         * gst/gstutils.h:
7555         * gst/gstutils.c (g_static_rec_cond_wait)
7556         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7557
7558         * gst/gstbin.c: Remove terrible continue_state prototype.
7559
7560         * gst/gstelement.h (gst_element_continue_state): Make public.
7561
7562         * gst/gstelement.h:
7563         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7564         by continue_state. Fixes #319389.
7565
7566         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7567         Really fixes #168438. However I don't see anywhere where the
7568         filter function is called... stupid GStreamer...
7569         
7570         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7571         don't have a dispose function, so it won't get called when the
7572         object is unreffed, but oh well!
7573
7574         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7575         allows a destroy function to be set so user_data can be freed.
7576         Fixes #168438.
7577         (gst_index_set_filter): Call gst_index_set_filter_full.
7578
7579         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7580
7581         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7582         string should produce an error, given the lack of a way to
7583         represent NULL strings. Fixes #165650.
7584         
7585         * gst/gstvalue.h: 
7586         * gst/gstvalue.c (gst_value_array_append_value) 
7587         (gst_value_array_prepend_value, gst_value_array_get_size) 
7588         (gst_value_array_get_value): New API, copied from
7589         gst_value_list_*, only operates on arrays.
7590         (gst_value_list_append_value, gst_value_list_prepend_value) 
7591         (gst_value_list_concat, gst_value_list_get_size) 
7592         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7593
7594         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7595         init_list, because it works on both.
7596         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7597         (gst_value_copy_list_or_array): Renamed from copy_list.
7598         (gst_value_free_list_or_array): Renamed from free_list.
7599         (gst_value_collect_list_or_array): Renamed from collect_list.
7600         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7601         (gst_value_list_or_array_peek_pointer): Renamed from
7602         list_peek_pointer.
7603         (_gst_value_array_value_table, _gst_value_list_value_table):
7604         Update value table functions.
7605         (gst_value_compare_list_or_array): Renamed from compare_list.
7606
7607         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7608         some constness.
7609
7610         * gst/gsttaglist.c:
7611         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7612         GstTagList*. Fixes #143472.
7613
7614         * gst/gststructure.h: Clarify what the foreach/map functions can
7615         or can't do to their arguments.
7616
7617 2005-11-18  Wim Taymans  <wim@fluendo.com>
7618
7619         * gst/gstclock.c: (gst_clock_set_calibration),
7620         (gst_clock_get_calibration):
7621         Doc and API fixes.
7622         Calibration can be set with internal time equal to current
7623         internal time too.
7624
7625 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7626
7627         * gst/gsterror.c:
7628         * gst/gsterror.h:
7629           document
7630
7631 2005-11-18  Andy Wingo  <wingo@pobox.com>
7632
7633         * configure.ac: 
7634         * pkgconfig/gstreamer-net.pc.in:
7635         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7636         * pkgconfig/Makefile.am: Add net pkgconfig files.
7637
7638 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7639
7640         * gst/gstcaps.c:
7641         * gst/gstghostpad.c:
7642         * gst/gsttrace.c:
7643         * gst/gstvalue.c:
7644         * gst/gstvalue.h:
7645           docs fixes
7646
7647 2005-11-18  Andy Wingo  <wingo@pobox.com>
7648
7649         * gst/net/gstnetclientclock.c: Turn off debugging.
7650
7651         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7652         times connverge somewhat. Can't make a real test.
7653
7654         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7655         integer arithmetic. Return the minimum of the domain, which can be
7656         set as "internal" for gst_clock_set_calibration.
7657         (gst_net_client_clock_observe_times): Call _set_calibration.
7658         (gst_net_client_clock_new): Call _set_calibration instead of
7659         rate_offset.
7660
7661         * check/net/gstnetclientclock.c (test_functioning): Use the right
7662         adjustment api.
7663
7664         * gst/gstclock.h:
7665         * gst/gstclock.c (gst_clock_get_calibration) 
7666         (gst_clock_set_calibration): New functions, obsolete the ones I
7667         added yesterday. Doh. Precision issues mean we have to extrapolate
7668         from a point in the more recent past than 1970.
7669         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7670         obsolete.
7671         (gst_clock_adjust_unlocked): Use the right calibration data.
7672
7673 2005-11-18  Edward Hervey  <edward@fluendo.com>
7674
7675         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7676         Also reset the ->current_* values in READY->PAUSED
7677
7678 2005-11-18  Andy Wingo  <wingo@pobox.com>
7679
7680         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7681         Whoops, check the right fd. Also add some debugging.
7682         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7683         (do_linear_regression): Add a crapload of debugging. Subtract off
7684         the minimum values from the input series to discard unneeded bits.
7685         Use only int arithmetic. There is still double arithmetic when
7686         calculating the intercept that needs fixing. Return boolean to
7687         indicate success; FALSE would mean the domain or range is too
7688         great. Still needs fixes.
7689
7690 2005-11-18  Wim Taymans  <wim@fluendo.com>
7691
7692         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7693         For the current position in stream time, we need to subtract
7694         accumulated time.
7695         
7696         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7697         Release lock before calling the callback function of async
7698         entries.
7699
7700 2005-11-18  Andy Wingo  <wingo@pobox.com>
7701
7702         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7703         Port goes all the way to MAXUINT16.
7704
7705         * gst/net/gstnettimeprovider.c: Make the port range the same as
7706         for the kernel: 0 assigns, otherwise ports are less than
7707         MAXUINT16.
7708
7709         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7710         port change.
7711
7712         * check/net/gstnetclientclock.c (test_functioning): Add the start
7713         of another test. 
7714
7715 2005-11-18  Wim Taymans  <wim@fluendo.com>
7716
7717         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7718         (gst_bin_remove_func), (bin_bus_handler):
7719         * gst/gstbin.h:
7720         Removing a clock provider from a bin, triggers a clock lost message
7721         so that a new clock will be selected.
7722         Adding a clock to a bin triggers a clock provider message.
7723         Make sure we reselect a clock when we received a clock lost message.
7724         Keep a reference to the element that provided the clock.
7725
7726 2005-11-18  Andy Wingo  <wingo@pobox.com>
7727
7728         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7729         the clock initially so it produces values around the base time.
7730         (gst_net_client_clock_class_init): Typo fix.
7731         (gst_net_client_clock_thread): Add note on when the socket gets
7732         closed.
7733
7734 2005-11-17  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7737         Free remote and local time arrays.
7738
7739 2005-11-17  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/net/gstnetclientclock.c: (do_linear_regression),
7742         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7743         Fix compilation, uninitialized vars and a forgotten continue.
7744
7745 2005-11-17  Andy Wingo  <wingo@pobox.com>
7746
7747         * check/Makefile.am (check_PROGRAMS): 
7748         * check/net/gstnetclientclock.c: Add a most minimal test for the
7749         net client clock. More to come later.
7750
7751         * gst/net/gstnet.h: 
7752         * gst/net/Makefile.am: Add netclientclock.
7753
7754         * gst/net/gstnetclientclock.h:
7755         * gst/net/gstnetclientclock.c: New files, implement an untested
7756         GstClock that takes its time from a network time provider.
7757         Implements the algorithm in network-clock.scm.
7758
7759         * tests/network-clock.scm (*window-size*): Rename from
7760         *queue-length*.
7761         * tests/network-clock.scm (network-time): 
7762         * tests/network-clock-utils.scm (q-push): Update callers.
7763
7764 2005-11-17  Wim Taymans  <wim@fluendo.com>
7765
7766         * gst/gstbin.c: (gst_bin_provide_clock_func),
7767         (gst_bin_sort_iterator_new):
7768         And unref the child too..
7769
7770 2005-11-17  Wim Taymans  <wim@fluendo.com>
7771
7772         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7773         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7774         Refactor the sort iterator so it can be used while holding the
7775         LOCK too.
7776         Make clock selection select a clock closest to the source.
7777
7778 2005-11-17  Michael Smith <msmith@fluendo.com>
7779
7780         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7781         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7782         * gst/gstclock.h:
7783           Anonymous structs are a gcc (and some other compilers) extension, so
7784           don't use them. Since this is only for ABI-compatibility, and our
7785           API/ABI freeze is over in a few days, this whole thing will only
7786           last a few days, so don't bother trying to think up a meaningful
7787           name for the struct.
7788
7789 2005-11-17  Andy Wingo  <wingo@pobox.com>
7790
7791         * gst/gstclock.h (GstClock): Add rate and offset properties,
7792         preserving ABI stability. Add rate/offset accessors. Will file bug
7793         for the freeze break.
7794
7795         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7796         and offset, trying to keep precision and avoiding
7797         underflow/overflow.
7798         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7799         functions. Make gst_clock_set_time_adjust obsolete.
7800         (gst_clock_set_time_adjust): Note that this function is obsolete.
7801         Will file bug soon.
7802
7803         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7804         greppable by using GST_PADDING-1+1.
7805
7806 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7807
7808         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7809
7810         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7811           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7812
7813         * gst/gstpadtemplate.h:
7814         * gst/gstpluginfeature.h:
7815           Don't use c++ style comments in headers (#321638).
7816
7817 2005-11-16  Andy Wingo  <wingo@pobox.com>
7818
7819         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7820         buffer.
7821
7822         * check/net/gstnettimeprovider.c: Check to see that the time
7823         provider actually provides times. Works, yo!
7824
7825 2005-11-16  Wim Taymans  <wim@fluendo.com>
7826
7827         * check/Makefile.am:
7828         Enable more tests.
7829
7830         * check/elements/fakesrc.c: (GST_START_TEST):
7831         Set element to NULL before disposing it.
7832
7833 2005-11-16  Andy Wingo  <wingo@pobox.com>
7834
7835         * gst/net/Makefile.am:
7836         * gst/net/gstnet.h:
7837         * gst/net/gstnettimeprovider.c: 
7838         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7839         provider, include it from gstnet.h, and add it to the build.
7840
7841         * gst/net/gstnettimepacket.h: 
7842         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7843         sending and receiving.
7844
7845 2005-11-16  Wim Taymans  <wim@fluendo.com>
7846
7847         * check/Makefile.am:
7848         Enable valgrind check.
7849
7850         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7851         (gst_fake_src_alloc_buffer):
7852         Fix memleak.
7853
7854 2005-11-16  Wim Taymans  <wim@fluendo.com>
7855
7856         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7857         Call parent finalize too.
7858
7859 2005-11-16  Wim Taymans  <wim@fluendo.com>
7860
7861         * check/Makefile.am:
7862         Enable valgrind check that should work fine now.
7863
7864         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7865         * gst/gstqueue.c: (gst_queue_init):
7866         Fix memleaks in pad allocation.
7867
7868 2005-11-16  Andy Wingo  <wingo@pobox.com>
7869
7870         * gst/net/Makefile.am:
7871         * gst/net/gstnet.h: New part of core to hold network elements and
7872         objects. Put in core because it exposes API that applications want
7873         to use. The library is named libgstnet-tempname right now because
7874         of the existing libgstnet in gst-plugins-base. Solution is
7875         probably to rename the one in plugins-base; will file a bug for
7876         the freeze break.
7877
7878         * gst/net/gstnettimeprovider.c: 
7879         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7880         get_time call over the network.
7881
7882         * configure.ac: 
7883         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7884
7885         * check/Makefile.am:
7886         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7887         get additions shortly.
7888
7889 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * gst/gstpad.c: (gst_pad_new_from_static_template):
7892         * gst/gstpad.h:
7893           add gst_pad_new_from_static_template functions
7894         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7895         (gst_check_setup_sink_pad):
7896         * gst/elements/gsttee.c: (gst_tee_init):
7897           and use them
7898
7899 2005-11-16  Wim Taymans  <wim@fluendo.com>
7900
7901         * gst/gstpad.c: (gst_pad_pause_task):
7902         Removed warning, it's not really an error either.
7903
7904 2005-11-16  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/base/gstbasetransform.c:
7907         (gst_base_transform_prepare_output_buf),
7908         (gst_base_transform_event):
7909         Check if the caps are NULL, this can happen if the element
7910         is shutting down and the pad caps are set to NULL.
7911
7912 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * gst/elements/gsttee.c: (gst_tee_init):
7915           fix pad template leak in tee
7916
7917 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7918
7919         * gst/glib-compat.c: (g_value_dup_gst_object):
7920         * gst/glib-compat.h:
7921         * gst/gstpad.c: (gst_pad_set_property):
7922           use gst_object_ref when setting the pad template; this will
7923           trigger the pad template leaks on GLib 2.6 and the slaves
7924
7925 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * gst/glib-compat.c: (gst_flags_get_first_value):
7928         * gst/glib-compat.h:
7929         * gst/gstregistryxml.c:
7930           remove functions copied from GLib 2.6
7931
7932 2005-11-16  Michael Smith <msmith@fluendo.com>
7933
7934         * gst/Makefile.am:
7935           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7936           do, but only breaks with newer valgrind versions. We're not a
7937           valgrind tool, we have no link-time dependencies on libcoregrind.
7938
7939 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7940
7941         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7942           some debug changes
7943         * gst/gstmessage.h:
7944           typo fixes
7945
7946 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7947
7948         * gst/base/gstbasesrc.c: (gst_base_src_init):
7949         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7950         * gst/gstqueue.c: (gst_queue_init):
7951         * gst/gstregistryxml.c: (load_feature):
7952           Revert all these unrefs, they don't even pass make check !
7953
7954 2005-11-15  Johan Dahlin  <johan@gnome.org>
7955
7956         * gst/base/gstbasesrc.c: (gst_base_src_init):
7957         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7958         * gst/gstqueue.c: (gst_queue_init): 
7959         Free pad templates, fixes a couple of leaks.
7960
7961 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7962
7963         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7964
7965         * gst/gstpad.c: (gst_pad_get_property):
7966           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7967           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7968           (#321452)
7969
7970 2005-11-15  Wim Taymans  <wim@fluendo.com>
7971
7972         * gst/gstevent.c:
7973         Small doc update.
7974
7975 2005-11-15  Andy Wingo  <wingo@pobox.com>
7976
7977         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7978
7979         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7980         using GST_CLOCK_TIME_NONE to disable base time management.
7981         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7982         time if it was NONE before.
7983         (gst_pipeline_change_state): Only munge the base time if
7984         stream_time != GST_CLOCK_TIME_NONE.
7985
7986         * check/gst/gstpipeline.c (test_base_time): Punt around the
7987         problem of the probe not being called, because that's not the
7988         issue I'm looking at. Add a check that setting stream_time to NONE
7989         disables base time management.
7990         
7991 2005-11-15  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7994         segment_stop == -1 at startup.
7995
7996         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7997         (gst_base_transform_change_state):
7998         Init segment values at start.
7999
8000 2005-11-15  Wim Taymans  <wim@fluendo.com>
8001
8002         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8003         0 segment values are 0 in any format.
8004
8005         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8006         * gst/base/gstbasetransform.h:
8007         Parse newsegment correctly in basetransform
8008
8009         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8010         Sync to clock using updated segment values.
8011
8012 2005-11-15  Andy Wingo  <wingo@pobox.com>
8013
8014         * check/gst/gstpipeline.c (test_base_time): Add check that the
8015         base time and stream time are reset correctly.
8016
8017 2005-11-15  Wim Taymans  <wim@fluendo.com>
8018
8019         * docs/design/part-TODO.txt:
8020         Some more TODO items.
8021
8022 2005-11-15  Andy Wingo  <wingo@pobox.com>
8023
8024         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8025         error if the user selected "no clock" as the clocking method.
8026
8027         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8028         timestamps with live capture.
8029
8030         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8031         is 0 but we are a live source, timestamp the buffers using the
8032         element's clock.
8033
8034 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8035
8036         * docs/gst/gstreamer-sections.txt:
8037         * gst/gsterror.c:
8038         * gst/gstghostpad.c:
8039         * gst/gstobject.h:
8040         * gst/gstxml.c:
8041           more section docs
8042
8043 2005-11-14  Wim Taymans  <wim@fluendo.com>
8044
8045         * common/gst.supp:
8046           add suppressions from Wim's Debian machine
8047
8048 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8049
8050         * common/gst.supp:
8051           add suppressions from Andy's AMD64 Ubuntu machine
8052
8053 2005-11-14  Andy Wingo  <wingo@pobox.com>
8054
8055         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8056         STATE_LOCK not necessary. Fixes #311489.
8057
8058         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8059         #305291.
8060
8061         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8062         this function is not implemented.
8063
8064 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8065
8066         * gst/base/gstbasetransform.c:
8067         (gst_base_transform_prepare_output_buf):
8068         Ref the source pad caps while we need them.
8069         Fixes (#321386)
8070
8071 2005-11-11  Wim Taymans  <wim@fluendo.com>
8072
8073         * docs/gst/gstreamer-sections.txt:
8074         Added some docs for GstCollectData.
8075
8076         * gst/base/gstadapter.c:
8077         Some small code example fix.
8078
8079         * gst/base/gstcollectpads.c:
8080         * gst/base/gstcollectpads.h:
8081         Document some more.
8082
8083 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * configure.ac: back to HEAD
8086
8087 === release 0.9.5 ===
8088
8089 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8090
8091         * configure.ac:
8092           releasing 0.9.5, "Bike Lunch Day"
8093
8094 2005-11-11  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/gstbuffer.c: (_gst_buffer_copy):
8097         Copy more flags.
8098
8099         * gst/gstcaps.c: (gst_caps_is_equal):
8100         Fix some docs.
8101         Make _is_equal fast in the trivial cases.
8102
8103         * gst/gstminiobject.c:
8104         * gst/gstminiobject.h:
8105         More docs. Spifify .h file.
8106
8107         * gst/gstutils.c:
8108         Small doc update.
8109
8110 2005-11-11  Wim Taymans  <wim@fluendo.com>
8111
8112         * gst/base/gstbasetransform.c:
8113         (gst_base_transform_prepare_output_buf),
8114         (gst_base_transform_handle_buffer):
8115         Small cleanups.
8116         If we're processing a buffer and need to allocate an output
8117         buffer, we cannot accept a format change. If we did get a 
8118         format change, we have to alloc a buffer ourselves of the 
8119         right size.
8120
8121 2005-11-11  Wim Taymans  <wim@fluendo.com>
8122
8123         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8124         While checking the flag for reentrancy in the gstcaps function
8125         is nice to detect recursive invocations, it also makes it 
8126         impossible to call getcaps from multiple threads, which must be
8127         possible. So, checking for recursive calls has to go.
8128
8129 2005-11-11  Michael Smith <msmith@fluendo.com>
8130
8131         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8132           Don't sync on buffers that fall partially outside our current
8133           segment. Prevents an assertion failure/abort playing some files.
8134
8135 2005-11-10  Andy Wingo  <wingo@pobox.com>
8136
8137         * check/gst/gstbin.c (test_message_state_changed_children): Style
8138         fix..
8139
8140         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8141         gst_bus_poll with the signal watch. Ensures that poll and a signal
8142         watch see the same messages.
8143
8144         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8145         a poll and a watch at the same time get the same messages.
8146
8147 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8148
8149         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8150         * gst/gstcaps.c: (gst_caps_intersect):
8151           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8152           and it's not needed.
8153
8154 2005-11-10  Wim Taymans  <wim@fluendo.com>
8155
8156         * docs/design/part-TODO.txt:
8157         Updated todo.
8158
8159 2005-11-10  Wim Taymans  <wim@fluendo.com>
8160
8161         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8162         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8163         (gst_base_src_do_sync), (gst_base_src_get_range):
8164         Implement clock sync in base class.
8165
8166 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8167
8168         patch by: Tim-Philipp Müller <tim at centricular dot net>
8169
8170         * gst/gststructure.c: (gst_structure_parse_field),
8171         (gst_structure_from_string):
8172           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8173           so that gst_parse_launch() can deal with spaces in filtered link
8174           caps (fixes #164479)
8175         * check/gst/capslist.h:
8176         * check/gst/gststructure.c: (GST_START_TEST):
8177           add unit tests for this change
8178
8179 2005-11-10  Wim Taymans  <wim@fluendo.com>
8180
8181         * docs/gst/gstreamer-sections.txt:
8182         * gst/gstelement.c:
8183         * gst/gstelement.h:
8184         Fix docs, move some STATE macros to private.
8185
8186 2005-11-10  Wim Taymans  <wim@fluendo.com>
8187
8188         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8189         Added check for bug #317341
8190
8191         * gst/gstbuffer.c:
8192         * gst/gstbuffer.h:
8193         Some more spiffifying.
8194
8195         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8196         Call peer linkfunction if we are a source pad. Totally fixes
8197         #317341
8198
8199         * gst/gstpad.c:
8200         Update docs, source pads should call the peer linkfunction
8201         so they can atomically perform the pad link.
8202
8203 2005-11-09  Wim Taymans  <wim@fluendo.com>
8204
8205         * gst/gstbuffer.c:
8206         * gst/gstbuffer.h:
8207         Uber-spiffy-spiffify some more.
8208
8209 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8210
8211         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8212         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8213         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8214         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8215         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8216         * gst/gstpad.c: (gst_pad_init):
8217           Use GST_DEBUG_FUNCPTR() more extensively.
8218
8219 2005-11-09  Wim Taymans  <wim@fluendo.com>
8220
8221         * gst/gstobject.c: (gst_object_class_init):
8222         * gst/gstobject.h:
8223         Documentation fixes.
8224
8225 2005-11-09  Edward Hervey  <edward@fluendo.com>
8226
8227         * gst/gsttypefindfactory.c:
8228         Fix docs.
8229         
8230 2005-11-09  Edward Hervey  <edward@fluendo.com>
8231
8232         * gst/base/gsttypefindhelper.c:
8233         * gst/gsttypefind.c:
8234         * gst/gsttypefind.h:
8235         Fix docs.
8236
8237 2005-11-09  Wim Taymans  <wim@fluendo.com>
8238
8239         * gst/gstiterator.c:
8240         Fix revision data.
8241
8242         * gst/gsttask.c:
8243         * gst/gsttask.h:
8244         Fix docs.
8245
8246 2005-11-09  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/gstevent.h:
8249         * gst/gsturi.h:
8250         Fix docs.
8251
8252 2005-11-09  Wim Taymans  <wim@fluendo.com>
8253
8254         * docs/gst/gstreamer-sections.txt:
8255         Moved the message async delivery private lock and cond
8256         to the private section.
8257
8258         * gst/gstmessage.c:
8259         * gst/gstmessage.h:
8260         Fixed docs.
8261
8262 2005-11-09  Edward Hervey  <edward@fluendo.com>
8263
8264         * docs/gst/gstreamer-sections.txt:
8265         * gst/gsturi.c:
8266         * gst/gsturi.h:
8267         Document GstURIHandler
8268
8269 2005-11-09  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8272         (gst_iterator_find_custom):
8273         * gst/gstiterator.h:
8274         Fix iterator docs.
8275
8276 2005-11-09  Wim Taymans  <wim@fluendo.com>
8277
8278         * gst/gstbin.h:
8279         Document another field.
8280
8281         * gst/gststructure.c:
8282         * gst/gststructure.h:
8283         Document.
8284
8285 2005-11-09  Wim Taymans  <wim@fluendo.com>
8286
8287         * gst/gstbin.h:
8288         Documented structs.
8289
8290 2005-11-09  Wim Taymans  <wim@fluendo.com>
8291
8292         * docs/gst/gstreamer-sections.txt:
8293         Added some new macros.
8294
8295         * gst/gstclock.c:
8296         * gst/gstclock.h:
8297         * gst/gstobject.h:
8298         Docs updates.
8299
8300 2005-11-09  Wim Taymans  <wim@fluendo.com>
8301
8302         * docs/design/part-TODO.txt:
8303         Some more items for the TODO
8304
8305         * gst/gstcaps.c:
8306         * gst/gstcaps.h:
8307         Document GstCaps.
8308
8309 2005-11-09  Andy Wingo  <wingo@pobox.com>
8310
8311         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8312         to work on something else now tho...
8313
8314         * gst/base/gstadapter.c: More adapter docs.
8315
8316         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8317         (gst_file_sink_stop): New functions, replace the state change
8318         handler.
8319         (gst_file_sink_class_init): Hook up the start and stop functions.
8320         (gst_file_sink_base_init): Don't set the state change handler any
8321         more. It was a bit ugly too, being set from here...
8322         (gst_file_sink_get_property, gst_file_sink_set_property):
8323         Cleanups...
8324         (gst_file_sink_set_location): More robust check that doesn't call
8325         GST_STATE. Ugggggg.
8326
8327 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8328
8329         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8330           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8331
8332 2005-11-08  Wim Taymans  <wim@fluendo.com>
8333
8334         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8335         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8336         (gst_base_sink_chain), (gst_base_sink_change_state):
8337         * gst/base/gstbasesink.h:
8338         * gst/base/gstbasesrc.h:
8339         * gst/gstelement.h:
8340         * gst/gstevent.h:
8341         Avoid excessive typechecking in macros.
8342
8343         * gst/gstminiobject.c: (gst_mini_object_get_type),
8344         (gst_mini_object_init), (gst_mini_object_new),
8345         (gst_mini_object_free):
8346         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8347         (gst_object_finalize):
8348         Remove cruft code, optimize alloc_trace.
8349
8350 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * docs/faq/gst-uninstalled:
8353           fix up PS1 for systems that try to reset it
8354
8355 2005-11-07  Wim Taymans  <wim@fluendo.com>
8356
8357         * gst/base/gstbasesrc.c: (gst_base_src_init),
8358         (gst_base_src_get_range):
8359         Set the segment_end to -1 initially. Fixed typefind.
8360
8361 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8362
8363         * gst/base/gstadapter.c:
8364           Debug category should be 'adapter', not 'GstAdapter'.
8365           
8366         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8367         (gst_collectpads_class_init), (gst_collectpads_init),
8368         (gst_collectpads_peek), (gst_collectpads_pop),
8369         (gst_collectpads_event), (gst_collectpads_chain):
8370           Add debug category and some debugging output. Use boilerplate
8371           macros. Remove some extraneous words from docs.
8372
8373 2005-11-05  Andy Wingo  <wingo@pobox.com>
8374
8375         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8376         macro.
8377
8378 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8379
8380         * docs/gst/gstreamer-sections.txt:
8381         * gst/gstcaps.h:
8382         * gst/gstinfo.c:
8383         * gst/gstminiobject.h:
8384         * gst/gstobject.h:
8385         * gst/gstutils.h:
8386           more docs added
8387
8388 2005-11-04  Wim Taymans  <wim@fluendo.com>
8389
8390         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8391         Small update to stop at the configured segment_end
8392         position.
8393
8394 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8395
8396         * gst/gstregistry.c:
8397         * gst/gstregistry.h:
8398           added missing docs
8399
8400 2005-11-04  Edward Hervey  <edward@fluendo.com>
8401
8402         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8403         Check if we are doing a segment seek and have arrived at the
8404         end of that segment.
8405
8406 2005-11-04  Wim Taymans  <wim@fluendo.com>
8407
8408         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8409         Don't leak a mutex unlock in case of an error.
8410
8411         * gst/gstbus.h:
8412         Doc fixes.
8413
8414 2005-11-04  Wim Taymans  <wim@fluendo.com>
8415
8416         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8417         (gst_bus_post):
8418         Get the context to wake up only once.
8419
8420 2005-11-03  Wim Taymans  <wim@fluendo.com>
8421
8422         * check/states/sinks.c: (GST_START_TEST):
8423         Uncomment fixed check.
8424
8425         * docs/design/part-TODO.txt:
8426         Updated TODO.
8427
8428         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8429         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8430         (gst_base_sink_get_position):
8431         If we are going to PLAYING, post the right pending state
8432         when we post the intermediate paused message.
8433
8434         * gst/gstelement.c: (gst_element_continue_state),
8435         (gst_element_set_state_func), (gst_element_change_state):
8436         Don't post state changes that were between the same state
8437         and were not ASYNC.
8438
8439 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8440
8441         * docs/gst/gstreamer-sections.txt:
8442         * gst/gstcaps.h:
8443         * gst/gstinfo.c:
8444         * gst/gstminiobject.h:
8445         * gst/gstobject.h:
8446         * gst/gstutils.h:
8447           more docs and doc style fixes
8448
8449 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8450
8451         * docs/gst/gstreamer-sections.txt:
8452         * gst/gstelement.c:
8453         * gst/gstminiobject.c:
8454         doc fixes
8455
8456 2005-11-03  Andy Wingo  <wingo@pobox.com>
8457
8458         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8459         state-changed messages actually have the right order and the right
8460         values.
8461
8462 2005-11-03  Wim Taymans  <wim@fluendo.com>
8463
8464         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8465         Added some more checks. Specifically the case where NO_PREROLL
8466         elements are in the pipeline.
8467
8468         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8469         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8470         (gst_base_sink_get_position):
8471         Post READY->PAUSED state change messages too.
8472         Fix bug where VOID was posted as pending state...
8473
8474         * gst/gstbin.c: (gst_bin_recalc_state):
8475         use _element_continue_state() to continue the state change.
8476
8477         * gst/gstelement.c: (gst_element_continue_state),
8478         (gst_element_commit_state), (gst_element_set_state_func),
8479         (gst_element_change_state), (gst_element_change_state_func):
8480         Lots of state change cleanups, assign the STATE_RETURN in
8481         a new continue_state() function that also propagates the
8482         last return value from a state change to the app.
8483         Update some debug statements with proper category.
8484
8485 2005-11-03  Wim Taymans  <wim@fluendo.com>
8486
8487         * docs/design/part-events.txt:
8488         * docs/design/part-gstpipeline.txt:
8489         * docs/design/part-messages.txt:
8490         * docs/design/part-overview.txt:
8491         * docs/design/part-seeking.txt:
8492         * docs/design/part-states.txt:
8493         * docs/design/part-trickmodes.txt:
8494         * docs/manual/advanced-position.xml:
8495         Small docs updates.
8496
8497         * gst/gstobject.h:
8498         People think !! is ugly, this looks better.
8499
8500         * gst/gstpad.c: (gst_pad_set_blocked_async):
8501         Remove !! since it's fixed elsewhere now.
8502
8503 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * gst/gstminiobject.h:
8506         * gst/gstobject.h:
8507           Add !! to _FLAG_IS_SET macros to make the result boolean.
8508
8509 2005-11-03  Edward Hervey  <edward@fluendo.com>
8510
8511         * gst/gstpad.c: (gst_pad_set_blocked_async):
8512         comparing a flag and a gboolean rarely returns coherent results...
8513         Added two characters (!!) to make that work correctly.
8514         
8515 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8516
8517         * gst/gstbus.c: (gst_bus_class_init):
8518           Fix some typos.
8519           
8520         * gst/gstqueue.c: (gst_queue_loop):
8521           Don't assume a miniobject that isn't a buffer is an
8522           event (it could be that there is a refcounting
8523           problem somewhere and the pointer is stale and
8524           refers to an already destroyed miniobject).
8525
8526 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8527
8528         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8529
8530 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * docs/manual/advanced-position.xml:
8533           Update seek example and explanations to current 0.9 API.
8534
8535         * gst/elements/gsttypefindelement.c:
8536         (gst_type_find_element_activate):
8537           Remove FIXME comment now that the found caps
8538           are unreffed.
8539
8540 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8541
8542         * gst/gstregistryxml.c: (load_feature):
8543           Add another GST_STR_NULL instance
8544
8545 2005-11-02  Edward Hervey  <edward@fluendo.com>
8546
8547         * gst/gstpad.c: (handle_pad_block):
8548         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8549         
8550 2005-11-02  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/gstbin.c:
8553         Fix typo in docs.
8554
8555         * gst/gstelement.c: (gst_element_commit_state):
8556         Remove unused value.
8557
8558         * gst/gstiterator.c:
8559         Mention that the returned element is reffed in the docs.
8560
8561 2005-11-02  Wim Taymans  <wim@fluendo.com>
8562
8563         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8564         (gst_pad_push), (gst_pad_push_event):
8565         Unlock blocked pads when they are flushed.
8566
8567 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * docs/README:
8570         * docs/gst/gstreamer-sections.txt:
8571         * gst/gstbin.c:
8572           doc updates
8573         * gst/gstregistry.c: (gst_registry_scan_path_level):
8574           fix for a nasty little missed situation where an installed plug-in
8575           which was in the cache did not get overridden by an uninstalled one
8576           which was earlier in the plugin path because the newly created plugin
8577           for the uninstalled one (not in the registry) didn't get its
8578           ->registered set to TRUE
8579
8580 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8581
8582         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8583         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8584         (gst_collectpads_is_active), (gst_collectpads_collect),
8585         (gst_collectpads_collect_range), (gst_collectpads_start),
8586         (gst_collectpads_stop), (gst_collectpads_peek),
8587         (gst_collectpads_pop), (gst_collectpads_available),
8588         (gst_collectpads_read), (gst_collectpads_flush):
8589           Guard public API with assertions.
8590         
8591         * gst/gstpad.c:
8592           Fix docs for gst_pad_set_link_function().
8593
8594 2005-11-02  Johan Dahlin  <johan@gnome.org>
8595
8596         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8597         Unref found_caps after we used it.
8598
8599 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8600
8601         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8602           Don't try to ref NULL.
8603
8604 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * win32/common/config.h.in:
8607           provide a GST_FUNCTION that just gives a string for now
8608
8609 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8610
8611         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8612         (gst_object_flags_get_type), (register_gst_bin_flags),
8613         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8614         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8615         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8616         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8617         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8618         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8619         (gst_clock_flags_get_type), (register_gst_state),
8620         (gst_state_get_type), (register_gst_state_change_return),
8621         (gst_state_change_return_get_type), (register_gst_state_change),
8622         (gst_state_change_get_type), (register_gst_element_flags),
8623         (gst_element_flags_get_type), (register_gst_core_error),
8624         (gst_core_error_get_type), (register_gst_library_error),
8625         (gst_library_error_get_type), (register_gst_resource_error),
8626         (gst_resource_error_get_type), (register_gst_stream_error),
8627         (gst_stream_error_get_type), (register_gst_event_type),
8628         (gst_event_type_get_type), (register_gst_seek_type),
8629         (gst_seek_type_get_type), (register_gst_seek_flags),
8630         (gst_seek_flags_get_type), (register_gst_format),
8631         (gst_format_get_type), (register_gst_index_certainty),
8632         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8633         (gst_index_entry_type_get_type),
8634         (register_gst_index_lookup_method),
8635         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8636         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8637         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8638         (gst_index_flags_get_type), (register_gst_debug_level),
8639         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8640         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8641         (gst_iterator_result_get_type), (register_gst_iterator_item),
8642         (gst_iterator_item_get_type), (register_gst_message_type),
8643         (gst_message_type_get_type), (register_gst_mini_object_flags),
8644         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8645         (gst_pad_link_return_get_type), (register_gst_flow_return),
8646         (gst_flow_return_get_type), (register_gst_activate_mode),
8647         (gst_activate_mode_get_type), (register_gst_pad_direction),
8648         (gst_pad_direction_get_type), (register_gst_pad_flags),
8649         (gst_pad_flags_get_type), (register_gst_pad_presence),
8650         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8651         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8652         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8653         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8654         (gst_plugin_flags_get_type), (register_gst_rank),
8655         (gst_rank_get_type), (register_gst_query_type),
8656         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8657         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8658         (gst_tag_flag_get_type), (register_gst_task_state),
8659         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8660         (gst_alloc_trace_flags_get_type),
8661         (register_gst_type_find_probability),
8662         (gst_type_find_probability_get_type), (register_gst_uri_type),
8663         (gst_uri_type_get_type), (register_gst_parse_error),
8664         (gst_parse_error_get_type):
8665         * win32/common/gstversion.h:
8666           update win32 copies
8667
8668 2005-11-01  Luca Ognibene  <luogni@tin.it>
8669
8670         * gst/gst.c:
8671           fix docs. popt is dead, long live GOption.
8672
8673 2005-10-31  Wim Taymans  <wim@fluendo.com>
8674
8675         * gst/gstbuffer.h:
8676         Small doc fix.
8677
8678 2005-10-31  Andy Wingo  <wingo@pobox.com>
8679
8680         * Boo!
8681
8682         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8683
8684         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8685         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8686         the possibility of deadlocks here if code calling notify() or
8687         set() has a lock that can be taken in another notify handler (ABBA
8688         with class lock and e.g. python GIL state lock).
8689
8690 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8691
8692         * gst/gstbus.c: Doc updates.
8693
8694 2005-10-28  Wim Taymans  <wim@fluendo.com>
8695
8696         * docs/design/part-TODO.txt:
8697         * gst/gstiterator.c:
8698         * gst/gstsystemclock.c:
8699         * gst/gstsystemclock.h:
8700         Doc updates.
8701
8702 2005-10-28  Edward Hervey  <edward@fluendo.com>
8703
8704         * docs/gst/gstreamer-docs.sgml:
8705         * docs/gst/gstreamer-sections.txt:
8706         the GstURIType documentation page is private, it only defines GstURIType
8707         which should be defined in the GstURIHandler page
8708         
8709 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8710
8711         * gst/gstbin.c: (gst_bin_class_init):
8712         * gst/gstbin.h:
8713         * gst/gstutils.c:
8714         Documentation updates.
8715
8716 2005-10-28  Wim Taymans  <wim@fluendo.com>
8717
8718         * docs/gst/gstreamer-sections.txt:
8719         * gst/gstclock.c:
8720         * gst/gstclock.h:
8721         Documented the clocks.
8722
8723 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8724
8725         * docs/gst/gstreamer-sections.txt:
8726           move some macros to private sections
8727         * gst/gstminiobject.c:
8728         * gst/gstminiobject.h:
8729           add descriptions provided by ds and some more
8730         * gst/gstpad.h:
8731           mark macro as to be removed
8732
8733 2005-10-28  Wim Taymans  <wim@fluendo.com>
8734
8735         * docs/design/part-TODO.txt:
8736         Add an item to TODO.
8737
8738         * gst/gstiterator.c: (gst_iterator_fold),
8739         (gst_iterator_find_custom):
8740         * gst/gstiterator.h:
8741         Add iterator docs.
8742
8743 2005-10-28  Wim Taymans  <wim@fluendo.com>
8744
8745         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8746         (gst_base_transform_init):
8747         Don't leak class.
8748
8749         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8750         An EOS event marks the queue as completely filled.
8751
8752 2005-10-27  Wim Taymans  <wim@fluendo.com>
8753
8754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8755         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8756         Some more debugging.
8757
8758         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8759         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8760         (gst_base_transform_event), (gst_base_transform_getrange),
8761         (gst_base_transform_chain):
8762         * gst/base/gstbasetransform.h:
8763         Fix debugging,
8764         Protect transform and concurrent buffer alloc with a new lock.
8765         Try not to break ABI/API.
8766
8767 2005-10-27  Wim Taymans  <wim@fluendo.com>
8768
8769         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8770         (gst_base_src_init), (gst_base_src_query),
8771         (gst_base_src_default_newsegment),
8772         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8773         (gst_base_src_send_event), (gst_base_src_event_handler),
8774         (gst_base_src_pad_get_range), (gst_base_src_loop),
8775         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8776         (gst_base_src_start), (gst_base_src_deactivate),
8777         (gst_base_src_activate_push), (gst_base_src_change_state):
8778         Move some stuff around and cleanup things.
8779
8780 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8781
8782         * gst/base/gstbasesrc.c: (gst_base_src_query):
8783           Add missing break statements.
8784
8785 2005-10-27  Wim Taymans  <wim@fluendo.com>
8786
8787         * check/gst/gstbin.c: (GST_START_TEST):
8788         An extra refcount is taken in basesrc.
8789
8790         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8791         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8792         (gst_base_src_loop):
8793         Small cleanups, check for flushing after being unlocked from the 
8794         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8795         Don't send out EOS when going to READY.
8796
8797 2005-10-27  Wim Taymans  <wim@fluendo.com>
8798
8799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8800         (gst_base_sink_get_position):
8801         Some more debug.
8802
8803         * gst/gstbin.c: (message_check), (bin_replace_message),
8804         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8805         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8806         (bin_query_duration_init), (bin_query_duration_fold),
8807         (bin_query_duration_done), (bin_query_generic_fold),
8808         (gst_bin_query):
8809         * tools/gst-launch.c: (main):
8810         Remove old option.
8811
8812 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * examples/controller/audio-example.c: (main):
8815         * examples/queue/queue.c: (event_loop):
8816         * gst/base/gstbasetransform.h:
8817         * gst/gstelement.c: (gst_element_send_event):
8818         * gst/gstevent.h:
8819         * gst/gstpad.c: (gst_pad_send_event):
8820           fixing examples
8821           fixing docs typos
8822           changing log priority in error situations
8823
8824 2005-10-25  Wim Taymans  <wim@fluendo.com>
8825
8826         * gst/gstbin.c: (message_check), (bin_replace_message),
8827         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8828         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8829         (bin_query_duration_init), (bin_query_duration_fold),
8830         (bin_query_duration_done), (bin_query_generic_fold),
8831         (gst_bin_query):
8832         Some doc and debug updates.
8833         Cache previously requested query DURATION for speed. invalidate
8834         cached duration if element posts a DURATION message.
8835
8836 2005-10-25  Wim Taymans  <wim@fluendo.com>
8837
8838         * docs/design/part-TODO.txt:
8839         Update TODO.
8840
8841         * gst/gstbin.c: (message_check), (bin_replace_message),
8842         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8843         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8844         (bin_query_duration_init), (bin_query_duration_fold),
8845         (bin_query_duration_done), (bin_query_generic_fold),
8846         (gst_bin_query):
8847         Handle SEGMENT_START/DONE messages correctly.
8848         More evolved query algorithm that handles duration queries
8849         correctly.
8850
8851         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8852         (gst_element_get_state_func), (gst_element_abort_state),
8853         (gst_element_commit_state), (gst_element_lost_state):
8854         Some more debugging.
8855
8856         * gst/gstmessage.h:
8857         Added doc.
8858
8859 2005-10-25  Wim Taymans  <wim@fluendo.com>
8860
8861         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8862         Don't use invalid stream_time.
8863
8864         * gst/gstevent.c: (gst_event_new_newsegment):
8865         stream_time in newsegment cannot be undefined.
8866
8867 2005-10-24  Wim Taymans  <wim@fluendo.com>
8868
8869         * gst/gstbus.c:
8870         Doc fix.
8871
8872         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8873         (gst_queue_loop):
8874         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8875
8876 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8877
8878         * docs/libs/tmpl/gstdparam.sgml:
8879         * docs/libs/tmpl/gstdplinint.sgml:
8880         * docs/libs/tmpl/gstdpman.sgml:
8881         * docs/libs/tmpl/gstdpsmooth.sgml:
8882         * docs/libs/tmpl/gstunitconvert.sgml:
8883           these are obsolete
8884
8885 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8886
8887         * configure.ac:
8888           back to HEAD
8889
8890 === release 0.9.4 ===
8891
8892 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8893
8894         * configure.ac:
8895           releasing 0.9.4, "Tyrannosaurus Rex"
8896
8897 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8898
8899         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8900         (gst_file_sink_get_current_offset):
8901           Use fseeko() and ftello() if available. When falling back on
8902           lseek() to get the current offset, fflush() first to make sure
8903           everything is up-to-date and we get the right offset.
8904
8905 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8908         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8909         * gst/gsterror.c: (_gst_stream_errors_init):
8910         * gst/gsterror.h:
8911         * gst/gstqueue.c: (gst_queue_loop):
8912         * po/POTFILES.in:
8913           remove prematurely added error category and clean up the instances
8914
8915 2005-10-21  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8918         (gst_base_sink_get_position), (gst_base_sink_query),
8919         (gst_base_sink_change_state):
8920         Simply set the right flag when going to playing, that's all
8921         we need to do instead of calling a function inside the object
8922         lock (that could take the lock as well and deadlock)
8923
8924 2005-10-21  Wim Taymans  <wim@fluendo.com>
8925
8926         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8927         (gst_base_src_loop):
8928         Don't warn, the peer element knows what to do best when
8929         the seek failed, it might try something else.
8930
8931 2005-10-21  Wim Taymans  <wim@fluendo.com>
8932
8933         * gst/base/gstbasesrc.c: (gst_base_src_init),
8934         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8935         Fix seeking.
8936
8937 2005-10-21  Wim Taymans  <wim@fluendo.com>
8938
8939         * docs/design/part-segments.txt:
8940         More docs.
8941
8942         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8943         Correctly set caps, even on the subbufer.
8944
8945 2005-10-21  Wim Taymans  <wim@fluendo.com>
8946
8947         * docs/gst/gstreamer-docs.sgml:
8948         * docs/gst/gstreamer-sections.txt:
8949         * gst/gstelement.h:
8950         * gst/gstevent.c:
8951         * gst/gstevent.h:
8952         * gst/gstmessage.h:
8953         * gst/gstpad.h:
8954         * gst/gstparse.h:
8955         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8956         * gst/gsttask.h:
8957         * gst/gstutils.c:
8958         * gst/gstutils.h:
8959         And 2% more doc coverage.
8960
8961 2005-10-21  Andy Wingo  <wingo@pobox.com>
8962
8963         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8964         position reporting.
8965
8966 2005-10-20  Wim Taymans  <wim@fluendo.com>
8967
8968         * gst/gsterror.c: (gst_error_get_message):
8969         * gst/gstparse.h:
8970         * gst/gstquery.h:
8971         * gst/gststructure.c:
8972         * gst/gsttrace.c:
8973         * gst/gstutils.c:
8974         More docs.
8975
8976 2005-10-20  Wim Taymans  <wim@fluendo.com>
8977
8978         * gst/gstbuffer.h:
8979         * gst/gstpad.c:
8980         * gst/gstparse.c:
8981         Another 1% more coverage.
8982
8983 2005-10-20  Wim Taymans  <wim@fluendo.com>
8984
8985         * docs/gst/gstreamer-sections.txt:
8986         * gst/gstelement.c: (gst_element_get_state_func),
8987         (gst_element_abort_state), (gst_element_commit_state),
8988         (gst_element_lost_state):
8989         * gst/gstevent.h:
8990         * gst/gstquery.c: (gst_query_set_position),
8991         (gst_query_parse_position), (gst_query_set_duration),
8992         (gst_query_parse_duration), (gst_query_new_convert):
8993         * gst/gstutils.c:
8994         Yay! 1% more docs coverage.
8995
8996 2005-10-20  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/gstpad.h:
8999         * gst/gstquery.c: (gst_query_set_position),
9000         (gst_query_parse_position), (gst_query_set_duration),
9001         (gst_query_parse_duration), (gst_query_new_convert):
9002         * gst/gstquery.h:
9003         * gst/gstutils.c: (gst_element_query_convert):
9004         * gst/gstutils.h:
9005         Docs and consistency fixes.
9006
9007 2005-10-20  Wim Taymans  <wim@fluendo.com>
9008
9009         * gst/gsttask.c:
9010         * gst/gsttask.h:
9011         More docs.
9012
9013 2005-10-20  Wim Taymans  <wim@fluendo.com>
9014
9015         * gst/gstbin.c: (message_check), (bin_replace_message),
9016         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9017         (update_degree), (gst_bin_sort_iterator_next),
9018         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9019         Reworked the message handling a bit, cache the messages instead of
9020         only the senders. alows us to do more in the future.
9021
9022 2005-10-20  Wim Taymans  <wim@fluendo.com>
9023
9024         * docs/design/part-TODO.txt:
9025         Update TODO
9026
9027         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9028         (gst_base_sink_query):
9029         Don't use clock time to report position when in EOS.
9030
9031 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9032
9033         * tools/gst-inspect.c: (print_interfaces),
9034         (print_element_properties_info), (print_element_info):
9035           Fix interface output with gst-inspect -a; don't print
9036           newlines after double/float properties.
9037
9038 2005-10-20  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9041         (gst_base_sink_query):
9042         Speed up current position calculation.
9043
9044         * gst/base/gstbasesrc.c: (gst_base_src_query),
9045         (gst_base_src_default_newsegment):
9046         Correctly set stream position in newsegment.
9047
9048         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9049         (update_degree), (gst_bin_sort_iterator_next),
9050         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9051         * gst/gstmessage.c: (gst_message_new_custom):
9052         Clean up debugging info
9053
9054         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9055         (gst_queue_loop), (gst_queue_handle_src_query):
9056         Pause task faster.
9057
9058 2005-10-19  Wim Taymans  <wim@fluendo.com>
9059
9060         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9061         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9062         Fix query handling again.
9063
9064 2005-10-19  Wim Taymans  <wim@fluendo.com>
9065
9066         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9067         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9068         * gst/base/gstbasesrc.c: (gst_base_src_query):
9069         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9070         * gst/elements/gsttypefindelement.c:
9071         (gst_type_find_handle_src_query), (find_element_get_length),
9072         (gst_type_find_element_activate):
9073         API change fix.
9074
9075         * gst/gstquery.c: (gst_query_new_position),
9076         (gst_query_set_position), (gst_query_parse_position),
9077         (gst_query_new_duration), (gst_query_set_duration),
9078         (gst_query_parse_duration), (gst_query_set_segment),
9079         (gst_query_parse_segment):
9080         * gst/gstquery.h:
9081         Bundling query position/duration is not a good idea since duration
9082         does not change much and we don't want to recalculate it for every
9083         position query, so they are separated again..
9084         Base value in segment query is not needed.
9085
9086         * gst/gstqueue.c: (gst_queue_handle_src_query):
9087         * gst/gstutils.c: (gst_element_query_position),
9088         (gst_element_query_duration), (gst_pad_query_position),
9089         (gst_pad_query_duration):
9090         * gst/gstutils.h:
9091         Updates for query API change.
9092         Added some docs here and there.
9093
9094 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * check/gst/gstbin.c: (GST_START_TEST):
9097         * check/gst/gstghostpad.c: (GST_START_TEST):
9098         * check/pipelines/cleanup.c: (GST_START_TEST):
9099           wait on thread to die so we can check refcount correctly
9100
9101 2005-10-18  Wim Taymans  <wim@fluendo.com>
9102
9103         * check/pipelines/stress.c: (GST_START_TEST):
9104         Make check a little more time consuming.
9105
9106 2005-10-18  Wim Taymans  <wim@fluendo.com>
9107
9108         * check/Makefile.am:
9109         * check/pipelines/stress.c: (GST_START_TEST),
9110         (simple_launch_lines_suite), (main):
9111         Small state change torture test.
9112
9113         * docs/design/part-states.txt:
9114         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9115         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9116         (gst_base_sink_change_state):
9117         Never take state lock from streaming thread, clean up ugly
9118         hacks. Unfortunatly core does not yet support nice ways to
9119         async commit state.
9120         
9121         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9122         (bin_bus_handler):
9123         Start state recalc if a STATE_DIRTY message is posted, but only
9124         on the toplevel bin.
9125
9126         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9127         (gst_element_get_state_func), (gst_element_abort_state),
9128         (gst_element_commit_state), (gst_element_lost_state),
9129         (gst_element_set_state_func), (gst_element_change_state):
9130         * gst/gstelement.h:
9131         State variables are now protected with the LOCK, the state
9132         lock is only used to serialize _set_state().
9133
9134 2005-10-18  Wim Taymans  <wim@fluendo.com>
9135
9136         * check/gst/gstbin.c: (GST_START_TEST):
9137         * check/gst/gstmessage.c: (GST_START_TEST):
9138         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9139         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9140         (bin_bus_handler):
9141         * gst/gstelement.c: (gst_element_abort_state),
9142         (gst_element_commit_state), (gst_element_lost_state):
9143         * gst/gstmessage.c: (gst_message_new_state_changed),
9144         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9145         (gst_message_new_segment_done), (gst_message_new_duration),
9146         (gst_message_parse_state_changed),
9147         (gst_message_parse_segment_start),
9148         (gst_message_parse_segment_done), (gst_message_parse_duration):
9149         * gst/gstmessage.h:
9150         * tools/gst-launch.c: (event_loop):
9151         Seriously, this is better than a previous commit as we only need
9152         to notify the fact that an element changed state in a streaming
9153         thread, marking the state of the parents dirty, hence the 
9154         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9155         message.
9156
9157 2005-10-18  Wim Taymans  <wim@fluendo.com>
9158
9159         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9160         (gst_bin_recalc_func):
9161         * gst/gstelement.c: (gst_element_set_clock),
9162         (gst_element_abort_state), (gst_element_lost_state):
9163         Cleanups, prepare for state change fixes.
9164
9165 2005-10-18  Wim Taymans  <wim@fluendo.com>
9166
9167         * gst/gstbin.h:
9168         * gst/gstelement.c: (gst_element_class_init),
9169         (gst_element_set_state), (gst_element_set_state_func):
9170         * gst/gstelement.h:
9171         Pending ABI changes.
9172         GThreadPool in GstBinClass to monitor async state changes.
9173         state_cookie in GstElement to detect concurrent gst/set state.
9174         set_state is now virtual too in case a very complicated element
9175         has to be constructed.
9176
9177 2005-10-18  Wim Taymans  <wim@fluendo.com>
9178
9179         * check/gst/gstbin.c: (GST_START_TEST):
9180         * check/gst/gstmessage.c: (GST_START_TEST):
9181         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9182         * gst/gstbin.c: (bin_bus_handler):
9183         * gst/gstelement.c: (gst_element_commit_state),
9184         (gst_element_lost_state):
9185         * gst/gstmessage.c: (gst_message_new_state_changed),
9186         (gst_message_new_segment_start), (gst_message_new_segment_done),
9187         (gst_message_new_duration), (gst_message_parse_state_changed),
9188         (gst_message_parse_segment_start),
9189         (gst_message_parse_segment_done), (gst_message_parse_duration):
9190         * gst/gstmessage.h:
9191         * tools/gst-launch.c: (event_loop):
9192         Make messages future proof.
9193         state-change gets a flag if it was a message comming from the
9194         streaming thread.
9195         segment-start/stop can also be specified in other formats.
9196         A message to notify an app that a pipeline changed playback 
9197         duration.
9198         Also fix a GstMessage leak in -launch
9199
9200 2005-10-18  Andy Wingo  <wingo@pobox.com>
9201
9202         * gst/gstelement.c (gst_element_dispose): More helpful message.
9203
9204 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         reviewed by: <delete if not using a buddy>
9207
9208         * common/gtk-doc.mak:
9209
9210 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9211
9212         * gst/gstregistry.c: (gst_registry_scan_path_level):
9213           unref a plug-in we get that was already initialized
9214
9215 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9216
9217         * docs/gst/gstreamer-sections.txt:
9218         * docs/libs/gstreamer-libs-sections.txt:
9219         * gst/gstelement.h:
9220           add new api entries
9221           hide internal macro
9222
9223 2005-10-17  Andy Wingo  <wingo@pobox.com>
9224
9225         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9226         cleanup.
9227
9228         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9229
9230         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9231
9232         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9233         (gst_element_get_state_func): Better debug message.
9234         (gst_element_commit_state): s/INFO/DEBUG/.
9235         (gst_element_lost_state, gst_element_change_state): 
9236
9237         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9238         (gst_message_new_custom): s/INFO/LOG/.
9239
9240 2005-10-17  Michael Smith <msmith@fluendo.com>
9241
9242         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9243           Check if end time is valid using end time, not start time.
9244
9245 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9246
9247         * check/gst-libs/controller.c: (GST_START_TEST),
9248         (gst_controller_suite):
9249         * libs/gst/controller/gstcontroller.c:
9250         (gst_controlled_property_set_interpolation_mode):
9251         * libs/gst/controller/gstcontroller.h:
9252         * libs/gst/controller/gstinterpolation.c:
9253         * testsuite/controller/.cvsignore:
9254         * testsuite/controller/Makefile.am:
9255         * testsuite/controller/interpolator.c:
9256           merge controller testsuites
9257           fix broken tests
9258           remove mem-chunk from docs
9259
9260 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * gst/gstmemchunk.c:
9263         * gst/gstmemchunk.h:
9264         * gst/gsttrashstack.c:
9265         * gst/gsttrashstack.h:
9266           out.  get out.  you're fired.  to the Attic !
9267
9268 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9269
9270         * gst/gstcaps.c: (gst_caps_intersect):
9271           fix signedness issues in a (hopefully) correct way
9272         * gst/gstelement.c: (gst_element_pads_activate):
9273           some debugging
9274         * gst/gstobject.c: (gst_object_set_parent):
9275           some debugging
9276
9277 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9278
9279         * gst/gstvalue.h: Fix prototypes.
9280
9281 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9282
9283         * docs/gst/gstreamer-sections.txt:
9284         * gst/gst.c: (gst_version_string):
9285         * gst/gst.h:
9286         * gst/gstversion.h.in:
9287         * win32/common/libgstreamer.def:
9288           add gst_version_string ()
9289
9290 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9291
9292         * configure.ac:
9293           clean up further
9294         * gst/gst.c: (init_post):
9295         * win32/common/config.h.in:
9296           it's PLUGINDIR now
9297         * gst/gstcaps.c: (gst_caps_intersect):
9298           use gint64, the range could be bigger than a guint
9299
9300 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * gst/gstclock.h:
9303           document potential problem in 2038
9304
9305 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * gst/gstcaps.c: (gst_caps_intersect):
9308           Fix guint j diving under 0
9309
9310 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * configure.ac:
9313         * win32/common/config.h:
9314         * win32/common/config.h.in:
9315           check for process.h, declares getpid() on Windows
9316         * gst/gstinfo.c:
9317           include process.h if we have it
9318         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9319         * gst/gstmemchunk.h:
9320           fix signedness issues
9321         * win32/common/libgstreamer.def:
9322           fix get_type's
9323
9324 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9325
9326         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9327         fix. Because of unsigned ints, caps intersection was going nuts and
9328         trying to access structures with G_MAXUINT index. That fixes
9329         videotestsrc ! ffmpegcolorspace ! fakesink
9330         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9331         consistency.
9332
9333 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9334
9335         * configure.ac:
9336           use the gettext macro
9337         * gst/elements/gstelements.c:
9338         * gst/gst.c:
9339         * gst/indexers/gstindexers.c:
9340           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9341         * win32/common/config.h:
9342           updated config.h
9343         * win32/common/config.h.in:
9344           add the template to generate config.h
9345         * win32/common/gstenumtypes.c:
9346         * win32/common/gstversion.h:
9347           updated copies
9348
9349 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9350
9351         * gst/gst.c: (gst_version):
9352         * gst/gstversion.h.in:
9353           add the nano
9354
9355 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9356
9357         * gst/gstevent.h:
9358           Oops, add missing closing bracket.
9359
9360 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * configure.ac:
9363           use common m4's for argument checking
9364
9365 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9366
9367         * docs/gst/gstreamer-sections.txt:
9368         * gst/gstevent.h:
9369           Add GST_EVENT_TYPE_NAME() macro.
9370
9371 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * gst/gstinfo.c:
9374         * gst/gstpluginfeature.c:
9375         * gst/gsttask.c:
9376           privatize more symbols
9377
9378 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         * configure.ac:
9381           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9382           everything that uses GStreamer API should have the includes
9383
9384 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * docs/gst/gstreamer-sections.txt:
9387         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9388         * gst/gstvalue.h:
9389           give each value a _get_type, removes the DATA exports
9390
9391 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9392
9393         * gst/gst.c:
9394         * gst/gst.h:
9395           remove _gst_registry_auto_load, not used anymore
9396         * gst/gstbin.c: (gst_bin_get_type):
9397         * gst/gstbin.h:
9398         * gst/gstelement.c: (gst_element_get_type):
9399         * gst/gstelement.h:
9400         * gst/gstobject.c: (gst_object_get_type):
9401         * gst/gstobject.h:
9402         * gst/gstpad.c: (gst_pad_get_type):
9403         * gst/gstpad.h:
9404           make _get_type functions similar, fixes data export from library
9405
9406 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9407
9408         * configure.ac:
9409           correctly make conditionals
9410         * gst/elements/Makefile.am:
9411         * gst/elements/gstelements.c:
9412           fix typo causing fdsrc not to build
9413
9414 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9415
9416         * testsuite/Makefile.am:
9417         * testsuite/bytestream/.cvsignore:
9418         * testsuite/bytestream/Makefile.am:
9419         * testsuite/bytestream/filepadsink.c:
9420         * testsuite/bytestream/gstbstest.c:
9421         * testsuite/bytestream/test1.c:
9422         * testsuite/bytestream/testfile1:
9423         * testsuite/caps/normalisation.c:
9424         * testsuite/caps/random.c: (main):
9425         * testsuite/cleanup/.cvsignore:
9426         * testsuite/cleanup/Makefile.am:
9427         * testsuite/cleanup/cleanup1.c:
9428         * testsuite/cleanup/cleanup2.c:
9429         * testsuite/cleanup/cleanup3.c:
9430         * testsuite/cleanup/cleanup4.c:
9431         * testsuite/cleanup/cleanup5.c:
9432         * testsuite/controller/interpolator.c:
9433         * testsuite/debug/printf_extension.c: (main):
9434         * testsuite/elements/tee.c:
9435         * testsuite/negotiation/.cvsignore:
9436         * testsuite/negotiation/Makefile.am:
9437         * testsuite/negotiation/pad_link.c:
9438         * testsuite/pad/Makefile.am:
9439         * testsuite/pad/chainnopull.c:
9440         * testsuite/pad/getnopush.c:
9441         * testsuite/pad/link.c:
9442         * testsuite/refcounting/sched.c: (create_pipeline):
9443         * testsuite/registry/Makefile.am:
9444         * testsuite/registry/gst-print-formats.c:
9445         * testsuite/schedulers/.cvsignore:
9446         * testsuite/schedulers/142183-2.c:
9447         * testsuite/schedulers/142183.c:
9448         * testsuite/schedulers/143777-2.c:
9449         * testsuite/schedulers/143777.c:
9450         * testsuite/schedulers/147713.c:
9451         * testsuite/schedulers/147819.c:
9452         * testsuite/schedulers/147894-2.c:
9453         * testsuite/schedulers/147894.c:
9454         * testsuite/schedulers/Makefile.am:
9455         * testsuite/schedulers/group_link.c:
9456         * testsuite/schedulers/queue_link.c:
9457         * testsuite/schedulers/relink.c:
9458         * testsuite/schedulers/unlink.c:
9459         * testsuite/schedulers/unref.c:
9460         * testsuite/schedulers/useless_iteration.c:
9461         * testsuite/states/bin.c:
9462           clean out/remove some stuff from the testsuite directories
9463
9464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9465
9466         * configure.ac:
9467           check for some headers
9468         * gst/elements/Makefile.am:
9469         * gst/elements/gstelements.c:
9470           don't compile fdsrc without sys/socket.h
9471         * gst/indexers/Makefile.am:
9472         * gst/indexers/gstindexers.c: (plugin_init):
9473           don't compile fileindex without mmap
9474
9475 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * configure.ac:
9478           reorganize
9479           clean up
9480           document more
9481           remove cruft
9482         * check/Makefile.am:
9483         * docs/gst/Makefile.am:
9484         * examples/helloworld/Makefile.am:
9485         * gst/Makefile.am:
9486         * gst/base/Makefile.am:
9487         * gst/check/Makefile.am:
9488         * gst/elements/Makefile.am:
9489         * gst/indexers/Makefile.am:
9490         * gst/parse/Makefile.am:
9491         * libs/gst/controller/Makefile.am:
9492         * libs/gst/dataprotocol/Makefile.am:
9493         * examples/helloworld/helloworld.c: (event_loop):
9494           compile fixes, though it's not being compiled currently
9495
9496 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9497
9498         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9499           Add some simple tests for the new taglist date API.
9500
9501 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9502
9503         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9504         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9505           Beautify 'last-message' output: print 'none' for buffer timestamps
9506           and durations if none is set; improve alignment with next messages.
9507
9508 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9509
9510         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9511         * gst/gstpluginfeature.h:
9512         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9513         * gst/gstregistry.h:
9514         * docs/gst/gstreamer-sections.txt:
9515           Add new API to check plugin feature version requirements.
9516
9517         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9518           Some basic tests for the above.         
9519
9520 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * gst/gststructure.c: (gst_structure_to_string):
9523           guard against NULL printf - happens when for example
9524           a message structure with GstClock gets serialized
9525
9526 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9527
9528         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9529           Fix presumable copy'n'pasto.
9530
9531 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * gst/elements/gstfakesrc.h:
9534         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9535         * gst/elements/gsttypefindelement.c:
9536           fix some signedness
9537         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9538           I wonder if this could actually write +2GB files before
9539
9540 2005-10-13  Andy Wingo  <wingo@pobox.com>
9541
9542         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9543         Fix Timmeke Waymans bug.
9544         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9545         string of the proper length to gst_caps_from_string. There's a
9546         potential for, before this fix, that this could cause someone
9547         connecting over the network to cause a segfault if the payload is
9548         not NUL-terminated.
9549
9550 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9551
9552         * docs/design/draft-push-pull.txt:
9553         * docs/design/part-overview.txt:
9554         * docs/random/TODO-pre-0.9:
9555         * docs/random/old/ChangeLog.gstreamer:
9556         * gst/base/gstpushsrc.c:
9557         * gst/gstclock.c:
9558           fixed typos
9559
9560 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * gst/glib-compat.c: (gst_flags_get_first_value):
9563         * gst/glib-compat.h:
9564         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9565         (gst_value_compare_double), (gst_value_serialize_flags):
9566           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9567           infinite loop
9568
9569 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9572         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9573           fix up debugging
9574         * tools/gst-launch.c: (event_loop):
9575           print out clock nicely
9576
9577 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9578
9579         * docs/gst/gstreamer-sections.txt:
9580         * gst/gsttaglist.h:
9581         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9582         (gst_tag_list_get_date_index):
9583           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9584           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9585
9586 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9587
9588         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9589         (gst_collectpads_chain):
9590         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9591         in CollectData.
9592
9593 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9594
9595         * docs/gst/gstreamer-sections.txt:
9596         * gst/gst.c:
9597         * gst/gsterror.h:
9598         * tools/gst-inspect.c: (main):
9599         * tools/gst-launch.c: (main):
9600         * tools/gst-run.c: (main):
9601         * tools/gst-xmlinspect.c: (main):
9602           fix GOption context leaks
9603           doc fixes
9604
9605 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * gst/gstbus.c:
9608           use HAVE_UNISTD_H
9609         * win32/common/config.h:
9610           update config
9611         * win32/vs6/grammar.dsp:
9612         * win32/vs6/libgstelements.dsp:
9613         * win32/vs6/libgstreamer.dsp:
9614           update vs6 files
9615
9616 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9619         * gst/base/gstbasesrc.c: (gst_base_src_query):
9620           fix more guint64<->gdouble conversions
9621
9622 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         * Makefile.am:
9625           add win32-update target
9626         * win32/common/gstconfig.h:
9627         * win32/common/gstenumtypes.c:
9628         * win32/common/gstenumtypes.h:
9629         * win32/common/gstversion.h:
9630           add files that visual studio can't generate
9631
9632 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9633
9634         * Makefile.am:
9635           add a win32-update target
9636         * configure.ac:
9637
9638 2005-10-12  Wim Taymans  <wim@fluendo.com>
9639
9640         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9641         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9642         * gst/gstelement.c: (gst_element_commit_state),
9643         (gst_element_set_state):
9644         Protect flags with proper lock.
9645         unref provided cached clock in dispose.
9646
9647 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9648
9649         * gst/gst.c:
9650         * gst/gstminiobject.h:
9651         * gst/gstpad.h:
9652         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9653           removed unused flags from miniobject
9654           doc fixes
9655
9656 2005-10-12  Wim Taymans  <wim@fluendo.com>
9657
9658         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9659         (gst_file_sink_event), (gst_file_sink_render):
9660         Flush before seeking.
9661
9662 2005-10-12  Andy Wingo  <wingo@pobox.com>
9663
9664         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9665         always been the case.
9666
9667 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9668
9669         * check/gst/gstbin.c: (GST_START_TEST):
9670         * docs/gst/gstreamer-sections.txt:
9671         * gst/base/gstbasesink.c: (gst_base_sink_init):
9672         * gst/base/gstbasesrc.c: (gst_base_src_init),
9673         (gst_base_src_get_range), (gst_base_src_check_get_range),
9674         (gst_base_src_start), (gst_base_src_stop):
9675         * gst/base/gstbasesrc.h:
9676         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9677         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9678         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9679         (bin_bus_handler):
9680         * gst/gstbin.h:
9681         * gst/gstbuffer.h:
9682         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9683         * gst/gstbus.h:
9684         * gst/gstelement.c: (gst_element_is_locked_state),
9685         (gst_element_set_locked_state), (gst_element_commit_state),
9686         (gst_element_set_state):
9687         * gst/gstelement.h:
9688         * gst/gstindex.c: (gst_index_init):
9689         * gst/gstindex.h:
9690         * gst/gstminiobject.h:
9691         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9692         (gst_object_set_parent):
9693         * gst/gstobject.h:
9694         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9695         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9696         * gst/gstpad.h:
9697         * gst/gstpadtemplate.h:
9698         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9699         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9700         * gst/gstpipeline.h:
9701         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9702         (gst_file_index_commit):
9703         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9704         * testsuite/pad/link.c: (gst_test_src_init),
9705         (gst_test_filter_init), (gst_test_sink_init):
9706         * testsuite/states/locked.c: (main):
9707           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9708           moved bitshift from macro to enum definition
9709
9710 2005-10-12  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9713         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9714         (gst_file_sink_render):
9715         Some more debugging info.
9716
9717 2005-10-12  Wim Taymans  <wim@fluendo.com>
9718
9719         * docs/design/part-states.txt:
9720         * tools/gst-launch.c: (main):
9721         Some doc updates.
9722         Revert non-intentional change.
9723
9724 2005-10-12  Wim Taymans  <wim@fluendo.com>
9725
9726         * check/gst/gstbin.c: (GST_START_TEST):
9727         * check/gst/gstelement.c: (GST_START_TEST):
9728         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9729         * check/gst/gstghostpad.c: (GST_START_TEST):
9730         * check/gst/gstpipeline.c: (GST_START_TEST):
9731         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9732         * check/states/sinks.c: (GST_START_TEST):
9733         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9734         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9735         (gst_bin_remove_func), (gst_bin_get_state_func),
9736         (gst_bin_recalc_state), (gst_bin_change_state_func),
9737         (bin_bus_handler):
9738         * gst/gstelement.c: (gst_element_get_state_func),
9739         (gst_element_get_state), (gst_element_abort_state),
9740         (gst_element_commit_state), (gst_element_set_state),
9741         (gst_element_change_state), (gst_element_change_state_func):
9742         * gst/gstelement.h:
9743         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9744         (gst_pipeline_provide_clock_func):
9745         * gst/gstutils.c: (gst_element_link_pads_filtered):
9746         * tools/gst-launch.c: (main):
9747         * tools/gst-typefind.c: (main):
9748         Use GstClockTime in _get_state() instead of GTimeVal.
9749         Remove old code in gstutils.c
9750
9751 2005-10-12  Andy Wingo  <wingo@pobox.com>
9752
9753         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9754         removed.
9755
9756         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9757         there is no task. Shouldn't affect any code, as nothing in our
9758         plugins checks this return value.
9759         (gst_pad_stop_task): Also take the stream lock if the pad has no
9760         task. Docs updated.
9761
9762 2005-10-12  Wim Taymans  <wim@fluendo.com>
9763
9764         * gst/gstpad.c: (pre_activate), (post_activate),
9765         (gst_pad_activate_pull), (gst_pad_activate_push):
9766         Cleanup activation code. Reset old state if
9767         activation failed.
9768
9769 2005-10-12  Wim Taymans  <wim@fluendo.com>
9770
9771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9772         (gst_base_sink_change_state):
9773         No need to prerol after receiving EOS.
9774
9775         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9776         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9777         * gst/elements/gstidentity.c: (gst_identity_event):
9778         Print events more verbosely.
9779
9780 2005-10-12  Wim Taymans  <wim@fluendo.com>
9781
9782         * check/Makefile.am:
9783         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9784         * check/states/sinks2.c:
9785         Moved sinks2 testcode in sinks check.
9786
9787         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9788         (gst_bin_remove_func), (gst_bin_recalc_state),
9789         (gst_bin_change_state_func), (bin_bus_handler):
9790         Fix potential race condition when _get_state() iterated over an
9791         ASYNC element right before it posted a state completion.
9792
9793         * gst/gstclock.h:
9794         Do proper cast here.
9795
9796         * gst/gstevent.c: (gst_event_new_newsegment),
9797         (gst_event_parse_newsegment):
9798         A playback rate of 0.0 is not allowed.
9799
9800 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * win32/common/config.h:
9803         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9804         (_trewinddir), (_ttelldir), (_tseekdir):
9805         * win32/common/dirent.h:
9806         * win32/common/gtchar.h:
9807         * win32/common/libgstbase.def:
9808         * win32/common/libgstreamer.def:
9809         * win32/vs6/grammar.dsp:
9810         * win32/vs6/gst_inspect.dsp:
9811         * win32/vs6/gst_launch.dsp:
9812         * win32/vs6/gstreamer.dsw:
9813         * win32/vs6/libgstbase.dsp:
9814         * win32/vs6/libgstelements.dsp:
9815         * win32/vs6/libgstreamer.dsp:
9816           Visual Studio 6 project files, and a new common directory.
9817           Phear.
9818
9819 2005-10-11  Wim Taymans  <wim@fluendo.com>
9820
9821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9822         (gst_base_sink_do_sync), (gst_base_sink_query),
9823         (gst_base_sink_change_state):
9824         * gst/base/gstbasesink.h:
9825         Correctly parse newsegment info.
9826
9827 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9828
9829         * gst/gst.c: (init_post):
9830           split plugin paths correctly
9831
9832 2005-10-11  Wim Taymans  <wim@fluendo.com>
9833
9834         * check/gst/gstevent.c: (GST_START_TEST):
9835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9836         (gst_base_sink_change_state):
9837         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9838         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9839         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9840         * gst/gstevent.c: (gst_event_new_newsegment),
9841         (gst_event_parse_newsegment):
9842         * gst/gstevent.h:
9843         Added extra flag to newsegment for future API freeze.
9844         Updated check and base elements.
9845
9846 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9847
9848         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9849         (gst_collectpads_add_pad), (gst_collectpads_pop),
9850         (gst_collectpads_event), (gst_collectpads_chain):
9851         * gst/base/gstcollectpads.h: Handle EOS correctly.
9852
9853 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9854
9855         * tools/gst-launch.c: (main):
9856           more null protecting
9857
9858 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9859
9860         * gst/gst-i18n-lib.h:
9861           check for ENABLE_NLS, not GETTEXT_PACKAGE
9862         * gst/gstregistry.c: (gst_registry_add_plugin),
9863         (gst_registry_scan_path_level),
9864         (_gst_registry_remove_cache_plugins):
9865           protect possibly NULL strings
9866         * gst/parse/types.h:
9867           config.h already included before
9868         * tools/gst-inspect.c: (main):
9869           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9870           check for ENABLE_NLS, not GETTEXT_PACKAGE
9871         * tools/gst-launch.c: (main):
9872           check for ENABLE_NLS, not GETTEXT_PACKAGE
9873
9874 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9875
9876         * configure.ac:
9877           if we don't have glib, fail before testing 2.8
9878         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9879           fix a leak, should fix plugins-base testsuite
9880
9881 2005-10-11  Andy Wingo  <wingo@pobox.com>
9882
9883         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9884         take the mode we're going to as an arg. Go head and set the mode
9885         and flushing flags now, so that if the activate function starts a
9886         thread all the flags will be in the right state.
9887         (post_activate): Renamed also. Just handle making sure streaming
9888         finishes for the deactivation case, and setting the deactivated
9889         mode.
9890         (gst_pad_set_active): Complain loudly if deactivation fails.
9891         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9892         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9893         remove the terrible hack.
9894
9895 2005-10-11  Wim Taymans  <wim@fluendo.com>
9896
9897         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9898         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9899         (gst_bin_recalc_state), (gst_bin_change_state_func),
9900         (gst_bin_dispose), (bin_bus_handler):
9901         * gst/gstbin.h:
9902         Prepare to make current EOS message queue more generic.
9903         Fix some typos.
9904
9905         * gst/gstevent.c: (gst_event_new_newsegment),
9906         (gst_event_parse_newsegment):
9907         * gst/gstevent.h:
9908         Rename base to stream_time.
9909
9910         * gst/gstmessage.h:
9911         Fix typo in docs.
9912
9913 2005-10-11  Wim Taymans  <wim@fluendo.com>
9914
9915         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9916         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9917         (gst_bin_change_state_func), (bin_bus_handler):
9918         * gst/gstbin.h:
9919         Work on proper clock selection.
9920
9921 2005-10-11  Edward Hervey  <edward@fluendo.com>
9922
9923         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9924         * libs/gst/controller/gstcontroller.h:
9925         Added GList* version of _remove_properties() in order to be able to wrap
9926         it in bindings.
9927
9928 2005-10-11  Wim Taymans  <wim@fluendo.com>
9929
9930         * docs/design/part-states.txt:
9931         Some more docs.
9932
9933         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9934         (gst_bin_change_state_func), (bin_bus_handler):
9935         Doc updates. Don't distribute the same clock over and over again.
9936
9937         * gst/gstclock.c:
9938         * gst/gstclock.h:
9939         Doc updates.
9940
9941         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9942         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9943         (gst_pad_send_event):
9944         * gst/gstpad.h:
9945         Make probe emission threadsafe again.
9946         Register quarks and move _get_name() from utils.
9947         Doc updates.
9948
9949         * gst/gstpipeline.c: (gst_pipeline_class_init),
9950         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9951         Only redistribute the clock of it changed.
9952
9953         * gst/gstsystemclock.h:
9954         Doc updates. 
9955
9956         * gst/gstutils.c:
9957         * gst/gstutils.h:
9958         Moved the _flow_get_name() to GstPad.
9959
9960 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9961
9962         * check/gst-libs/gdp.c: (GST_START_TEST):
9963         * check/gst/gstcaps.c: (GST_START_TEST):
9964         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9965         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9966         (gst_dp_packet_from_caps):
9967           fix more valgrind warnings before turning up the heat
9968
9969 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * gst/parse/grammar.y:
9972           some cleanup before the hacking
9973
9974 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * gst/base/gstbasesrc.c: (gst_base_src_query):
9977           use conversions
9978         * gst/gstutils.c: (gst_guint64_to_gdouble),
9979         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9980         * gst/gstutils.h:
9981           externalize, basesrc uses it
9982           obviously the implementation needs testing
9983
9984 2005-10-10  Wim Taymans  <wim@fluendo.com>
9985
9986         * tests/sched/Makefile.am:
9987         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9988         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9989
9990 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9993           apparently converting from guint64 to double is not implemented
9994           on MSVC
9995
9996 2005-10-10  Wim Taymans  <wim@fluendo.com>
9997
9998         * check/Makefile.am:
9999         * check/generic/states.c: (GST_START_TEST):
10000         * check/gst/gstbin.c: (GST_START_TEST):
10001         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10002         * check/states/sinks.c: (GST_START_TEST):
10003         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10004         (main):
10005         Check fixes, use API as stated in design docs, remove hacks.
10006
10007         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10008         (gst_base_sink_change_state):
10009         Catch stopping our task while we're shutting down.
10010
10011         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10012         (gst_bin_remove_func), (gst_bin_get_state_func),
10013         (gst_bin_recalc_state), (gst_bin_change_state_func),
10014         (bin_bus_handler):
10015         * gst/gstbin.h:
10016         * gst/gstelement.c: (gst_element_init),
10017         (gst_element_get_state_func), (gst_element_abort_state),
10018         (gst_element_commit_state), (gst_element_lost_state),
10019         (gst_element_set_state), (gst_element_change_state),
10020         (gst_element_change_state_func):
10021         * gst/gstelement.h:
10022         New state change algorithm (see #318116)
10023
10024         * gst/gstpipeline.c: (gst_pipeline_class_init),
10025         (gst_pipeline_init), (gst_pipeline_set_property),
10026         (gst_pipeline_get_property), (do_pipeline_seek),
10027         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10028         * gst/gstpipeline.h:
10029         Remove crude state change hacks.
10030
10031         * gst/gstutils.h:
10032         Remove crude hacks.
10033
10034         * tools/gst-launch.c: (main):
10035         Fixes for state change. Needs some more work to fully use the
10036         new stuff.
10037
10038 2005-10-10  Andy Wingo  <wingo@pobox.com>
10039
10040         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10041
10042         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10043         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10044         issue.
10045
10046 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10047
10048         * gst/gstiterator.c: (gst_iterator_new):
10049           Fix my previous commit: GTypes passed to gst_iterator_new()
10050           can be fundamental types.
10051
10052 2005-10-10  Wim Taymans  <wim@fluendo.com>
10053
10054         * gst/gstelement.c: (gst_element_iterate_pad_list),
10055         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10056         (gst_element_iterate_sink_pads):
10057         Use src/sink pads lists for the respective iterators instead
10058         of filtering.
10059
10060 2005-10-10  Andy Wingo  <wingo@pobox.com>
10061
10062         Merged in popt removal + GOption addition patch from Ronald, bug
10063         #169772.
10064
10065         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10066         GstElement macros around, remove popt-related symbols, add goption
10067         stuff.
10068
10069         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10070         
10071         * docs/gst/Makefile.am:
10072         * docs/libs/Makefile.am: No POPT_CFLAGS.
10073         
10074         * examples/manual/Makefile.am:
10075         * docs/manual/basics-init.xml: Doc updates with an example.
10076         
10077         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10078         (gst_init), (parse_one_option), (parse_goption_arg):
10079         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10080         bit of hand merging and debugging to get the GOption stuff working
10081         tho.
10082         
10083         * tests/Makefile.am:
10084         * tools/Makefile.am:
10085         * tools/gst-inspect.c: (main):
10086         * tools/gst-launch.c: (main):
10087         * tools/gst-run.c: (main):
10088         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10089
10090 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10091
10092         * gst/gstiterator.c: (gst_iterator_new):
10093           Add assertions to make sure passed GType is likely to really
10094           be a GType (as the compiler won't catch it if the size and
10095           GType arguments get mixed up, see #318447).
10096
10097 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10098
10099         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10100
10101         * gst/gstbin.c: (gst_bin_iterate_sorted):
10102           Pass GType and size arguments to gst_iterator_new() in the right
10103           order (maybe we should make _new() take the GType as first argument
10104           just like _new_list()?) (#318447).
10105           
10106
10107 2005-10-10  Wim Taymans  <wim@fluendo.com>
10108
10109         * gst/gstelement.c: (gst_element_finalize):
10110         And free the GStaticRecMutex too
10111
10112 2005-10-10  Andy Wingo  <wingo@pobox.com>
10113
10114         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10115         Allocate and free the mutex properly.
10116
10117         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10118         New macros.
10119         (GstElement): The state_lock is now recursive. Rebuild your
10120         plugins, suckers. Old macros adapted.
10121
10122         * docs/gst/gstreamer-sections.txt: Doc updates.
10123
10124         * gst/gstutils.h:
10125         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10126         (g_static_rec_cond_wait): Ported from state changes patch, while
10127         we wait on bug #317802 to be solved in a well-distributed GLib.
10128
10129         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10130         gst_element_change_state, variable name changes.
10131         (gst_element_change_state): Split out of gst_element_set_state in
10132         preparation for the state change merge. Doesn't pay attention to
10133         the 'transition' argument.
10134         (gst_element_set_state): Updates, hopefully purely cosmetic.
10135         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10136         state change patch.
10137         (gst_element_get_state_func): Renamed from get_state, cosmetic
10138         changes.
10139
10140 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * gst/elements/gstelements.c:
10143         * win32/GStreamer.vcproj:
10144         * win32/config.h:
10145         * win32/dirent.c: (_tseekdir):
10146         * win32/gst-inspect.vcproj:
10147         * win32/gst-launch.vcproj:
10148         * win32/gstconfig.h:
10149         * win32/gstelements.vcproj:
10150         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10151         * win32/gstreamer.def:
10152         * win32/msvc71.sln:
10153           updates for the win32 build (patch from Sebastien Moutte)
10154
10155 2005-10-10  Andy Wingo  <wingo@pobox.com>
10156
10157         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10158         gst_bin_get_state, cleaned up (but no logic changes).
10159         (bin_element_is_sink): Comment updates.
10160         (sink_iterator_filter): Remove needless cast.
10161         (gst_bin_iterate_sinks): Doc update.
10162         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10163         cleaned up (but no logic changes).
10164
10165         * check/states/sinks.c (test_src_sink): Cleanups from the state
10166         change patch.
10167         (test_livesrc_sink): Sync on the state.
10168
10169         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10170         the state change patch.
10171
10172         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10173         change patch.
10174
10175         * check/gst/gstbin.c: Merge in some style fixes and additional
10176         checks from Wim's state change patch.
10177
10178 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10179
10180         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10181         (gst_type_find_helper):
10182           Check whether we have the requested data already in our list of
10183           cached buffers before pulling a new buffer; also make the buffer
10184           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10185
10186 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10187
10188         * gst/gstcaps.c:
10189         * gst/gstevent.c:
10190           doc updates
10191         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10192           don't use long long, it's not portable.  Replacing with
10193           gint64 seems to work; let's hope no skeletons fall out of the closet.
10194
10195 2005-10-10  Andy Wingo  <wingo@pobox.com>
10196
10197         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10198
10199 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10200
10201         * docs/gst/gstreamer-sections.txt:
10202         * gst/gstevent.c:
10203         * gst/gstevent.h:
10204         * gst/gstinfo.c:
10205         * gst/gstinfo.h:
10206         * gst/gstmessage.c: (gst_message_parse_state_changed):
10207         * gst/gstpad.c:
10208         * gst/gstpad.h:
10209           more docs, fix compilation
10210
10211 2005-10-09  Philippe Khalaf <burger@speedy.org>
10212         * gst/gstmessage.c:
10213           Fixed a few forgotten variables on previous commit
10214
10215 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10216
10217         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10218           Fix evil typefind crasher: getrange() might return a short
10219           buffer at the end of a file, but gst_type_find_peek() must
10220           either return the full data as requested or NULL, but
10221           never a short buffer.
10222
10223 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10224
10225         * gst/gstmessage.c: (gst_message_new_state_changed),
10226         (gst_message_parse_state_changed):
10227         * gst/gstmessage.h:
10228           don't use "new", it's a C++ keyword
10229
10230 2005-10-08  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10233         * gst/gstelement.c: (gst_element_post_message):
10234         * gst/gstpipeline.c: (gst_pipeline_change_state):
10235         Small docs and debug updates.
10236
10237 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10238
10239         * docs/gst/gstreamer-sections.txt:
10240         * gst/gstelementfactory.c:
10241         * gst/gstevent.c:
10242         * gst/gsttaglist.c:
10243           more docs
10244
10245 2005-10-08  Wim Taymans  <wim@fluendo.com>
10246
10247         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10248         (gst_bin_dispose), (bin_bus_handler):
10249         Fix typos, add comments.
10250         Clear EOS list when going to PAUSED from any direction and do it
10251         in a threadsafe way.
10252         Get base time in a threadsafe way too.
10253         Fix confusing debug in the change_state function.
10254         Various other small cleanups.
10255         
10256         * gst/gstelement.c: (gst_element_post_message):
10257         Fix very verbose bus posting code.
10258
10259         * gst/gstpipeline.c: (gst_pipeline_class_init),
10260         (gst_pipeline_set_property), (gst_pipeline_get_property),
10261         (gst_pipeline_change_state):
10262         Small ARG_ -> PROP_ cleanup
10263
10264 2005-10-08  Wim Taymans  <wim@fluendo.com>
10265
10266         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10267         Do a less CPU demanding EOS check because we can.
10268
10269 2005-10-08  Wim Taymans  <wim@fluendo.com>
10270
10271         * libs/gst/dataprotocol/dataprotocol.c:
10272         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10273         (gst_dp_packet_from_event):
10274         * libs/gst/dataprotocol/dataprotocol.h:
10275         * libs/gst/dataprotocol/dp-private.h:
10276         It's about time we bump the version number.
10277         Since event types don't fit in the guint8 anymore describing
10278         the payload type, make payload type 16 bits wide.
10279
10280 2005-10-08  Wim Taymans  <wim@fluendo.com>
10281
10282         * docs/design/part-TODO.txt:
10283         * docs/design/part-clocks.txt:
10284         * docs/design/part-events.txt:
10285         * docs/design/part-gstbin.txt:
10286         * docs/design/part-gstelement.txt:
10287         * docs/design/part-gstpipeline.txt:
10288         * docs/design/part-live-source.txt:
10289         * docs/design/part-messages.txt:
10290         * docs/design/part-overview.txt:
10291         * docs/design/part-states.txt:
10292         Many doc updates.
10293
10294 2005-10-08  Wim Taymans  <wim@fluendo.com>
10295
10296         * gst/gstevent.c:
10297         * gst/gstevent.h:
10298         Fix event quark registration.
10299         Add some space between events so we can insert them in the
10300         right groups.
10301
10302 2005-10-08  Wim Taymans  <wim@fluendo.com>
10303
10304         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10305         (gst_base_sink_handle_buffer):
10306         Better log message.
10307
10308         * gst/gstbus.h:
10309         * gst/gstelement.h:
10310         More docs.
10311
10312         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10313         (gst_queue_set_property), (gst_queue_get_property):
10314         * gst/gstqueue.h:
10315         Remove old unused properties.
10316
10317 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10318         * docs/gst/gstreamer-sections.txt:
10319         * gst/gstmessage.c:
10320         * gst/gstmessage.h:
10321         * gst/gstminiobject.c:
10322         * gst/gstminiobject.h:
10323         * gst/gstobject.h:
10324         * gst/gstpad.h:
10325         * gst/gstutils.h:
10326           lots of new docs and doc fixes
10327
10328 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10329
10330         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10331         * gst/gstplugin.h:
10332         * gst/gstregistry.c: (gst_registry_lookup_locked),
10333         (gst_registry_scan_path_level):
10334         * gst/gstregistryxml.c: (load_plugin):
10335           Only ever load one plugin for a given plugin basename.
10336           This ensures correct overriding of GST_PLUGIN_PATH over
10337           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10338           system installed plugins.
10339
10340 2005-10-08  Wim Taymans  <wim@fluendo.com>
10341
10342         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10343         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10344         Prepare for doing QOS.
10345
10346 2005-10-08  Wim Taymans  <wim@fluendo.com>
10347
10348         * check/gst/gstbin.c: (GST_START_TEST):
10349         * check/pipelines/cleanup.c: (GST_START_TEST):
10350         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10351         Allow new clock message too.
10352
10353 2005-10-08  Wim Taymans  <wim@fluendo.com>
10354
10355         * gst/gstmessage.c: (gst_message_new_error),
10356         (gst_message_new_warning), (gst_message_new_tag),
10357         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10358         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10359         (gst_message_new_segment_start), (gst_message_new_segment_done),
10360         (gst_message_parse_state_changed),
10361         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10362         (gst_message_parse_new_clock):
10363         * gst/gstmessage.h:
10364         Also carry the clock in question.
10365
10366 2005-10-08  Wim Taymans  <wim@fluendo.com>
10367
10368         * gst/gstmessage.c: (gst_message_new_custom),
10369         (gst_message_new_eos), (gst_message_new_error),
10370         (gst_message_new_warning), (gst_message_new_tag),
10371         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10372         (gst_message_new_new_clock), (gst_message_new_segment_start),
10373         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10374         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10375         * gst/gstmessage.h:
10376         Clean up.
10377         Added clock related messages.
10378
10379         * gst/gstpipeline.c: (gst_pipeline_change_state):
10380         Post message when the clock changed.
10381
10382         * tools/gst-launch.c: (event_loop):
10383         Print new clock.
10384
10385 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10386
10387         * tools/gst-inspect.c: (print_element_properties_info):
10388           Can't pass NULL strings to g_print() on windows.
10389
10390 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * docs/Makefile.am:
10393         * docs/gst/Makefile.am:
10394         * docs/gst/gstreamer-docs.sgml:
10395         * docs/gst/running.xml:
10396         * docs/version.entities.in:
10397           add a chapter on running GStreamer.
10398           document GST_DEBUG and GST_PLUGIN* env vars
10399
10400 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10401
10402         * Makefile.am:
10403           remove include dir
10404         * configure.ac:
10405           remove PLUGINS_BUILDDIR stuff
10406         * gst/gst.c: (init_post):
10407           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10408         * idiottest.mak:
10409           remove, it was condescending and not needed
10410
10411 2005-10-08  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10414         (gst_base_sink_handle_object), (gst_base_sink_event),
10415         (gst_base_sink_wait), (gst_base_sink_handle_event),
10416         (gst_base_sink_change_state):
10417         * gst/base/gstbasesink.h:
10418         Repost EOS message while going to PLAYING if still EOS.
10419         Make sure that when receiving a FLUSH_START we don't attempt
10420         to sync on the clock anymore.
10421
10422 2005-10-08  Wim Taymans  <wim@fluendo.com>
10423
10424         * tools/gst-launch.c: (event_loop):
10425         Better message printout.
10426
10427 2005-10-08  Wim Taymans  <wim@fluendo.com>
10428
10429         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10430         (gst_bin_child_proxy_get_children_count):
10431         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10432         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10433         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10434         (gst_child_proxy_set_valist):
10435         * gst/parse/grammar.y:
10436         Make ChildProxy threadsafe and fix mem leaks.
10437
10438 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10439
10440         * gst/gst.c: (init_post):
10441           debug the GST_PLUGIN_ env vars
10442
10443 2005-10-08  Wim Taymans  <wim@fluendo.com>
10444
10445         * check/gst/gstbin.c: (GST_START_TEST):
10446         * check/gst/gstmessage.c: (GST_START_TEST):
10447         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10448         * gst/gstelement.c: (gst_element_commit_state),
10449         (gst_element_lost_state):
10450         * gst/gstmessage.c: (gst_message_new_state_changed),
10451         (gst_message_parse_state_changed):
10452         * gst/gstmessage.h:
10453         * tools/gst-launch.c: (event_loop):
10454         Added extra field to STATE_CHANGE message with the pending
10455         state, which will be different from the new state soon.
10456
10457 2005-10-08  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/gstbus.c: (gst_bus_pop):
10460         * gst/gstclock.c:
10461         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10462         Small cleanups and doc updates.
10463
10464 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * gst/gst.c: (init_pre):
10467         * gst/gstbin.c: (gst_bin_add_func):
10468           log distributing clocks and base time
10469         * gst/gstregistry.c: (gst_registry_add_plugin),
10470         (gst_registry_scan_path_level), (gst_registry_scan_path):
10471           clean up the debugging output a little
10472         * gst/gstutils.c: (gst_element_state_get_name):
10473           warn about a memleak (I've actually seen this be used, though
10474           it was probably a bug)
10475
10476 2005-10-07  Wim Taymans  <wim@fluendo.com>
10477
10478         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10479         (gst_base_src_init), (gst_base_src_default_newsegment),
10480         (gst_base_src_newsegment), (gst_base_src_do_seek),
10481         (gst_base_src_loop), (gst_base_src_start):
10482         * gst/base/gstbasesrc.h:
10483         Make the newsegment event customizable by subclasses.
10484
10485 2005-10-07  Wim Taymans  <wim@fluendo.com>
10486
10487         * gst/gstevent.c: (gst_event_new_buffersize),
10488         (gst_event_parse_buffersize):
10489         * gst/gstevent.h:
10490         New event for future idea.
10491
10492 2005-10-07  Andy Wingo  <wingo@pobox.com>
10493
10494         * gst/gstelement.c (gst_element_post_message): Doc update.
10495
10496         * docs/gst/gstreamer-sections.txt: Update.
10497
10498         * gst/gstmessage.c (gst_message_new_application): Made into a
10499         function like honest API calls.
10500         (gst_message_new_element): New message type.
10501
10502         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10503
10504         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10505         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10506         times.
10507
10508         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10509         NO_PREROLL from gst_element_change_state to fall through.
10510
10511 2005-10-07  Wim Taymans  <wim@fluendo.com>
10512
10513         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10514         (gst_ghost_pad_do_activate_push):
10515         Activating a ghostpad with no internal pad in push mode
10516         is ok.
10517
10518 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10519
10520         * gst/gstobject.h:
10521           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10522           Fixes compilation on Windows.
10523
10524 2005-10-07  Michael Smith <msmith@fluendo.com>
10525
10526         * tools/gst-inspect.c:
10527           Print out feature and plugin count at the end when printing out
10528           all features.
10529
10530 2005-10-04  Michael Smith <msmith@fluendo.com>
10531
10532         * gst/gsterror.c: (_gst_stream_errors_init):
10533           Add another error string used in a few existing plugins.
10534
10535         * gst/gstplugin.c:
10536         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10537         * tools/gst-inspect.c: (print_element_info):
10538           When a feature disappears from a plugin (and the feature exists in
10539           the cached registry file), things went horribly wrong. This isn't a
10540           complete fix, we should actually be removing the 'missing' features
10541           from the features list when we load the actual plugin. That's not
10542           yet implemented. 
10543
10544 2005-10-04  Johan Dahlin  <johan@gnome.org>
10545
10546         * check/gst/gstiterator.c: (GST_START_TEST):
10547         * gst/gstbin.c: (gst_bin_iterate_elements),
10548         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10549         * gst/gstelement.c: (gst_element_iterate_pads):
10550         * gst/gstformat.c: (gst_format_iterate_definitions):
10551         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10552         (gst_iterator_new_list), (gst_iterator_filter):
10553         * gst/gstiterator.h:
10554         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10555         Add a GType to GstIterator, update callsites and tests.
10556
10557 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10560           give events a chance to be handled by event probes when the pad
10561           is not linked
10562
10563 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * gst/gstevent.c: (gst_event_type_get_name),
10566         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10567         * gst/gstevent.h:
10568           add string representations for event types
10569
10570 2005-10-06  Wim Taymans  <wim@fluendo.com>
10571
10572         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10573         Don't use NULL pointers.
10574
10575 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10576
10577         * gst/gst_private.h:
10578         * gst/gstbus.c:
10579         * gst/gstelement.c:
10580         * gst/gstinfo.c:
10581         * gst/gstpluginfeature.c:
10582           widen the debug category in output to fit the biggest one we have
10583           add a bus category and use it
10584           play with the colors
10585           fix up some categories
10586
10587 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10588
10589         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10590           add push activation of sink ghost pads.
10591           Andye, please verify
10592
10593 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * gst/gstutils.c: (gst_element_link_pads):
10596           fix a bug in the case where neither element has a pad
10597         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10598           add a test for that case
10599
10600 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10601
10602         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10603           emit have-data before checking for peers.  This allows
10604           for probe handlers to connect elements.  This helps autopluggers.
10605         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10606         (gst_pad_suite):
10607           add six checks, linked/unlinked with no/true/false probe
10608
10609 2005-10-04  Wim Taymans  <wim@fluendo.com>
10610
10611         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10612         (gst_fake_sink_event), (gst_fake_sink_preroll),
10613         (gst_fake_sink_render), (gst_fake_sink_change_state):
10614         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10615         (gst_fake_src_get_property), (gst_fake_src_create),
10616         (gst_fake_src_stop):
10617         * gst/elements/gstidentity.c: (gst_identity_stop):
10618         Protect last_message with lock.
10619
10620 2005-10-04  Edward Hervey  <edward@fluendo.com>
10621
10622         * gst/gstformat.h: 
10623         Added precision in the comments for GST_FORMAT_DEFAULT
10624
10625 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10626
10627         * tools/gst-launch.c: (main):
10628           Don't try to run erroneous pipelines.
10629
10630 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10631
10632         * gst/gstbus.c: We don't need this header.
10633
10634 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10635
10636         * configure.ac:
10637           back to development
10638
10639 === release 0.9.3 ===
10640
10641 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * README:
10644         * configure.ac:
10645           Releasing 0.9.3, "Unregistered"
10646
10647 2005-10-03  Andy Wingo  <wingo@pobox.com>
10648
10649         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10650         whereby calling a pad's activatepush() function can start a thread
10651         that starts to push or pull before the pad gets the FLUSHING flag
10652         unset. Hack around it by holding the stream lock until the flag is
10653         set. Need to replace this with a proper solution. Together with
10654         the ghost pad fixes, this fixes mp3 playing/tagreading.
10655
10656         * docs/design/part-gstghostpad.txt: Add a note about activation of
10657         proxy pads outside of ghost pads.
10658
10659         * gst/gstghostpad.c: Implement the ghost pad activation design.
10660
10661 2005-10-02  Andy Wingo  <wingo@pobox.com>
10662
10663         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10664         It is volatile, after all.
10665
10666         * docs/design/part-gstghostpad.txt: Flesh out activation with
10667         ghost pads.
10668
10669         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10670         GST_DEBUG_FUNCPTR.
10671
10672 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10673
10674         * configure.ac:
10675           Fix (unused) AM_CONDITIONAL tests.
10676
10677 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10678
10679         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10680
10681         * gst/gstutils.c: (gst_pad_query_convert):
10682           Add assertion that makes sure src_val is >=0, just like
10683           gst_query_new_convert() has. (#315895)
10684
10685 2005-09-30  Edward Hervey  <edward@fluendo.com>
10686
10687         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10688         Let's not iterate pads we're not interested in, it avoids getting 
10689         sky-high refcounts on sinkpad.
10690
10691 2005-09-30  Wim Taymans  <wim@fluendo.com>
10692
10693         * gst/gstelement.c: (gst_element_set_state),
10694         (gst_element_change_state):
10695         Small tweak, element in ASYNC remains ASYNC.
10696
10697 2005-09-30  Wim Taymans  <wim@fluendo.com>
10698
10699         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10700         Only error is an error.
10701
10702         * gst/gstbin.c: (gst_bin_change_state):
10703         Better debugging.
10704
10705         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10706         Also call pad_block in pad alloc.
10707
10708         * gst/gstutils.c: (gst_flow_get_name):
10709         Better debugging.
10710
10711 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10714         (gst_base_src_get_range):
10715           Fix documentation typos. Add some more debug info.
10716
10717 2005-09-29  David Schleef  <ds@schleef.org>
10718
10719         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10720           more end-user friendly.
10721         * tools/gst-inspect.c: (main): Check if command-line argument is
10722           a file and attempt to load that file as a plugin.
10723
10724 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * check/gst/gstbin.c:
10727         * check/states/sinks.c:
10728           fix tests for the new warning
10729         * check/gst/gstpipeline.c:
10730           add a test for pipeline and bus interaction
10731         * gst/gstelement.c:
10732           elements should be NULL if they get disposed; add a warning if not
10733
10734 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10735
10736         * gst/gstobject.c:
10737           for 2.6 refcounting, make debug log more correct by printing
10738           the actual refcounts at the time of swap (Wim)
10739
10740 2005-09-29  Andy Wingo  <wingo@pobox.com>
10741
10742         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10743         removes signal watches previously added via
10744         gst_bus_add_signal_watch.
10745         (gst_bus_add_signal_watch): Don't return the source id, just store
10746         it on the bus if there wasn't an id already.
10747
10748         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10749         add_signal_watch and remove_signal_watch.
10750
10751 2005-09-29  Edward Hervey  <edward@fluendo.com>
10752
10753         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10754         Better if we actually iterate the list :)
10755
10756 2005-09-29  Wim Taymans  <wim@fluendo.com>
10757
10758         * check/gst/gstbin.c: (GST_START_TEST):
10759         Change for new bus API.
10760
10761         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10762         (send_messages), (GST_START_TEST), (gstbus_suite):
10763         Change for new bus signal API.
10764
10765         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10766         (gst_bus_source_prepare), (gst_bus_source_check),
10767         (gst_bus_create_watch), (gst_bus_add_watch_full),
10768         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10769         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10770         * gst/gstbus.h:
10771         Remove support for multiple GSources operating on different
10772         message types as it is too complex and unneeded when using
10773         signals.
10774         Added support for receiving signals from the bus.
10775
10776 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * docs/libs/tmpl/gstdataprotocol.sgml:
10779         * docs/manual/advanced-dataaccess.xml:
10780         * gst/elements/gstcapsfilter.c:
10781         * gst/gstutils.c:
10782           rename filter-caps to caps property
10783
10784 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10785
10786         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10787           More robust fraction string parsing.
10788
10789         * docs/pwg/appendix-porting.xml:
10790           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10791
10792 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10793
10794         * gst/gstcaps.c: (gst_caps_do_simplify):
10795           Thou shalt not free a structure and then continue using it
10796           in the next loop iteration.
10797
10798         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10799         (gst_caps_suite):
10800           Add test case for caps simplification.
10801
10802 2005-09-29  Wim Taymans  <wim@fluendo.com>
10803
10804         * check/gst/gstbin.c: (GST_START_TEST):
10805         Oops.
10806
10807 2005-09-29  Wim Taymans  <wim@fluendo.com>
10808
10809         * check/gst/gstbin.c: (GST_START_TEST):
10810         Add bus to bin.
10811
10812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10813         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10814         (find_element), (gst_bin_sort_iterator_next),
10815         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10816         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10817         (gst_bin_change_state), (gst_bin_dispose):
10818         A bin does not have a bus, it gets the bus from the parent.
10819
10820         * gst/gstelement.c: (gst_element_requires_clock),
10821         (gst_element_provides_clock), (gst_element_is_indexable),
10822         (gst_element_is_locked_state), (gst_element_change_state),
10823         (gst_element_set_bus_func):
10824         Small cleanups.
10825
10826         * gst/gstpipeline.c: (gst_pipeline_class_init),
10827         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10828         The pipeline provides a bus.
10829
10830 2005-09-28  Johan Dahlin  <johan@gnome.org>
10831
10832         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10833         gst_structure_get_enum instead of gst_structure_get_int
10834
10835         * gst/gststructure.c (gst_structure_get_enum): Impl.
10836
10837         * gst/gststructure.h (gst_structure_get_enum): Add
10838
10839         * docs/gst/gstreamer-sections.txt: Ditto
10840
10841         * gst/gstmessage.c (gst_message_new_state_changed): Use
10842         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10843         which does introspection.
10844         Reviewed by Christian Schaller
10845
10846 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10847
10848         * gst/gstinfo.c: (gst_debug_log_default):
10849           don't do dummy g_strdup()s
10850         * libs/gst/controller/gstcontroller.c:
10851         (on_object_controlled_property_changed),
10852         (gst_controlled_property_new), (gst_controller_new_valist),
10853         (gst_controller_new_list),
10854         (gst_controller_remove_properties_valist), (gst_controller_set),
10855         (gst_controller_get), (gst_controller_sync_values),
10856         (gst_controller_get_value_array), (_gst_controller_class_init),
10857         (gst_controller_get_type):
10858         * libs/gst/controller/gstcontroller.h:
10859         * libs/gst/controller/gstinterpolation.c:
10860         (gst_controlled_property_find_timed_value_node):
10861           convert // to /**/ comments
10862
10863 2005-09-28  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10866         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10867         (gst_bus_sync_signal_handler):
10868         * gst/gstbus.h:
10869         Added async-message and sync-message signals to the bus.
10870         Added helper BusFunc to emit signals for all posted messages.
10871
10872         * gst/gstmessage.c: (gst_message_type_get_name),
10873         (gst_message_type_to_quark), (gst_message_get_type):
10874         * gst/gstmessage.h:
10875         Register quarks for message names.
10876
10877 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10878
10879         * docs/libs/gstreamer-libs-sections.txt:
10880         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10881         (gst_controller_new_list):
10882         * libs/gst/controller/gstcontroller.h:
10883           added another constructor for language bindings
10884
10885 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10888           add another check
10889         * gst/gstbus.c:
10890           add some doc
10891         * gst/gstinfo.c: (_gst_debug_init):
10892           slightly more readable color for refcount debugging
10893
10894 2005-09-28  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10897         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10898         (find_element), (gst_bin_sort_iterator_next),
10899         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10900         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10901         (gst_bin_change_state), (gst_bin_dispose):
10902         Small doc fixes. get_clock -> provide_clock.
10903
10904         * gst/gstelement.c: (gst_element_class_init),
10905         (gst_element_provides_clock), (gst_element_provide_clock),
10906         (gst_element_get_clock), (gst_element_commit_state),
10907         (gst_element_lost_state):
10908         * gst/gstelement.h:
10909         Make get/set_clock() symetric. Add provide_clock vmethod since
10910         that is actually what this function does.
10911
10912         * gst/gstpipeline.c: (gst_pipeline_class_init),
10913         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10914         (gst_pipeline_get_clock):
10915         get_clock -> provide_clock.
10916
10917 2005-09-28  Andy Wingo  <wingo@pobox.com>
10918
10919         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10920         lieu of real docs...
10921
10922         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10923
10924 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10925
10926         * gst/elements/gstcapsfilter.c:
10927         * gst/elements/gstfakesink.c:
10928         * gst/elements/gstfakesrc.c:
10929         * gst/elements/gstfdsink.c:
10930         * gst/elements/gstfdsrc.c:
10931         * gst/elements/gstfilesink.c:
10932         * gst/elements/gstfilesrc.c:
10933         * gst/elements/gstidentity.c:
10934         * gst/elements/gsttee.c:
10935         * gst/elements/gsttypefindelement.c:
10936           Make element details static.
10937
10938 2005-09-28  Wim Taymans  <wim@fluendo.com>
10939
10940         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10941         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10942         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10943         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10944         (gst_bin_change_state), (gst_bin_dispose):
10945         Some documentation updates.
10946         Clean up dispose handlers.
10947
10948         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10949         * gst/gstpad.c: (gst_pad_dispose):
10950         Clean up dispose handler.
10951
10952         * gst/gstpipeline.c: (gst_pipeline_change_state):
10953         Removed spurious UNLOCK.
10954
10955 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10956
10957         * docs/gst/gstreamer-sections.txt:
10958         * gst/base/gstbasesrc.h:
10959         * gst/gstelement.h:
10960         * gst/gstevent.h:
10961         * gst/gstobject.h:
10962         * gst/gstpad.h:
10963         * gst/gstpipeline.c:
10964         * gst/gstpipeline.h:
10965         * gst/gstutils.h:
10966         * gst/gstxml.h:
10967           added two new functions to the docs
10968                 documents all undocumented GstXXXFlags
10969                 completed some incomplete docs 
10970
10971 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10972
10973         * gst/gstbin.c: (gst_bin_dispose):
10974         * gst/gstelement.c: (gst_element_dispose):
10975           remove now useless and leaky resurrection code in dispose
10976         * gst/base/gstbasesrc.c: (gst_base_src_init):
10977         * gst/gstelementfactory.c: (gst_element_factory_create):
10978         * gst/gstobject.c: (gst_object_set_parent):
10979           add some debugging
10980
10981 2005-09-27  Wim Taymans  <wim@fluendo.com>
10982
10983         * docs/design/part-TODO.txt:
10984         Update TODO.
10985
10986         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10987         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10988         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10989         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10990         (gst_bin_change_state):
10991         * gst/gstelement.h:
10992         Remove element variable, we keep element info in the iterator now.
10993
10994 2005-09-27  Andy Wingo  <wingo@pobox.com>
10995
10996         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10997         values.
10998
10999 2005-09-27  Wim Taymans  <wim@fluendo.com>
11000
11001         * check/gst/gstbin.c: (GST_START_TEST):
11002         Enable check that works now.
11003
11004         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11005         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11006         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11007         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11008         (gst_bin_change_state):
11009         * gst/gstbin.h:
11010         Redid the state change algorithm using a topological sort algo.
11011         Handles all cases correctly.
11012         Exposed iterator for state change order.
11013
11014         * gst/gstelement.h:
11015         Temp storage for state changes. Need to get rid of this soon.
11016
11017 2005-09-27  Wim Taymans  <wim@fluendo.com>
11018
11019         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11020         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11021         (link_fold_func), (gst_pad_proxy_setcaps):
11022         Leak fixes, the fold functions need to unref the passed object and
11023         _get_parent_*() returns ref to parent.
11024
11025 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11026
11027         * check/gst/gstbuffer.c: (test_make_writable):
11028           Plug leak in test case and fix 'make check-valgrind'
11029
11030 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11031
11032         * gst/gstbuffer.c: (gst_subbuffer_init):
11033           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11034           works correctly in all circumstances (we could have just copied
11035           the parent buffer's readonly flag, but conceptually it seems
11036           cleaner to mark all subbuffers as read-only). (based on patch
11037           by Alessandro Decina, #314710).
11038         
11039         * check/gst/gstbuffer.c: (create_read_only_buffer),
11040         (test_make_writable), (test_subbuffer_make_writable),
11041         (gst_test_suite):
11042           Add some tests for gst_buffer_make_writable().
11043
11044 2005-09-27  Wim Taymans  <wim@fluendo.com>
11045
11046         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11047         use gst_object_has_ancestor().
11048
11049         * gst/gstobject.c: (gst_object_has_ancestor):
11050         * gst/gstobject.h:
11051         gst_object_has_ancestor() copied from gstbin.c as it is a
11052         usefull function.
11053
11054         * tests/instantiate/create.c: (create_all_elements):
11055         * tests/lat.c: (handoff_src), (handoff_sink):
11056         * tests/sched/runxml.c: (main):
11057         * tests/seeking/seeking1.c: (main):
11058         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11059         (main):
11060         Fix compilation of some tests.
11061
11062 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11063
11064         * gst/gsterror.h:
11065           Remove comment. GST_TYPE_G_ERROR is here to stay,
11066           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11067           (#316961, #300610).
11068
11069 2005-09-26  Wim Taymans  <wim@fluendo.com>
11070
11071         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11072         Added check that shows error in state change order.
11073
11074 2005-09-26  Wim Taymans  <wim@fluendo.com>
11075
11076         * gst/gstbin.c: (gst_bin_change_state):
11077         Make state change function use 3 queues again, we were
11078         adding elements in the wrong order.
11079
11080         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11081         Some debug info,
11082
11083         * gst/gstpad.c: (gst_pad_dispose):
11084         Added some debug info first.
11085
11086 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         * docs/design/draft-push-pull.txt:
11089         * docs/design/part-events.txt:
11090         * docs/design/part-overview.txt:
11091         * docs/design/part-scheduling.txt:
11092           Replace all _pull_region() with _pull_range()
11093           
11094 2005-09-26  Andy Wingo  <wingo@pobox.com>
11095
11096         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11097
11098         * check/gst-libs/controller.c: Update for controller api change.
11099
11100         * configure.ac: 
11101         * tests/Makefile.am:
11102         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11103         over by GLib bug 118439.
11104         
11105         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11106         routines to a function.
11107
11108         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11109
11110         * libs/gst/controller/gsthelper.c:
11111         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11112         (gst_object_sync_values): Renamed from sink_values. Ugh.
11113
11114         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11115
11116         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11117         Renamed from controller_key, as it is exported.
11118
11119         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11120
11121 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11122
11123         * gst/Makefile.am:
11124         * gst/gst.h:
11125         * gst/gstpad.h:
11126         * gst/gstpadtemplate.h:
11127         * gst/gstquery.c:
11128         * gst/gstquery.h:
11129         * gst/gstqueryutils.c:
11130         * gst/gstqueryutils.h:
11131           remove queryutils headers after moving the two used functions
11132           to gstquery.  also fixes build problem for gstsiddec
11133
11134 2005-09-26  Michael Smith <msmith@fluendo.com>
11135
11136         * tools/gst-launch.1.in:
11137         Correct documentation in manpage of debug syntax
11138
11139 2005-09-26  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11142         (gst_base_src_is_seekable), (gst_base_src_change_state):
11143         Some more debugging info.
11144
11145 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11146
11147         * docs/gst/gstreamer-sections.txt:
11148         * gst/base/gstbasetransform.h:
11149         * gst/gstindex.h:
11150           added more docs
11151
11152 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11153
11154         * docs/gst/.cvsignore:
11155         * docs/gst/tmpl/.cvsignore:
11156         * docs/gst/tmpl/gstpipeline.sgml:
11157         * docs/gst/tmpl/gstplugin.sgml:
11158         * gst/gstpipeline.c:
11159         * gst/gstplugin.c:
11160         * gst/gstplugin.h:
11161           inlined the last two docs files
11162           removed the tmpl directory from cvs (no more conflicts here!)
11163
11164 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11165
11166         * docs/gst/gstreamer-sections.txt:
11167         * docs/gst/tmpl/.cvsignore:
11168         * docs/gst/tmpl/gstpad.sgml:
11169         * docs/gst/tmpl/gstpadtemplate.sgml:
11170         * gst/Makefile.am:
11171         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11172         (gst_pad_finalize), (gst_pad_set_pad_template):
11173         * gst/gstpad.h:
11174         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11175         (gst_pad_template_class_init), (gst_pad_template_init),
11176         (gst_pad_template_dispose), (name_is_valid),
11177         (gst_static_pad_template_get), (gst_pad_template_new),
11178         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11179         (gst_pad_template_pad_created):
11180         * gst/gstpadtemplate.h:
11181           inlined two more docs
11182           factored gstpadtemplate out of gstpad
11183
11184 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11185
11186         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11187         (test_children_state_change_order_semi_sink):
11188           Fix test case: we can't rely on a fixed state change order when
11189           going from READY => PAUSED because the sink might commit its 
11190           new state first when the first buffer created by the source 
11191           reaches the sink before the source has finished its change state.
11192           (Test case still fails at times, see #316856, comment 5 onwards)
11193
11194 2005-09-24  Wim Taymans  <wim@fluendo.com>
11195
11196         * docs/design/part-events.txt:
11197         * docs/design/part-gstbus.txt:
11198         * docs/design/part-gstpipeline.txt:
11199         * docs/design/part-messages.txt:
11200         * docs/design/part-overview.txt:
11201         * docs/design/part-segments.txt:
11202         * gst/gstbin.c:
11203         * gst/gstbuffer.c:
11204         * gst/gstclock.c:
11205         * gst/gstelement.c:
11206         * gst/gstevent.c:
11207         * gst/gstfilter.c:
11208         * gst/gstiterator.c:
11209         Various documentation updates.
11210
11211 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * gst/gstclock.h:
11214           Well, that's embarassing.  Luckily we weren't using
11215           GST_CLOCK_DIFF anywhere.
11216
11217 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * common/gtk-doc.mak:
11220           don't fail on building XML, FC4 slave shows a bunch of doc
11221           missing bits that I don't get
11222         * gst/gstpad.c:
11223         * gst/gstpipeline.c:
11224         * gst/gststructure.c:
11225           some doc updates
11226
11227 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11228
11229         * docs/design/part-gstbin.txt:
11230         * docs/design/part-gstbus.txt:
11231         * gst/gstbus.c:
11232           Add blurb about how the bus goes into flushing mode and
11233           drops all messages when its bin goes from READY into NULL 
11234           state.
11235
11236 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * docs/gst/gstreamer-sections.txt:
11239         * gst/gststructure.c: (gst_structure_get_clock_time):
11240         * gst/gststructure.h:
11241           add a method to get a GstClockTime out of a structure
11242
11243 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11244
11245         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11246         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11247           Added test to check state change order in bins (can still be made
11248           to fail here under heavy disk load; bails out with 'Push on pad
11249           fakesink:sink0, but it was not activated in push mode').
11250
11251         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11252           Fix state change order when there is only a semi sink (#316856)
11253
11254         * gst/gstbus.c: (gst_bus_class_init):
11255           Use _class_peek_parent(), not _class_ref(); fix docs to say
11256           'default main context' instead of 'mainloop' where that is
11257           what's meant.
11258
11259         * gst/gstelement.c: (gst_element_commit_state),
11260         (gst_element_set_state):
11261           Fix typos in debug messages
11262
11263 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11264
11265         * docs/README:
11266         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11267         * gst/gstpluginfeature.c:
11268         * gst/gstutils.c:
11269           various doc updates
11270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11271           change an assert into an error until it gets fixed properly
11272
11273 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11274
11275         * docs/gst/gstreamer-sections.txt:
11276         * docs/gst/tmpl/.cvsignore:
11277         * docs/gst/tmpl/gstelement.sgml:
11278         * docs/gst/tmpl/gstinfo.sgml:
11279         * docs/gst/tmpl/gstobject.sgml:
11280         * gst/gstelement.c:
11281         * gst/gstelement.h:
11282         * gst/gstinfo.c:
11283         * gst/gstinfo.h:
11284         * gst/gstobject.c: (gst_object_class_init):
11285         * gst/gstobject.h:
11286           inlined 3 more biiiig doc files and added some missing docs on the fly
11287
11288 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11289
11290         * check/gst/.cvsignore:
11291         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11292         * gst/gstregistryxml.c: (load_plugin),
11293         (gst_registry_xml_save_plugin):
11294           put back source in registry.  add checks for find_plugin.
11295         * testsuite/states/bin.c: (assert_state), (empty_bin),
11296         (test_adding_one_element), (main):
11297         * testsuite/states/locked.c: (main):
11298           some compile/run fixes
11299
11300 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11301
11302         * check/gst/gstvalue.c: (GST_START_TEST):
11303           fix leaks in the test itself
11304
11305 2005-09-22  Wim Taymans  <wim@fluendo.com>
11306
11307         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11308         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11309         (gst_base_sink_query):
11310         Prepare for more accurate position reporting and query
11311         handling.
11312
11313         * gst/gstelement.c: (gst_element_send_event),
11314         (gst_element_set_state):
11315         Add some comment.
11316
11317 2005-09-22  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11320         (gst_query_parse_segment):
11321         * gst/gstquery.h:
11322         More documentation.
11323         Add segment query for future use.
11324
11325 2005-09-22  Wim Taymans  <wim@fluendo.com>
11326
11327         * gst/gstbin.c: (gst_bin_add_func):
11328         Some more debug info.
11329
11330         * gst/gstelement.c: (gst_element_send_event):
11331         Simplify send_event
11332
11333         * gst/gstelement.h:
11334         Don't know how flags got broken.
11335
11336         * gst/gstquery.h:
11337         Added new query.
11338
11339 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11340
11341         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11342           Add simplistic test suite for GST_TYPE_DATE serialisation and
11343           deserialisation.
11344
11345 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11346
11347         * docs/gst/gstreamer-sections.txt:
11348         * gst/gststructure.c: (gst_structure_set_valist),
11349         (gst_structure_get_date):
11350         * gst/gststructure.h:
11351         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11352         (gst_date_copy), (gst_value_compare_date),
11353         (gst_value_serialize_date), (gst_value_deserialize_date),
11354         (gst_value_transform_date_string),
11355         (gst_value_transform_string_date), (_gst_value_initialize):
11356         * gst/gstvalue.h:
11357           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11358           bunch of utility functions along with a hack that checks that
11359           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11360           is required. Part of the grand scheme in #170777.
11361
11362 2005-09-22  Andy Wingo  <wingo@pobox.com>
11363
11364         * gst/gstconfig.h.in: Psych out gtk-doc.
11365
11366         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11367
11368         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11369
11370         * tools/gst-inspect.c (print_element_list): Plug some
11371         inconsequential leaks.
11372
11373         * gst/gstregistry.c (gst_registry_get_default): Doc.
11374
11375         * check/gst/gstplugin.c: 
11376         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11377         * gst/gstelementfactory.c (gst_element_factory_create): 
11378         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11379         refcount changes.
11380
11381         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11382         (gst_plugin_feature_load): Doc, don't eat refs.
11383
11384         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11385         (gst_plugin_list_free): Doc.
11386         (gst_plugin_load_file): Doc updates.
11387
11388         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11389         accessors returning refcounted objects, return a ref.
11390
11391         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11392         accessor for caps. IDEMPOTENCE. Oh yes.
11393
11394 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11395
11396         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11399         (_gst_debug_register_funcptr):
11400           Add mutex to serialise access to the hash table with
11401           the function pointer => function name string mapping;
11402           make that hash table static scope (#316809).
11403
11404         * gst/registries/.cvsignore:
11405           Remove left-over file.
11406
11407 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11408
11409         * docs/pwg/appendix-porting.xml:
11410           And something about newsegment events and caps-on-buffers to
11411           the porting guide (feel free to improve).
11412
11413 2005-09-21  Andy Wingo  <wingo@pobox.com>
11414
11415         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11416         data and event probes on the same pad.
11417         (test_buffer_probe_once): Test that removing probes from within
11418         the probe functions works.
11419
11420 2005-09-21  Andy Wingo  <wingo@pobox.com>
11421
11422         * check/gst/gstutils.c: New file.
11423         (test_buffer_probe_n_times): A simple buffer probe test. More to
11424         come, foolios.
11425
11426         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11427         have-data::buffer, not have-data.
11428         (gst_pad_add_event_probe): Likewise for have-data::event.
11429         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11430         peer' isn't quite right yet though.
11431         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11432         (gst_pad_remove_data_probe): Change to take the guint handler_id
11433         as their arg, not the function+data, which is more glib-like.
11434
11435         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11436         the signal emission to indicate if the data is a buffer or an
11437         event.
11438         (gst_pad_get_type): Initialize buffer and event quarks.
11439         (gst_pad_class_init): have-data is now a detailed signal, yes it
11440         is.
11441
11442 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11445         * gst/gstutils.c: (gst_util_set_value_from_string),
11446         (gst_util_set_object_arg):
11447           Don't put functional code in g_return_if_fail() or
11448           g_return_val_if_fail() statements, otherwise things will 
11449           break when G_DISABLE_CHECKS is defined during compilation.
11450
11451 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11452
11453         * docs/gst/tmpl/.cvsignore:
11454         * docs/gst/tmpl/gstvalue.sgml:
11455         * gst/gstvalue.c:
11456         * gst/gstvalue.h:
11457           inlied another one and added  some obvious docs
11458
11459 2005-09-21  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11462         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11463         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11464         (gst_fdsrc_get_property), (gst_fdsrc_create):
11465         * gst/elements/gstfdsrc.h:
11466         Properly implement fdsrc. Removed signal and timeout,
11467         better implemented somewhere else.
11468
11469 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11470
11471         * docs/gst/tmpl/.cvsignore:
11472         * docs/gst/tmpl/gstimplementsinterface.sgml:
11473         * gst/gstinterface.c:
11474           inlined more docs
11475
11476 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11477
11478         * docs/gst/gstreamer-sections.txt:
11479         * docs/gst/tmpl/.cvsignore:
11480         * docs/gst/tmpl/gstenumtypes.sgml:
11481           remove obsolete doc file
11482
11483 2005-09-21  David Schleef  <ds@schleef.org>
11484
11485         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11486         little beer, fix a little leak.
11487
11488 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11489
11490         * docs/gst/gstreamer-docs.sgml:
11491         * docs/gst/gstreamer-sections.txt:
11492         * docs/gst/tmpl/.cvsignore:
11493         * gst/Makefile.am:
11494         * gst/gst.h:
11495         * gst/gstbin.c:
11496         * gst/gstelement.h:
11497         * gst/gstindex.c: (gst_index_class_init):
11498         * gst/gstindex.h:
11499         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11500         (gst_index_factory_class_init), (gst_index_factory_init),
11501         (gst_index_factory_finalize), (gst_index_factory_new),
11502         (gst_index_factory_destroy), (gst_index_factory_find),
11503         (gst_index_factory_create), (gst_index_factory_make):
11504         * gst/gstindexfactory.h:
11505         * gst/gstpluginfeature.c:
11506         * gst/gstpluginfeature.h:
11507         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11508           more docs inlined, splitted gstindex.{c,h}
11509
11510 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11511
11512         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11513           fix a leak
11514
11515 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11516
11517         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11518           Set sync to FALSE by default.
11519
11520 2005-09-20  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11523         (gst_base_sink_init):
11524         Make sync property settable from subclass.
11525
11526         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11527         (gst_fake_sink_change_state):
11528         Set sync to FALSE by default.
11529
11530 2005-09-20  Wim Taymans  <wim@fluendo.com>
11531
11532         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11533         * tools/gst-launch.c: (main):
11534         The timeout handler should have lower priority than the source
11535         so we don't timeout before popping a message with 0 timeout.
11536         Dump error messages after failed state change.
11537
11538 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11539
11540         * tools/gst-inspect.c: (print_element_properties_info):
11541           Fix two typos.
11542
11543 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11544
11545         * check/gst/gstevent.c:
11546         * gst/elements/gstfakesink.c:
11547         * gst/elements/gstfakesink.h:
11548           remove the sync property from fakesink.
11549           has the side effect of setting sync TRUE
11550           for fakesink, which is a change.  Anyone who knows how
11551           to fix this nicely in a GObject-y way, feel free.
11552
11553 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11554
11555         * docs/gst/gstreamer-docs.sgml:
11556           remove probe refsection
11557
11558 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11559
11560         * check/Makefile.am:
11561           disable valgrinding the controller test again
11562         * docs/gst/gstreamer-sections.txt:
11563           update for api-changes
11564
11565 2005-09-20  Wim Taymans  <wim@fluendo.com>
11566
11567         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11568         (gst_base_sink_set_property), (gst_base_sink_get_property),
11569         (gst_base_sink_do_sync):
11570         * gst/base/gstbasesink.h:
11571         Added sync property to basesink to disable clock sync.
11572
11573 2005-09-20  Andy Wingo  <wingo@pobox.com>
11574
11575         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11576         eating the caller's refcount.
11577
11578         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11579         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11580         refcount.
11581
11582         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11583         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11584         of GLib 2.8 public, so we can know which refcount to check in
11585         tests.
11586
11587         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11588         (gst_object_init): Only set the gst refcount if we're going ahead
11589         with the refcount hack.
11590
11591 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11592
11593         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11594         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11595           more leaks plumbed, added more debug-logging
11596         * gst/gstmacros.h:
11597           whitespace fix
11598
11599 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * gst/gstmessage.c:
11602           remove include of gstmemchunk.h
11603
11604 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11605
11606         * gst/gstclock.c: (_gst_clock_id_free):
11607           Commit from the Political Party For More Atomic CVS Commits,
11608           so that people don't waste too much of their day fishing
11609           out obvious leaks out of massive commits.
11610           Oh, and fix a pretty damn obvious leak in the memchunk
11611           removal code.
11612
11613 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11614
11615         * check/Makefile.am:
11616         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11617           plug mem-leak, re-add to valgrindable tests
11618
11619 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * gst/gstplugin.h:
11622           unbreak the build for those who have chronic arthritis
11623           and typing "make check" is just too taxing on the hands
11624
11625 2005-09-20  Andy Wingo  <wingo@pobox.com>
11626
11627         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11628         really want it out, you should fix plugins at the same time.
11629
11630 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11631
11632         * configure.ac:
11633         * docs/gst/gstreamer-sections.txt:
11634         * gst/gstobject.c:
11635           added missing symbols to api docs
11636           disable ref-count hack if we have glib >= 2.8
11637
11638 2005-09-19  David Schleef  <ds@schleef.org>
11639
11640         * docs/gst/Makefile.am: Ignore a few more internal headers
11641         * docs/gst/gstreamer-docs.sgml: Remove old sections
11642         * docs/gst/gstreamer-sections.txt: Remove old sections
11643         * docs/gst/tmpl/gstobject.sgml: update
11644         * docs/gst/tmpl/gstplugin.sgml: update
11645         * docs/gst/tmpl/gstpluginfeature.sgml: update
11646         * docs/random/ds/0.9-suggested-changes: update.
11647         * gst/Makefile.am: remove memchunk and trashstack, since they're
11648           not used.
11649         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11650         * gst/gst.h: don't include some headers
11651         * gst/gstchildproxy.c: add gstmarshal.h
11652         * gst/gstclock.c: Don't use memchunks
11653         * gst/gstminiobject.c: Add some docs
11654         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11655         * gst/gstobject.h: same
11656         * gst/gstplugin.c: include gstmacros.h
11657         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11658         * gst/gstquery.c: don't use memchunks
11659         * gst/gstregistry.c: rename gst_registry_deinit()
11660         * gst/gstregistry.h: same
11661
11662 2005-09-19  David Schleef  <ds@schleef.org>
11663
11664         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11665         * docs/libs/gstreamer-libs-sections.txt:
11666         * docs/libs/tmpl/gstgetbits.sgml:
11667         * docs/libs/tmpl/gstputbits.sgml:
11668
11669 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11670
11671         * win32/gstenumtypes.c:
11672         * win32/gstenumtypes.h:
11673           Update.
11674
11675 2005-09-19  Wim Taymans  <wim@fluendo.com>
11676
11677         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11678         Automatically PAUSE and RESUME a pipeline when a flushing seek
11679         is performed.
11680
11681 2005-09-19  Andy Wingo  <wingo@pobox.com>
11682
11683         * gst/gstregistry.h: Spacing fixen.
11684
11685 2005-09-19  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11688         Handle state change failure more correctly.
11689
11690 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11691
11692         * check/Makefile.am:
11693         * check/pipelines/cleanup.c: (run_pipeline):
11694         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11695         (GST_START_TEST):
11696           enable cleanup again after fixing the leak
11697         * docs/README:
11698           some more info on docs
11699
11700 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * check/Makefile.am:
11703           re-enable tests now that leaks are plugged
11704         * check/gst/gst.c:
11705         * check/gst/gstbin.c:
11706         * check/gst/gstpipeline.c:
11707           add some more tests while fixing leaks
11708         * common/check.mak:
11709           make sure binaries are uptodate when valgrinding/gdbing
11710         * gst/gst.c:
11711         * gst/gstelementfactory.c:
11712           remove a ref too many, and add a FIXME for when we get
11713           round to disposing of classes
11714         * gst/gstplugin.c:
11715           fix the refcounting when loading a plugin from a file and
11716           the code pretends that the pointer is the same even though
11717           of course it can change
11718         * gst/gstpluginfeature.c:
11719           unref plugins marked cached (a bit confusing as a name)
11720           as the docs state should be done
11721           various doc additions to explain refcounting
11722         * gst/gstregistry.c:
11723         * gst/gstregistryxml.c:
11724           debugging
11725
11726 2005-09-19  Wim Taymans  <wim@fluendo.com>
11727
11728         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11729         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11730         (send_messages), (GST_START_TEST), (gstbus_suite):
11731         * check/gst/gstpipeline.c: (GST_START_TEST):
11732         * check/pipelines/cleanup.c: (run_pipeline):
11733         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11734         (GST_START_TEST):
11735         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11736         (gst_bus_source_check), (gst_bus_source_dispatch),
11737         (gst_bus_create_watch), (gst_bus_add_watch_full),
11738         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11739         * gst/gstbus.h:
11740         * tools/gst-launch.c: (event_loop):
11741         * tools/gst-md5sum.c: (event_loop):
11742         GstBusHandler -> GstBusFunc, return value has the same meaning as
11743         any other GSource (FALSE == remove source).
11744         _add_watch() and _add_watch_full() now take a MessageType mask to
11745         only handle specific types of messages.
11746         _poll() returns the GstMessage instead of the message type to avoid
11747         race conditions.
11748         _have_pending() takes a MessageType mask now too.
11749         Added testsuite for multiple bus watches.
11750         Fix testsuites and applications for new bus API.
11751
11752 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * check/Makefile.am:
11755           mark a bunch of the tests as to fix until we fix them
11756
11757 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * common/check.mak:
11760           use GST_PLUGIN settings for valgrind tests as well, so we're
11761           valgrinding the correct thing
11762         * gst/gst.c: (init_post):
11763           plug another leak
11764
11765 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * gst/gst.c: (init_post), (gst_deinit):
11768         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11769         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11770         * gst/gstindex.c: (gst_index_factory_class_init),
11771         (gst_index_factory_finalize):
11772         * gst/gstobject.c: (gst_object_dispose):
11773         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11774         (gst_plugin_load_file), (gst_plugin_desc_free):
11775         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11776         (gst_plugin_feature_finalize):
11777         * gst/gstregistry.c: (gst_registry_class_init),
11778         (gst_registry_init), (gst_registry_finalize),
11779         (gst_registry_get_default), (gst_registry_deinit):
11780         * gst/gstregistry.h:
11781         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11782           various cleanups and memleak plugging.  make valgrind is happy now.
11783
11784 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11785
11786         * common/check.mak:
11787           add a check-valgrind target
11788
11789 2005-09-18  David Schleef  <ds@schleef.org>
11790
11791         * tools/gst-inspect.c: Revert the GOption code.
11792
11793 2005-09-17  David Schleef  <ds@schleef.org>
11794
11795         * check/Makefile.am: Fix environment variables.
11796         * check/gst/gstplugin.c: Fix for API changes.
11797         * tools/gst-inspect.c: Fix for API changes.
11798         * tools/gst-xmlinspect.c: Fix for API changes.
11799         * gst/gstelementfactory.c:
11800         * gst/gstplugin.c:
11801         * gst/gstplugin.h:
11802         * gst/gstpluginfeature.c:
11803         * gst/gstpluginfeature.h:
11804         * gst/gstregistry.c:
11805         * gst/gstregistry.h:
11806         * gst/gstregistryxml.c:
11807         * gst/gsttypefind.c:
11808         * gst/gsttypefindfactory.c:
11809         * gst/indexers/gstfileindex.c:
11810         * gst/indexers/gstmemindex.c:
11811         * gst/schedulers/Makefile.am:
11812           Change registry to keep track of both plugins and features,
11813           removing the feature tracking from plugins themselves.
11814
11815 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * check/Makefile.am:
11818         * tools/gst-register.1.in:
11819           remove gst-register
11820
11821 2005-09-15  David Schleef  <ds@schleef.org>
11822
11823         * check/gst/gstplugin.c:
11824         * gst/gstelementfactory.c:
11825         * gst/gstplugin.c:
11826         * gst/gstpluginfeature.c:
11827         * gst/gstregistry.c:
11828           Getting tired of debugging.  Disabled all the unreffing of
11829           plugins and features, which fixes the segfaults, but of
11830           course leaks like crazy.  At least playbin works.
11831
11832 2005-09-15  David Schleef  <ds@schleef.org>
11833
11834         * check/gst/gstplugin.c: (register_check_elements),
11835         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11836         More testing
11837         * gst/elements/gsttypefindelement.c: Fix refcounting.
11838         * gst/gsttypefind.c:
11839         * gst/gsttypefindfactory.c:
11840         * gst/gsttypefindfactory.h:
11841
11842 2005-09-15  David Schleef  <ds@schleef.org>
11843
11844         * gst/gstindex.c: get refcounting correct.
11845         * gst/gstregistry.c: Handle the case where a feature/plugin is
11846           not found.
11847
11848 2005-09-15  David Schleef  <ds@schleef.org>
11849
11850         * check/Makefile.am:
11851         * check/gst/gstplugin.c: Add test
11852         * gst/gstplugin.c: Fix problems noticed by testsuite
11853         * gst/gstplugin.h:
11854         * gst/gstregistry.c: 
11855         * gst/gstregistry.h:
11856
11857 2005-09-15  David Schleef  <ds@schleef.org>
11858
11859         * gst/gstplugin.c: Implement semi-decent recounting and locking
11860           in plugins and plugin features.
11861         * gst/gstplugin.h:
11862         * gst/gstpluginfeature.c:
11863         * gst/gstpluginfeature.h:
11864         * gst/gstregistry.c:
11865
11866 2005-09-15  Michael Smith <msmith@fluendo.com>
11867
11868         * gst/gstregistry.c: (gst_registry_get_feature_list):
11869           Implement this. Makes oggdemux work; decodebin still broken.
11870
11871 2005-09-14  David Schleef  <ds@schleef.org>
11872
11873         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11874           #316076)
11875         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11876         * gst/check/Makefile.am:
11877         * libs/gst/controller/Makefile.am:
11878         * libs/gst/dataprotocol/Makefile.am:
11879
11880 2005-09-14  David Schleef  <ds@schleef.org>
11881
11882         * configure.ac: Remove getbits library.  Nothing uses it, and
11883           it should be in something like liboil if someone did want
11884           to use it.
11885         * libs/gst/Makefile.am:
11886         * libs/gst/getbits/Makefile.am:
11887         * libs/gst/getbits/gbtest.c:
11888         * libs/gst/getbits/getbits.c:
11889         * libs/gst/getbits/getbits.h:
11890         * libs/gst/getbits/gstgetbits_generic.c:
11891         * libs/gst/getbits/gstgetbits_i386.s:
11892         * libs/gst/getbits/gstgetbits_inl.h:
11893
11894 2005-09-14  David Schleef  <ds@schleef.org>
11895
11896         * gst/Makefile.am: Dist glib-compat.h
11897
11898 2005-09-14  David Schleef  <ds@schleef.org>
11899
11900         * configure.ac: Remove gst/registries, since it's no longer used.
11901         * gst/registries/Makefile.am:
11902         * gst/registries/gstlibxmlregistry.c:
11903         * gst/registries/gstlibxmlregistry.h:
11904         * gst/registries/gstxmlregistry.c:
11905         * gst/registries/gstxmlregistry.h:
11906         * gst/registries/registrytest.c:
11907
11908 2005-09-14  David Schleef  <ds@schleef.org>
11909
11910         * gst/glib-compat.h:
11911         * gst/gstregistryxml.c:
11912           Convergence is near.  Seriously.
11913
11914 2005-09-14  David Schleef  <ds@schleef.org>
11915
11916         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11917         * gst/glib-compat.h:
11918           Attempt #4 to appease the buildbots.
11919
11920 2005-09-14  David Schleef  <ds@schleef.org>
11921
11922         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11923           Attempt #3.
11924
11925 2005-09-14  David Schleef  <ds@schleef.org>
11926
11927         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11928         Attempt #2.
11929
11930 2005-09-14  David Schleef  <ds@schleef.org>
11931
11932         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11933           the new functions.
11934
11935 2005-09-14  David Schleef  <ds@schleef.org>
11936
11937         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11938         * gst/glib-compat.h: Add some functions that are in newer versions
11939           of glib than we care to require.
11940         * gst/gstregistryxml.c: Use them.
11941
11942 2005-09-14  David Schleef  <ds@schleef.org>
11943
11944         * po/POTFILES.in: remove gst-register.c
11945
11946 2005-09-14  David Schleef  <ds@schleef.org>
11947
11948         * docs/gst/gstreamer-docs.sgml:
11949         * docs/gst/gstreamer-sections.txt:
11950         * docs/gst/gstreamer.types:
11951         * docs/gst/tmpl/gstelement.sgml:
11952         * docs/gst/tmpl/gstplugin.sgml:
11953         * docs/gst/tmpl/gstpluginfeature.sgml:
11954           Documentation updates for registry changes.
11955
11956 2005-09-14  David Schleef  <ds@schleef.org>
11957
11958         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11959           because we don't require glib-2.8.
11960
11961 2005-09-14  David Schleef  <ds@schleef.org>
11962
11963         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11964           registries directory.
11965
11966 2005-09-14  David Schleef  <ds@schleef.org>
11967
11968         * check/Makefile.am:
11969         * check/generic/states.c:
11970         * gst/Makefile.am:
11971         * gst/gst.c:
11972         * gst/gst.h:
11973         * gst/gst_private.h:
11974         * gst/gstelementfactory.c:
11975         * gst/gstindex.c:
11976         * gst/gstinfo.c:
11977         * gst/gstplugin.c:
11978         * gst/gstplugin.h:
11979         * gst/gstpluginfeature.c:
11980         * gst/gstpluginfeature.h:
11981         * gst/gstregistry.c:
11982         * gst/gstregistry.h:
11983         * gst/gstregistrypool.c: remove
11984         * gst/gstregistrypool.h: remove
11985         * gst/gsttypefind.c:
11986         * gst/gsttypefindfactory.c:
11987         * gst/gsturi.c:
11988         * tools/Makefile.am:
11989         * tools/gst-compprep.c:
11990         * tools/gst-inspect.c:
11991         * tools/gst-register.c: remove
11992         * tools/gst-xmlinspect.c:
11993           Registry rewrite.  Changes registry from being a file created
11994           by a tool into a simple cache file created automatically by 
11995           libgstreamer.  Removed gst-register (because it's no longer
11996           needed).  Remove registry pools, because we only have one
11997           registry implementation (XML).  Fix up other subsystems as
11998           necessary.
11999
12000 2005-09-13  Michael Smith <msmith@fluendo.com>
12001
12002         * gst/gstconfig.h.in:
12003           Don't Use windows linking attributes for MinGW. Fixes #316157
12004
12005 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12006
12007         * gst/gstutils.c: (set_state_async_thread_func),
12008         (gst_element_set_state_async):
12009           Apparently people think it's better if this function doesn't
12010           try to set the state to whatever state was asked for on the first
12011           call to this function for any object.  Seriously.
12012
12013 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12014
12015         * check/gst/gstpipeline.c: (GST_START_TEST):
12016         * docs/gst/gstreamer-sections.txt:
12017         * gst/gstutils.c: (set_state_async_thread_func),
12018         (gst_element_set_state_async):
12019         * gst/gstutils.h:
12020           add a "gst_element_set_state_async" method that
12021           sets the state and starts a thread to make sure the state
12022           change completes as best as it can
12023
12024 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12025
12026         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12027           codify design+behaviour in testsuite after discussion
12028
12029 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12030
12031         * docs/gst/tmpl/gstelement.sgml:
12032         * docs/manual/appendix-quotes.xml:
12033           add a quote
12034         * gst/gstelement.c: (gst_element_set_state):
12035           add some debug
12036
12037 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12038
12039         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12040         (gst_base_transform_prepare_output_buf),
12041         (gst_base_transform_handle_buffer):
12042         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12043         (gst_capsfilter_prepare_buf):
12044           Remove the requirement for sub-classes to call the parent
12045           implementation of prepare_output_buffer with a wrapper function.
12046           
12047         * gst/gsttaglist.h:
12048         * gst/gsttagsetter.h:
12049           Fix #define wrapper
12050
12051 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12052
12053         * docs/gst/gstreamer-sections.txt:
12054           more doc cleanups
12055
12056 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12057
12058         * docs/gst/gstreamer-sections.txt:
12059         * docs/gst/tmpl/gstelement.sgml:
12060         * docs/gst/tmpl/gstplugin.sgml:
12061         * gst/gstminiobject.c:
12062         * gst/gstvalue.h:
12063           docs now stop throwing warnings
12064
12065 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12066
12067         * docs/gst/gstreamer-sections.txt:
12068         * docs/gst/gstreamer.types:
12069         * docs/gst/tmpl/gstpad.sgml:
12070         * docs/gst/tmpl/gsttypes.sgml:
12071         * gst/base/gstadapter.h:
12072         * gst/base/gstbasesink.h:
12073         * gst/base/gstbasesrc.h:
12074         * gst/gstbin.h:
12075         * gst/gstbuffer.h:
12076         * gst/gstbus.h:
12077         * gst/gstcaps.h:
12078         * gst/gstclock.h:
12079         * gst/gstelement.h:
12080         * gst/gstevent.h:
12081         * gst/gstmessage.h:
12082         * gst/gstpad.h:
12083         * gst/gststructure.c:
12084         * gst/registries/gstlibxmlregistry.h:
12085           various documentation fixes
12086
12087 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12088
12089         * docs/gst/gstreamer-sections.txt:
12090         * docs/gst/tmpl/gstvalue.sgml:
12091           rearrange gstvalue section
12092         * gst/gstutils.c: (gst_element_state_get_name):
12093           NONE -> VOID
12094         * gst/gstvalue.c: (_gst_value_initialize):
12095         * gst/gstvalue.h:
12096           doc updates
12097
12098 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12099
12100         * check/gst-libs/controller.c:
12101           Header include fix.
12102         * gst/base/gstbasetransform.c:
12103         (gst_base_transform_default_prepare_buf),
12104         (gst_base_transform_handle_buffer):
12105         * gst/base/gstbasetransform.h:
12106           Some more basetransform changes and fixes to enable sub-classes
12107           that modify buffer metadata only.
12108         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12109         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12110         (gst_capsfilter_prepare_buf):
12111           If the output pad has fixed allowed caps and input buffers 
12112           don't have any, set the fixed caps on outgoing buffers.
12113
12114 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12115         * check/elements/identity.c: (GST_START_TEST):
12116           Make the error a little clearer when the test fails because
12117           identity made a copy of the buffer.
12118         * docs/gst/gstreamer-sections.txt:
12119           New symbols in gstbasetransform.h
12120         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12121         (gst_base_transform_init), (gst_base_transform_transform_size),
12122         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12123         (gst_base_transform_default_prepare_buf),
12124         (gst_base_transform_get_unit_size),
12125         (gst_base_transform_buffer_alloc),
12126         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12127         (gst_base_transform_change_state),
12128         (gst_base_transform_set_passthrough),
12129         (gst_base_transform_set_in_place),
12130         (gst_base_transform_is_in_place):
12131         * gst/base/gstbasetransform.h:
12132           Change BaseTransform to separate in_place operate from same_caps
12133           output. in_place implies that the element can perform the transform
12134           on incoming buffers in-place, even if the caps on the output are
12135           different.
12136           Sub-class elements can now implement special buffer allocation
12137           methods for outgoing buffers if they wish to.
12138           Big documentation addition.
12139         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12140         * gst/elements/gstelements.c:
12141           Changes for basetransform modifications.
12142         * gst/elements/Makefile.am:
12143         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12144           Compile fix. Extra debug output.
12145
12146 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12147
12148         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12149         (gst_pad_suite):
12150           add tests for valid pad naming
12151         * gst/check/gstcheck.c: (gst_check_log_message_func),
12152         (gst_check_log_critical_func):
12153           add ASSERT_WARNING
12154           remove printing of code, it is fragile when the code contains
12155           % and the line number is enough info
12156         * gst/check/gstcheck.h:
12157         * gst/gstpad.c: (gst_pad_template_new):
12158           fix memleaks
12159
12160 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12161
12162         * configure.ac:
12163           say what CHECK flags we use
12164         * docs/libs/gstreamer-libs.types:
12165         * libs/gst/controller/Makefile.am:
12166         * libs/gst/controller/gst-controller.c:
12167         * libs/gst/controller/gst-controller.h:
12168         * libs/gst/controller/gst-helper.c:
12169         * libs/gst/controller/gst-interpolation.c:
12170         * libs/gst/controller/gstcontroller.c:
12171         * libs/gst/controller/gsthelper.c:
12172         * libs/gst/controller/gstinterpolation.c:
12173         * tools/gst-inspect.c: (print_plugin_info):
12174           we don't use dashes in header names
12175
12176 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * check/Makefile.am:
12179         * check/gst/.cvsignore:
12180         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12181         (gst_pipeline_suite), (main):
12182           adding a test for pipelines and state changes
12183         * gst/gstutils.c: (get_state_func):
12184           add some debugging
12185         * gstreamer.spec.in:
12186           fix up spec file
12187
12188 2005-09-08  Michael Smith <msmith@fluendo.com>
12189
12190         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12191         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12192         (gst_file_src_is_seekable), (gst_file_src_get_size),
12193         (gst_file_src_start):
12194         * gst/elements/gstfilesrc.h:
12195           Various fixes for unseekable, unmmapable, and non-normal files, so
12196           that fallback to read() rather than mmap() works.
12197         * gst/gstevent.c: (gst_event_new_newsegment):
12198           Allow newsegment events with segment_start == segment_end, as will
12199           correctly happen if you use filesrc on a zero-size file, for
12200           example.
12201
12202 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12203
12204         * gst/gstplugin.c: (gst_plugin_load_file):
12205           Call g_module_close when we don't load the module
12206
12207         * gst/registries/gstlibxmlregistry.c:
12208         (gst_xml_registry_get_property):
12209           Port leak fix from 0.8
12210
12211 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12212
12213         * docs/gst/gstreamer-docs.sgml:
12214         * docs/gst/tmpl/.cvsignore:
12215         * docs/gst/tmpl/gsttrace.sgml:
12216         * docs/gst/tmpl/gsttrashstack.sgml:
12217         * gst/Makefile.am:
12218         * gst/gst.h:
12219         * gst/gstelement.h:
12220         * gst/gstevent.h:
12221         * gst/gstmessage.c:
12222         * gst/gstmessage.h:
12223         * gst/gsttag.c:
12224         * gst/gsttag.h:
12225         * gst/gsttaginterface.c:
12226         * gst/gsttaginterface.h:
12227         * gst/gsttaglist.c:
12228         * gst/gsttaglist.h:
12229         * gst/gsttagsetter.c:
12230         * gst/gsttagsetter.h:
12231         * gst/gsttrace.c:
12232         * gst/gsttrace.h:
12233         * gst/gsttrashstack.c:
12234           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12235           inlined docs for gsttrace, gsttrashstack
12236
12237 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12238
12239         * gst/Makefile.am:
12240         * gst/elements/gstbufferstore.h:
12241         * gst/elements/gsttypefindelement.c:
12242         * gst/elements/gsttypefindelement.h:
12243         * gst/gst.h:
12244         * gst/gsttypefind.c:
12245         * gst/gsttypefind.h:
12246         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12247         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12248         (gst_type_find_factory_dispose),
12249         (gst_type_find_factory_unload_thyself),
12250         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12251         (gst_type_find_factory_get_caps),
12252         (gst_type_find_factory_get_extensions),
12253         (gst_type_find_factory_call_function):
12254         * gst/gsttypefindfactory.h:
12255         * gst/registries/gstlibxmlregistry.c:
12256         * gst/registries/gstxmlregistry.c:
12257           splitted gsttypefind into gsttypefind, gsttypefindfactory
12258
12259 2005-09-07  Andy Wingo  <wingo@pobox.com>
12260
12261         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12262         condition whereby the pad's task function is entered before the
12263         pad_mode variable was set.
12264
12265 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12266
12267         * gst/gstpad.c: (gst_pad_alloc_buffer):
12268           Catch misbehaving pad_alloc functions that don't
12269           set up caps and do it for them.
12270
12271 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12272
12273         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12274           test for pipe!=NULL
12275         * docs/gst/tmpl/.cvsignore:
12276         * docs/gst/tmpl/gstmemchunk.sgml:
12277         * docs/gst/tmpl/gstparse.sgml:
12278         * docs/gst/tmpl/gsttaglist.sgml:
12279         * docs/gst/tmpl/gsttagsetter.sgml:
12280         * docs/gst/tmpl/gsttypefind.sgml:
12281         * docs/gst/tmpl/gsttypefindfactory.sgml:
12282         * gst/gstmemchunk.c:
12283         * gst/gstparse.c:
12284         * gst/gsttag.c:
12285         * gst/gsttaginterface.c:
12286         * gst/gsttypefind.c:
12287         * gst/gsttypefind.h:
12288           inlined more docs
12289
12290 === release 0.9.2 ===
12291
12292 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12293
12294         * NEWS:
12295         * RELEASE:
12296         * configure.ac:
12297           releasing 0.9.2, "South"
12298
12299 2005-09-05  Andy Wingo  <wingo@pobox.com>
12300
12301         * gst/registries/gstxmlregistry.h:
12302         * gst/registries/gstxmlregistry.c: Um... resurrect...
12303         
12304         * gst/registries/gstxmlregistry.h:
12305         * gst/registries/gstxmlregistry.c: and update to newer API.
12306         Incidentally they should be a bit faster now that they don't have
12307         to parse the caps.
12308         
12309 2005-09-05  Andy Wingo  <wingo@pobox.com>
12310
12311         * gst/registries/gstxmlregistry.h:
12312         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12313         replaced by the libxml registry a while back
12314
12315 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12316
12317         * docs/gst/tmpl/gstplugin.sgml:
12318         * gst/elements/gstelements.c:
12319         * gst/gst.c:
12320         * gst/gstplugin.c: (gst_plugin_register_func),
12321         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12322         (gst_plugin_get_source):
12323         * gst/gstplugin.h:
12324         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12325         (gst_xml_registry_save_plugin):
12326         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12327         (gst_xml_registry_save_plugin):
12328         * tools/gst-inspect.c: (print_plugin_info):
12329           add a "source" plugin description field, to represent the source
12330           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12331           will set it to PACKAGE, which is automake's idea of the name of
12332           the source project.
12333
12334 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * Makefile.am:
12337         * autogen.sh:
12338         * configure.ac:
12339         * docs/Makefile.am:
12340         * docs/faq/Makefile.am:
12341         * docs/gst/tmpl/gstelement.sgml:
12342         * docs/gst/tmpl/gsttypes.sgml:
12343         * docs/htmlinstall.mak:
12344         * docs/manual/Makefile.am:
12345         * docs/pwg/Makefile.am:
12346           reorganize doc build a little
12347           split out docbook and gtk-doc stuff
12348           have two separate --enable's and enable them through autogen
12349           but disable by default in configure (to be similar to other
12350           projects)
12351         * gstreamer.spec.in:
12352           clean up docs install
12353         * po/af.po:
12354         * po/az.po:
12355         * po/ca.po:
12356         * po/cs.po:
12357         * po/de.po:
12358         * po/en_GB.po:
12359         * po/fr.po:
12360         * po/it.po:
12361         * po/nb.po:
12362         * po/nl.po:
12363         * po/ru.po:
12364         * po/sq.po:
12365         * po/sr.po:
12366         * po/sv.po:
12367         * po/tr.po:
12368         * po/uk.po:
12369         * po/vi.po:
12370           translation updates
12371
12372 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12373
12374         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12375           Add comment.
12376           
12377         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12378         (gst_fake_sink_change_state):
12379           Make state change function thread-safe.
12380           
12381         * gst/gstpad.c: (gst_pad_alloc_buffer):
12382           Set offset on generic buffer allocated by fallback.
12383
12384 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12385
12386         * docs/gst/gstreamer-sections.txt:
12387         * docs/gst/tmpl/gstelement.sgml:
12388         * gst/gstpad.c:
12389         * libs/gst/controller/gst-controller.c:
12390         (gst_controlled_property_set_interpolation_mode),
12391         (gst_controlled_property_new),
12392         (gst_controller_find_controlled_property):
12393          run the wingo-magic script against the docs
12394
12395 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12396
12397         * docs/gst/gstreamer-docs.sgml:
12398         * docs/gst/gstreamer-sections.txt:
12399         * docs/gst/tmpl/.cvsignore:
12400         * docs/gst/tmpl/gstelementdetails.sgml:
12401         * docs/gst/tmpl/gstelementfactory.sgml:
12402         * gst/gst.c:
12403         * gst/gstbus.c:
12404         * gst/gstelementfactory.c:
12405         * gst/gstelementfactory.h:
12406           merged elementdetails docs into elementfactory docs
12407           inlined both
12408
12409 2005-09-02  Andy Wingo  <wingo@pobox.com>
12410
12411         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12412         consider this enum an enum and not a flags.
12413
12414 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12415
12416         * docs/gst/gstreamer-docs.sgml:
12417         * docs/gst/tmpl/.cvsignore:
12418         * docs/gst/tmpl/gstghostpad.sgml:
12419         * docs/gst/tmpl/gstiterator.sgml:
12420         * docs/gst/tmpl/gstmacros.sgml:
12421         * docs/gst/tmpl/gstrealpad.sgml:
12422         * docs/gst/tmpl/gstregistry.sgml:
12423         * docs/gst/tmpl/gstregistrypool.sgml:
12424         * docs/gst/tmpl/gststructure.sgml:
12425         * docs/gst/tmpl/gstsystemclock.sgml:
12426         * docs/gst/tmpl/gsttrace.sgml:
12427         * gst/gstghostpad.c:
12428         * gst/gstmacros.h:
12429         * gst/gstmemchunk.c:
12430         * gst/gstmemchunk.h:
12431         * gst/gstqueue.c:
12432         * gst/gstregistry.c:
12433         * gst/gstregistrypool.c:
12434         * gst/gststructure.c:
12435         * gst/gstsystemclock.c:
12436           more docs inlined
12437
12438 2005-09-02  Andy Wingo  <wingo@pobox.com>
12439
12440         * gst/gstelement.h (GstState): Renamed from GstElementState,
12441         changed to be a normal enum instead of flags.
12442         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12443         munged to be GST_STATE_CHANGE_*.
12444         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12445         work with the new state representation.
12446         (GstStateChange): New enumeration of possible state transitions.
12447         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12448         (GstElementClass::change_state): Pass the GstStateChange along as
12449         an argument. Helps language bindings, so they don't have to use
12450         tricky lock-needing macros like GST_STATE_CHANGE ().
12451
12452         * scripts/update-states (file): New script. Run it on a file to
12453         update it for state naming and API changes. Updates files in
12454         place.
12455
12456         * All files updated for the new API.
12457
12458 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12461         * gst/gstutils.c: (gst_util_set_value_from_string),
12462         (gst_util_set_object_arg):
12463           fix a bunch of unchecked return values
12464         * tools/gst-complete.c: (main):
12465         * gstreamer.spec.in:
12466           clean up a little
12467
12468 2005-09-01  Wim Taymans  <wim@fluendo.com>
12469
12470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12471         (gst_base_sink_event), (gst_base_sink_do_sync),
12472         (gst_base_sink_handle_event):
12473         * gst/base/gstbasesink.h:
12474         Handle newsegments more correctly.
12475
12476         * gst/gstbus.c:
12477         Fix docs.
12478
12479         * gst/gstevent.c: (gst_event_new_newsegment):
12480         A newsegment cannot have a start_time of -1
12481
12482 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12483
12484         * win32/gstenumtypes.c:
12485         * win32/gstenumtypes.h:
12486           Update
12487
12488 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12489
12490         * libs/gst/controller/gst-controller.c:
12491         (gst_controlled_property_set_interpolation_mode),
12492         (gst_controlled_property_new):
12493          fixed boolean again
12494
12495 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * docs/faq/gst-uninstalled:
12498           add -good
12499         * gst/gstevent.c:
12500         * gst/gstevent.h:
12501           remove wrong docs
12502         * gst/gstutils.c: (gst_element_link_filtered):
12503         * gst/gstutils.h:
12504           add gst_element_link_filtered
12505
12506 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12507
12508         * docs/gst/gstreamer-docs.sgml:
12509         * docs/gst/gstreamer-sections.txt:
12510         * docs/gst/tmpl/.cvsignore:
12511         * docs/gst/tmpl/gsterror.sgml:
12512         * docs/gst/tmpl/gstfilter.sgml:
12513         * docs/gst/tmpl/gsturihandler.sgml:
12514         * docs/gst/tmpl/gsturitype.sgml:
12515         * docs/gst/tmpl/gstutils.sgml:
12516         * docs/gst/tmpl/gstxml.sgml:
12517         * gst/gsterror.c:
12518         * gst/gsterror.h:
12519         * gst/gstfilter.c:
12520         * gst/gsturi.c:
12521         * gst/gsturitype.c:
12522         * gst/gstutils.c:
12523         * gst/gstxml.c:
12524           inlined more docs, fixed double id-ref
12525
12526 2005-08-31  Wim Taymans  <wim@fluendo.com>
12527
12528         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12529         (gst_base_transform_handle_buffer):
12530         Passthrough elements don't need the caps as they don't care.
12531
12532 2005-08-31  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12535         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12536         Don't leak refcounts on buffers.
12537
12538 2005-08-31  Wim Taymans  <wim@fluendo.com>
12539
12540         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12541         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12542         (gst_base_transform_chain), (gst_base_transform_change_state):
12543         * gst/base/gstbasetransform.h:
12544         Handle the case where we are not negotiated more gracefully.
12545
12546 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12547
12548         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12549         (gst_file_src_map_region):
12550           Set READONLY flag on mmap'ed buffers, otherwise
12551           gst_buffer_make_writable() won't work properly (#314708).
12552
12553 2005-08-31  Wim Taymans  <wim@fluendo.com>
12554
12555         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12556         passthrough elements can even do inplace on non writable
12557         buffers (as they don't touch them).
12558
12559 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12560
12561         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12562         (gst_test_mono_source_set_property),
12563         (gst_test_mono_source_class_init), (GST_START_TEST),
12564         (gst_controller_suite):
12565           more tests (hehe I have the most)
12566         * gst/gstbus.c:
12567           describe popping messages whenusing mulltiple sources
12568         * libs/gst/controller/gst-controller.c:
12569         (gst_controlled_property_set_interpolation_mode),
12570         (gst_controlled_property_new):
12571         * libs/gst/controller/gst-controller.h:
12572         * libs/gst/controller/gst-interpolation.c:
12573           implement boolean properties
12574
12575 2005-08-31  Wim Taymans  <wim@fluendo.com>
12576
12577         * gst/gstminiobject.c: (gst_mini_object_ref):
12578         Cannot assert that the refcount has to be positive
12579         since a disposed object can be resurrected.
12580
12581 2005-08-31  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/gstpad.c: (gst_pad_init):
12584         Revert change, need to first fix badly behaving 
12585         apps.
12586
12587 2005-08-30  Wim Taymans  <wim@fluendo.com>
12588
12589         * check/elements/fakesrc.c: (setup_fakesrc):
12590         * check/elements/identity.c: (setup_identity):
12591         Activate pads before using them.
12592
12593 2005-08-30  Wim Taymans  <wim@fluendo.com>
12594
12595         * gst/base/gstadapter.c: (gst_adapter_flush):
12596         Flushing out 0 bytes is ok for this function.
12597
12598         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12599         no newsegment gives a warning and sets the start/stop to 
12600         invalid.
12601
12602         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12603         (gst_base_transform_set_passthrough):
12604         Some debug info.
12605
12606         * gst/gstminiobject.c: (gst_mini_object_ref):
12607         Check refcount here too.
12608
12609         * gst/gstpad.c: (gst_pad_init):
12610         Pads are initially flushing and refusing data.
12611
12612         * gst/gstutils.c: (gst_element_link_pads_filtered):
12613         When adding a capsfilter element make sure it has the
12614         same state as the parent bin.
12615
12616 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12617
12618         * docs/gst/tmpl/.cvsignore:
12619         * docs/gst/tmpl/gstformat.sgml:
12620         * docs/gst/tmpl/gstversion.sgml:
12621         * gst/gstbus.h:
12622         * gst/gstformat.c:
12623         * gst/gstformat.h:
12624         * gst/gstversion.h.in:
12625           more docs and two more inlined
12626
12627 2005-08-30  Wim Taymans  <wim@fluendo.com>
12628
12629         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12630         Don't sync to clock.
12631
12632 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12633
12634         * docs/gst/gstreamer-sections.txt:
12635           ultral33t func10ns deserve to appear in the docs actually
12636         * docs/gst/tmpl/.cvsignore:
12637         * docs/gst/tmpl/gstcompat.sgml:
12638         * docs/gst/tmpl/gstconfig.sgml:
12639         * gst/check/gstcheck.c:
12640         * gst/gstcompat.h:
12641         * gst/gstconfig.h.in:
12642           inlined more docs
12643
12644 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12645
12646         * docs/gst/tmpl/.cvsignore:
12647         * docs/gst/tmpl/gstquery.sgml:
12648         * docs/gst/tmpl/gstutils.sgml:
12649         * gst/gstquery.c:
12650         * gst/gstquery.h:
12651           inlined and extended docs
12652
12653 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12654
12655         * check/gst-libs/controller.c: (GST_START_TEST),
12656         (gst_controller_suite):
12657           more tests
12658         * docs/gst/tmpl/gstutils.sgml:
12659         * docs/libs/gstreamer-libs-sections.txt:
12660         * docs/libs/tmpl/gstdataprotocol.sgml:
12661           include path fixes
12662         * examples/controller/audio-example.c: (main):
12663           controller example works now
12664         * gst/gstclock.h:
12665           doc fixes
12666         * tools/gst-inspect.c: (print_element_properties_info):
12667           show param spec flags
12668
12669 2005-08-29  Andy Wingo  <wingo@pobox.com>
12670
12671         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12672
12673 2005-08-28  Andy Wingo  <wingo@pobox.com>
12674
12675         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12676         as having two arguments instead of just one. Allows superclasses
12677         to access information on subclasses -- see the terrible for() loop
12678         in gtype.c:g_type_create_instance for the reason why. All callers
12679         changed.
12680
12681 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12682
12683         * docs/design/part-messages.txt:
12684           update info
12685         * docs/gst/tmpl/.cvsignore:
12686         * docs/gst/tmpl/gstcaps.sgml:
12687         * docs/gst/tmpl/gstclock.sgml:
12688         * gst/gstbus.c:
12689         * gst/gstcaps.c:
12690         * gst/gstcaps.h:
12691         * gst/gstclock.c:
12692         * gst/gstclock.h:
12693         * gst/gstmessage.c:
12694           added descriptions for bus and message
12695           inline caps and clock docs
12696
12697 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12698
12699         * gst/gstmessage.c:
12700         * gst/gstmessage.h:
12701           doc fixes
12702
12703 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12704
12705         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12706           fix div-by-zero
12707
12708 2005-08-26  Andy Wingo  <wingo@pobox.com>
12709
12710         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12711         element_set_state's return val.
12712         (test_2_elements): Add test that's been disabled for months.
12713
12714         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12715         can-activate-pull properties.
12716
12717         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12718         can-activate-pull properties. Implement is_seekable so fakesrc can
12719         operate in pull mode.
12720
12721         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12722         properties.
12723         (gst_base_sink_activate, gst_base_sink_activate_pull)
12724         (gst_base_sink_activate_push): Make activation mode choosing work.
12725         Cleanups.
12726         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12727         is right. Make pull mode work. Post an eos before pausing in pull
12728         mode.
12729         (gst_base_sink_change_state): Pay attention to the core's
12730         change_state() return val.
12731         
12732         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12733         has-getrange properties. Cleanups.
12734         
12735         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12736         has_getrange and replace with can_activate_pull and
12737         can_activate_push.
12738
12739         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12740         locking comments. Remove has_loop, has_chain and replace with
12741         can_activate_pull and can_activate_push.
12742
12743 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12744
12745         * configure.ac:
12746         * examples/Makefile.am:
12747         * examples/metadata/Makefile.am:
12748         * examples/metadata/read-metadata.c: (message_loop),
12749         (have_pad_handler), (make_pipeline), (print_tag), (main):
12750           Add metadata reading example that loops over a list of filenames,
12751           dumping any tags found.
12752
12753         * gst/gstbus.c: (gst_bus_dispose):
12754         * gst/gstelement.c: (gst_element_dispose):
12755           Release a few potentially-held references in dispose.
12756
12757 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12758
12759         * docs/gst/tmpl/gstminiobject.sgml:
12760           do *not* add tmpl/*.sgml files to CVS!
12761
12762 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12763
12764         * libs/gst/bytestream/.cvsignore:
12765         * libs/gst/bytestream/Makefile.am:
12766         * libs/gst/bytestream/adapter.c:
12767         * libs/gst/bytestream/adapter.h:
12768         * libs/gst/bytestream/bytestream.c:
12769         * libs/gst/bytestream/bytestream.h:
12770         * libs/gst/bytestream/filepad.c:
12771         * libs/gst/bytestream/filepad.h:
12772           removing obsolete files
12773
12774 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12775
12776         * docs/gst/gstreamer-docs.sgml:
12777         * docs/libs/gstreamer-libs-docs.sgml:
12778           disabed additional index entries again, as this makes docs-gen just
12779           slow and they aren't useful yet
12780         * docs/libs/gstreamer-libs-sections.txt:
12781           little -section.txt cleanup for libs
12782
12783 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12784
12785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12786         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12787           fix up some debugging
12788         (gst_base_transform_get_unit_size),
12789         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12790         (gst_base_transform_handle_buffer):
12791         * gst/base/gstbasetransform.h:
12792           handle and store timed NEWSEGMENT events so that subclasses that
12793           calculate time by counting samples have a segment_start time they
12794           need to add to their timestamps - see audioresample
12795
12796 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12797
12798         * gst/gstbin.h:
12799           removed ';' from the end of macro defs
12800         * docs/gst/gstreamer-docs.sgml:
12801         * docs/gst/gstreamer-sections.txt:
12802         * docs/gst/tmpl/.cvsignore:
12803         * gst/gstbus.h:
12804         * gst/gstelement.c: (gst_element_class_init),
12805         (gst_element_set_state), (activate_pads),
12806         (gst_element_save_thyself):
12807         * gst/gstevent.c: (gst_event_new_newsegment):
12808         * gst/gstevent.h:
12809         * gst/gstiterator.c:
12810         * gst/gstiterator.h:
12811         * gst/gstpad.c:
12812         * gst/gstprobe.h:
12813         * gst/gstutils.c: (gst_pad_query_convert):
12814         * gst/gstutils.h:
12815           fixed parameter name mismatches between source, header and docs
12816           added some more docs, resolved the last batch of unused elements in
12817           docs (now someone needs to doc them)
12818
12819 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12822         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12823           don't walk through the plugins backwards.  Where is all this
12824           reversed logic coming from ?
12825
12826 2005-08-25  Wim Taymans  <wim@fluendo.com>
12827
12828         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12829         (gst_base_transform_transform_size),
12830         (gst_base_transform_configure_caps),
12831         (gst_base_transform_get_unit_size),
12832         (gst_base_transform_buffer_alloc),
12833         (gst_base_transform_change_state):
12834         * gst/base/gstbasetransform.h:
12835         Cache caps unit_size.
12836         Make sure we cannot negotiate up and downstream at the
12837         same time.
12838
12839 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12840
12841         * gst/gst.c: (init_pre), (init_post):
12842           register the installed plugin path after the env var
12843         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12844         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12845           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12846           directories, so the tests can prefer uninstalled over installed
12847
12848 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12849
12850         * gst/base/gstbasetransform.h:
12851           comment
12852         * gst/gstpad.c:
12853           add to docs
12854
12855 2005-08-25  Wim Taymans  <wim@fluendo.com>
12856
12857         * gst/gstbin.c: (bin_bus_handler):
12858         Be a bit more conservative about the posted message.
12859         
12860         * gst/gstbus.c: (gst_bus_post):
12861         Some cleanups, warn wrong return values.
12862
12863 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12864
12865         * check/gst/gstbin.c: (GST_START_TEST):
12866         * gst/gstbin.c: (bin_bus_handler):
12867         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12868         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12869         (gst_message_new_warning), (gst_message_new_tag),
12870         (gst_message_new_state_changed), (gst_message_new_segment_start),
12871         (gst_message_new_segment_done), (gst_message_new_custom):
12872         * gst/gstmessage.h:
12873         * tools/gst-launch.c: (event_loop):
12874         * tools/gst-md5sum.c: (event_loop):
12875           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12876
12877 2005-08-25  Wim Taymans  <wim@fluendo.com>
12878
12879         * check/generic/states.c: (GST_START_TEST):
12880         Cleanup can be done at the end.
12881
12882         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12883         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12884         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12885         Oh boy.. Thanks for finding this, Thomas. 
12886
12887 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12888
12889         * docs/gst/gstreamer.types:
12890           added missing types
12891
12892 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12893
12894         * docs/gst/gstreamer-docs.sgml:
12895         * docs/gst/gstreamer-sections.txt:
12896         * docs/gst/tmpl/.cvsignore:
12897         * gst/gstbin.c:
12898         * gst/gstiterator.c:
12899         * gst/gstutils.c:
12900         * gst/registries/gstxmlregistry.h:
12901           added missing classes and symbols (123 more to go)
12902           removed removed symbols from section file
12903           fixed many doc-comments
12904
12905 2005-08-24  Wim Taymans  <wim@fluendo.com>
12906
12907         * check/generic/states.c: (GST_START_TEST):
12908         Make sure all tasks are stopped.
12909
12910         * check/gst/gstbin.c: (GST_START_TEST):
12911         Unref after usage for proper valgrinding.
12912
12913         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12914         Really wait for the task to stop before destroying the
12915         mutex.
12916
12917         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12918         (gst_queue_src_activate_push):
12919         Small cleanups. Don't stop the task when we did not start
12920         it.
12921
12922         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12923         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12924         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12925         (gst_task_join):
12926         * gst/gsttask.h:
12927         Protect the stream lock with the object lock.
12928         Disallow setting the stream lock when running.
12929         Add cleanup_all to wait for the threadpool to finish.
12930         Remove code to autoallocate a mutex if none was provided.
12931         Add _join() to wait for a task to stop.
12932         Protect the thread pool with a global lock.
12933
12934 2005-08-24  Wim Taymans  <wim@fluendo.com>
12935
12936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12937         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12938         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12939         * gst/base/gstbasesink.h:
12940         Handle newsegment events correctly.
12941         Drop buffers out of the segment range.
12942
12943 2005-08-22  Andy Wingo  <wingo@pobox.com>
12944
12945         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12946         macro, implements an interface and gstimplementsinterface for a
12947         new type.
12948
12949 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12950
12951         * check/Makefile.am:
12952         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12953           add a test that does a bunch of state changes on elements
12954           needs some fixing for valgrind
12955         * check/states/sinks.c: (gst_object_suite):
12956           whitespace
12957         * gst/gstcaps.h:
12958           add prototype for gst_caps_is_equal_fixed
12959         * gst/gstplugin.c:
12960         * gst/gstregistrypool.c:
12961           doc fixes
12962
12963 2005-08-24  Andy Wingo  <wingo@pobox.com>
12964
12965         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12966         convert a negative value. Doesn't make much sense. Mostly this is
12967         here to force callers to ensure -1 maps to -1.
12968
12969 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12970
12971         * docs/pwg/advanced-types.xml:
12972           Well done to Michael for catching my deliberate introduction
12973           of this spelling mistake. 
12974         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12975         * gst/gstelement.h:
12976           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12977           unlink pads before removing the element from the bin.
12978
12979 2005-08-24  Andy Wingo  <wingo@pobox.com>
12980
12981         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12982         the same thing as GST_DEBUG=*:4.
12983         (parse_debug_level, parse_debug_category): New helper parsers.
12984
12985 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12988         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12989         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12990         (gst_base_transform_buffer_alloc),
12991         (gst_base_transform_handle_buffer):
12992           use gboolean return values and pointers to size so we can use the
12993           full GST_BUFFER_SIZE range (guint) for buffer sizes
12994           use GstPadDirection for transform_caps
12995         * gst/base/gstbasetransform.h:
12996           rename get_size to get_unit_size since that's what it is
12997         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12998           use GstPadDirection for transform_caps
12999         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13000         * gst/gstutils.h:
13001           cleanup and debugging
13002
13003 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13004
13005         * gst/gstelement.c: (gst_element_class_init),
13006         (gst_element_set_state), (activate_pads),
13007         (gst_element_save_thyself):
13008         * tools/gst-compprep.c: (main):
13009         * tools/gst-inspect.c: (print_element_properties_info):
13010         * tools/gst-xmlinspect.c: (print_element_properties):
13011           Fixed long standing mem-leak
13012
13013 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13014
13015         * check/gst/gstbin.c: (GST_START_TEST):
13016         * gst/gstbin.c: (bin_bus_handler):
13017         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13018         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13019         (gst_message_new_warning), (gst_message_new_tag),
13020         (gst_message_new_state_changed), (gst_message_new_segment_start),
13021         (gst_message_new_segment_done), (gst_message_new_custom):
13022         * gst/gstmessage.h:
13023         * tools/gst-launch.c: (event_loop):
13024         * tools/gst-md5sum.c: (event_loop):
13025           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13026           that applications can sensibly post custom messages with references
13027           to their own objects.
13028
13029 2005-08-24  Andy Wingo  <wingo@pobox.com>
13030
13031         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13032         already.
13033
13034 2005-08-24  Wim Taymans  <wim@fluendo.com>
13035
13036         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13037         (gst_base_transform_transform_caps),
13038         (gst_base_transform_transform_size),
13039         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13040         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13041         (gst_base_transform_handle_buffer):
13042         * gst/base/gstbasetransform.h:
13043         Many fixes and new features added by Thomas. Can now also do
13044         transforms with variable sizes and a custom fixate_caps function.
13045
13046 2005-08-24  Wim Taymans  <wim@fluendo.com>
13047
13048         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13049         Some debugging.
13050
13051         * gst/gstclock.h:
13052         Cast to ClockTime before formatting to time.
13053
13054         * gst/gstutils.h:
13055         Cleanups.
13056
13057 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13058
13059         * check/gst-libs/controller.c: (GST_START_TEST),
13060         (gst_controller_suite):
13061         * docs/gst/tmpl/gstcaps.sgml:
13062         * docs/gst/tmpl/gstghostpad.sgml:
13063         * docs/gst/tmpl/gstquery.sgml:
13064         * docs/gst/tmpl/gstutils.sgml:
13065         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13066         (gst_object_sink_values), (gst_object_get_value_arrays),
13067         (gst_object_get_value_array):
13068           gracefully handle helper method calls to objects that are not beeing
13069           controlled, added test case for that          
13070
13071 2005-08-23  Wim Taymans  <wim@fluendo.com>
13072
13073         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13074         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13075         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13076         (gst_event_parse_qos), (gst_event_new_seek),
13077         (gst_event_parse_seek):
13078         * gst/gstevent.h:
13079         Some more debugging output and doc cleanups.
13080
13081         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13082         Fix possible deadlock.
13083
13084 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13085
13086         * docs/gst/gstreamer-docs.sgml:
13087         * docs/gst/gstreamer-sections.txt:
13088         * docs/gst/gstreamer.types:
13089         * docs/gst/tmpl/.cvsignore:
13090         * gst/gstbin.h:
13091         * gst/gstbus.c:
13092         * gst/gstelement.c:
13093         * gst/gstevent.h:
13094           added 100 symbols from gstreamer-unused.txt to the right sections
13095           fixed more broken comments
13096           added GstBus to docs
13097
13098 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13099
13100         * docs/gst/gstreamer-sections.txt:
13101         * docs/gst/tmpl/.cvsignore:
13102         * docs/gst/tmpl/gstbin.sgml:
13103         * docs/gst/tmpl/gstbuffer.sgml:
13104         * gst/base/gstbasesrc.c:
13105         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13106         * gst/gstbuffer.c:
13107         * gst/gstbuffer.h:
13108         * tools/gst-launch.1.in:
13109           inlined more doc comments, added missing comments and fixed comments
13110           fixed typos
13111
13112 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13113
13114         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13115           some debugging
13116         * gst/gstcaps.h:
13117           whitespace fixes
13118         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13119           more debugging
13120         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13121         * gst/gststructure.h:
13122           add a fixate function for booleans; add a FIXME that these func
13123           names should probably be gst_structure_fixate_*
13124
13125 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13126
13127         * docs/gst/gstreamer-docs.sgml:
13128         * docs/gst/gstreamer-sections.txt:
13129         * gst/Makefile.am:
13130         * gst/gstbin.c: (gst_bin_get_type),
13131         (gst_bin_child_proxy_get_child_by_index),
13132         (gst_bin_child_proxy_get_children_count),
13133         (gst_bin_child_proxy_init):
13134         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13135         (gst_child_proxy_get_child_by_index),
13136         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13137         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13138         (gst_child_proxy_get), (gst_child_proxy_set_property),
13139         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13140         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13141         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13142         * gst/gstchildproxy.h:
13143         * gst/parse/grammar.y:
13144         * tools/gst-inspect.c: (print_interfaces),
13145         (print_element_properties_info), (print_element_info):
13146           ported gstchildproxy over from 0.8
13147           ported gst-inspect fixes and enhancements over from 0.8
13148
13149 2005-08-22  Wim Taymans  <wim@fluendo.com>
13150
13151         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13152         (gst_base_transform_handle_buffer):
13153         Also call the transform function if we have ANY caps.
13154
13155         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13156         Fix debug info.
13157
13158 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13159
13160         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13161           Don't pretend to handle seek events if the source is not seekable
13162
13163 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13164
13165         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13166           Remove extra parameter to debug output
13167
13168         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13169         (gst_base_src_do_seek), (gst_base_src_activate_push):
13170           Fix seek event handling.
13171
13172         * gst/gstpipeline.c: (gst_pipeline_change_state):
13173         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13174         (gst_queue_src_activate_push):
13175           Don't start the src pad task on FLUSH_STOP if the pad
13176           isn't linked.
13177           Debug changes.
13178
13179 2005-08-22  Wim Taymans  <wim@fluendo.com>
13180
13181         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13182         Added check for gst_static_caps_get() refcounting.
13183
13184 2005-08-22  Wim Taymans  <wim@fluendo.com>
13185
13186         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13187         Make _static_caps_get() refcounting sane.
13188         
13189         * gst/gstelement.c: (gst_element_set_state):
13190         Add g_return_val_if_fail() to protect against segfaults.
13191
13192 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13193
13194         * docs/gst/tmpl/gstevent.sgml:
13195         * gst/gstevent.c:
13196         * gst/gstevent.h:
13197           inlined remaining docs, added missing doc comments
13198
13199 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13200
13201         * check/gst/gstbin.c: (GST_START_TEST):
13202           since we don't know when preroll is done, use refcount range
13203           check for the sink
13204         * gst/check/gstcheck.h:
13205           add macro for checking refcount range
13206
13207 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13208
13209         * check/Makefile.am:
13210           clean up environment for when registry gets built versus
13211           when actual tests are run; valgrind seems to not report
13212           leaks if GST_PLUGIN_PATH is set to some specific values
13213         * check/gst/gstbin.c: (GST_START_TEST):
13214           add more refcounting checks; maybe this exposes a
13215           preroll lock bug ?
13216         * common/check.mak:
13217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13218         * gst/check/gstcheck.h:
13219         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13220         (gst_bin_change_state):
13221         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13222           add/fix debugging/whitespace
13223
13224 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13225
13226         * check/gst/gstevent.c: (event_probe), (test_event),
13227         (GST_START_TEST):
13228          Er, don't call gst_bin_watch_for_state_change you idiot.
13229
13230 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13231
13232         * check/Makefile.am:
13233           Use CHECK_CFLAGS and CHECK_LIBS
13234         * check/gst/gstevent.c: (event_probe), (test_event),
13235         (GST_START_TEST):
13236           Don't leak events.
13237         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13238         (gst_base_src_start), (gst_base_src_stop),
13239         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13240         (gst_base_src_change_state):
13241           Sprinkle gst_base_src_stop liberally around error paths to fix
13242           problems reusing a source after failed state changes.
13243         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13244         (helper_find_suggest), (gst_type_find_helper):
13245           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13246         * gst/gstevent.h:
13247         * docs/gst/tmpl/gstevent.sgml:
13248           Migrate part of the docs from the SGML file. Wait for ensonic to
13249           tell me how I did it wrong ;)
13250         * tools/gst-typefind.c: (main):
13251           Extra robustness to state changes between files.
13252
13253 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13254
13255         * check/Makefile.am:
13256           don't valgrind the controller test - it's leaking - Stefan, HELP
13257         * gst/check/gstcheck.c: (gst_check_message_error),
13258         (gst_check_chain_func), (gst_check_setup_element),
13259         (gst_check_teardown_element), (gst_check_setup_src_pad),
13260         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13261         (gst_check_teardown_sink_pad):
13262         * gst/check/gstcheck.h:
13263           add a bunch of methods to set up elements, and src and sink pads
13264         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13265         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13266         (GST_START_TEST):
13267           use them
13268         * gst/gstmessage.c:
13269         * gst/gsttag.h:
13270           whitespace/doc fixes
13271
13272 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13273
13274         * gst/gstelement.h:
13275           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13276           be handled by the application and not always printed as well
13277
13278 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13279
13280         * check/Makefile.am:
13281           set GST_TOOLS_DIR
13282         * gst/check/gstcheck.c: (gst_check_message_error):
13283         * gst/check/gstcheck.h:
13284           add a fail_unless_equals_int
13285           add fail_unless for error messages
13286
13287 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13288
13289         * check/Makefile.am:
13290         * check/gst.supp:
13291         * common/Makefile.am:
13292         * common/check.mak:
13293         * common/gst.supp:
13294           factor out some of the common stuff so we can use it
13295
13296 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13297
13298         * check/Makefile.am:
13299         * check/gst/gstiterator.c: (GST_START_TEST):
13300         * check/gst/gstsystemclock.c: (GST_START_TEST),
13301         (gst_systemclock_suite):
13302         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13303         * gst/gstclock.c:
13304           valgrind more tests
13305
13306 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13307
13308         * check/elements/.cvsignore:
13309         * check/elements/gstfakesrc.c:
13310           rename to name of element
13311         * check/elements/identity.c: (chain_func), (event_func),
13312         (setup_identity), (cleanup_identity), (GST_START_TEST),
13313         (identity_suite), (main):
13314           add a test for identity
13315         * check/Makefile.am:
13316         * pkgconfig/Makefile.am:
13317         * pkgconfig/gstreamer-check.pc.in:
13318         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13319         * gst/check:
13320         * gst/Makefile.am:
13321         * configure.ac:
13322           move the check stuff to a library that gets installed
13323         * check/gst-libs/controller.c: (GST_START_TEST):
13324         * check/gst-libs/gdp.c:
13325         * check/gst/gst.c: (GST_START_TEST):
13326         * check/gst/gstbin.c:
13327         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13328         * check/gst/gstbus.c:
13329         * check/gst/gstcaps.c: (GST_START_TEST):
13330         * check/gst/gstelement.c:
13331         * check/gst/gstghostpad.c:
13332         * check/gst/gstiterator.c:
13333         * check/gst/gstmessage.c:
13334         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13335         * check/gst/gstobject.c:
13336         * check/gst/gstpad.c: (GST_START_TEST):
13337         * check/gst/gststructure.c: (GST_START_TEST):
13338         * check/gst/gstsystemclock.c: (GST_START_TEST),
13339         (gst_systemclock_suite):
13340         * check/gst/gsttag.c: (gst_tag_suite):
13341         * check/gst/gstvalue.c:
13342         * check/pipelines/cleanup.c:
13343         * check/pipelines/simple_launch_lines.c:
13344         * check/states/sinks.c:
13345           change include statement
13346
13347         * docs/gst/gstreamer-sections.txt:
13348         * docs/gst/tmpl/gstpad.sgml:
13349           document more pad stuff
13350         * gst/gstminiobject.c: (gst_mini_object_ref),
13351         (gst_mini_object_unref):
13352           debug refcounting
13353
13354 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13355
13356         * docs/gst/tmpl/gst.sgml:
13357         * gst/gst.c:
13358           eliminate another tmpl file, fix spelling in the long-description
13359
13360 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13361
13362         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13363         (test_event), (timediff), (gstevents_suite):
13364           Should fix build on 64-bit arch's
13365
13366 2005-08-18  Andy Wingo  <wingo@pobox.com>
13367
13368         Make sure that when a pipeline goes to PLAYING, that data has
13369         actually hit the sink.
13370
13371         * check/states/sinks.c (test_sink): A sink that doesn't get any
13372         data shouldn't return SUCCESS for going to either PLAYING or
13373         PAUSED. Test also the return values on the way back down.
13374
13375         * gst/gstelement.c (gst_element_set_state): When changing the
13376         state of an element currently changing state asynchronously, go to
13377         lost-state after commiting the pending state. Makes future calls
13378         to get_state continue to return ASYNC.
13379
13380         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13381         ASYNC when going to PLAYING if we still don't have preroll, as can
13382         happen with live sources.
13383
13384 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13385
13386         * docs/pwg/advanced-types.xml:
13387           Hack long paragraph into 2 chunks as a workaround for buggy
13388           jadetex version in sid and breezy that loops infinitely and
13389           eats all RAM.
13390
13391 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13392
13393         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13394         (test_event), (timediff), (gstevents_suite):
13395           Provide more error margin in clock measurements to allow for 
13396           g_get_current_time inaccuracies.
13397
13398 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13399
13400         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13401         (test_event), (timediff), (gstevents_suite):
13402            Fix error message output so I might be able to tell why the
13403            test works here but fails on the build farm.
13404
13405 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13406
13407         * check/Makefile.am:
13408         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13409         (test_event), (timediff), (gstevents_suite), (main):
13410           I wrote a test!
13411
13412         * docs/design/part-seeking.txt:
13413           Spelling correction
13414
13415         * docs/gst/tmpl/gstevent.sgml:
13416         * docs/gst/tmpl/gstfakesrc.sgml:
13417           Docs updates.
13418
13419         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13420           Treat a buffer-without-newsegment the same as a receiving 
13421           a newsegment not in time format, and disable syncing to the clock
13422           with a warning.
13423
13424         * gst/gstbus.c: (gst_bus_set_sync_handler):
13425           Assert if anyone tries to replace the existing sync_handler for bus, 
13426           as only the owner should be setting it.
13427
13428         * gst/gstevent.h:
13429           Have a fixed set of custom event enums with events identified by
13430           their structure name (as in 0.8), rather than a free-for-all
13431           allowing collisions between enum values from different plugins.
13432
13433         * gst/gstpad.c: (gst_pad_class_init):
13434           Docs change.
13435           
13436         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13437           Handle out-of-band downstream events from the sending thread.
13438
13439 2005-08-17  Andy Wingo  <wingo@pobox.com>
13440
13441         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13442         play-timeout==0 to mean no timeout at all. In that case, don't
13443         bother with a get_state or a warning, just return directly, even
13444         if it's ASYNC.
13445
13446         * gst/base/gstbasetransform.c: Debug changes.
13447
13448         * gst/gstutils.h:
13449         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13450         ensure bins post state change messages. A bit of a hack but I can't
13451         think of a way to avoid it.
13452
13453         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13454
13455 2005-08-16  Andy Wingo  <wingo@pobox.com>
13456
13457         * gst/base/gstadapter.h:
13458         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13459         peek() but you own the data. Not terribly efficient atm.
13460
13461 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13462
13463         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13464         (gst_element_found_tags):
13465         * gst/gstutils.h:
13466           Add two utility functions for tag handling.
13467
13468 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13469
13470         * docs/manual/advanced-dataaccess.xml:
13471         * docs/manual/basics-helloworld.xml:
13472           Fix docs to use _bin_add() before _link(), which fixes the examples
13473           with recent core versions (reported by Madhan Raj M
13474           <raj_madan@rediffmail.com>, #313199).
13475
13476 2005-08-16  Wim Taymans  <wim@fluendo.com>
13477
13478         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13479         Added subtract checks.
13480
13481         * docs/design/part-events.txt:
13482         Some more docs about newsegment
13483
13484         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13485         Fix FIXME
13486
13487         * gst/gstcaps.c: (gst_caps_to_string):
13488         Add comments, cleanups.
13489         
13490         * gst/gstelement.c: (gst_element_save_thyself):
13491         cleanups
13492         
13493         * gst/gstvalue.c: (gst_value_collect_int_range),
13494         (gst_string_unwrap), (gst_value_union_int_int_range),
13495         (gst_value_union_int_range_int_range),
13496         (gst_value_intersect_int_int_range),
13497         (gst_value_intersect_int_range_int_range),
13498         (gst_value_intersect_double_double_range),
13499         (gst_value_intersect_double_range_double_range),
13500         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13501         (gst_value_subtract_int_range_int),
13502         (gst_value_subtract_double_range_double),
13503         (gst_value_subtract_double_range_double_range),
13504         (gst_value_subtract_from_list), (gst_value_subtract_list),
13505         (gst_value_can_compare), (gst_value_compare_fraction):
13506         Cleanups, add comments, remove unneeded asserts.
13507
13508 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13509
13510         * tools/gst-launch.c: (event_loop):
13511           don't convert NULL structures to strings
13512
13513 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13514
13515         * docs/gst/gstreamer-sections.txt:
13516           made some defines private
13517         * docs/gst/tmpl/gstconfig.sgml:
13518         * docs/gst/tmpl/gstqueue.sgml:
13519         * docs/gst/tmpl/gsttaglist.sgml:
13520         * docs/gst/tmpl/gsttypes.sgml:
13521         * docs/gst/tmpl/gstutils.sgml:
13522         * docs/pwg/appendix-porting.xml:
13523         * gst/base/gstbasesink.h:
13524         * gst/base/gstbasesrc.c:
13525         * gst/base/gstbasesrc.h:
13526         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13527         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13528         * gst/gstelement.c: (gst_element_class_init):
13529         * gst/gstpad.c: (gst_pad_class_init):
13530         * gst/gstqueue.c: (gst_queue_class_init):
13531         * gst/gstxml.c: (gst_xml_class_init):
13532           documented all undocumented signal inline
13533         * libs/gst/controller/gst-controller.h:
13534           added padding
13535
13536 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13537
13538         * docs/pwg/appendix-porting.xml:
13539           Document _set_link_function -> _set_setcaps_function.
13540
13541 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * check/Makefile.am:
13544           add a .check target for running the check
13545         * check/gst-libs/controller.c: (GST_START_TEST):
13546           cosmetic fixups
13547         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13548           complete checks for gstbuffer; would be nice if I could get the
13549           gcov stuff to work so I can see if I actually completed gstbuffer.c
13550         * check/gstcheck.h:
13551           add ASSERT_BUFFER_REFCOUNT
13552
13553 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13554
13555         * docs/gst/gstreamer-sections.txt:
13556         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13557         * gst/gsttag.h:
13558           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13559           spew out a warning if a tag that is already registered
13560           is re-registered, unless it is re-registered with a 
13561           different type (#308438).
13562
13563 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13564
13565         * docs/pwg/appendix-porting.xml:
13566         * docs/pwg/building-state.xml:
13567           Add some paragraphs about state changes in 0.9 to the PWG
13568           and the porting guide, in particular about the new meaning
13569           of GST_STATE_PAUSED and how to write state change functions
13570           with concurrent access by multiple threads in mind.
13571
13572 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13573
13574         * docs/gst/gstreamer-docs.sgml:
13575         * docs/libs/gstreamer-libs-docs.sgml:
13576           added deprecation and since indexes
13577         * libs/gst/controller/gst-controller.c:
13578         * libs/gst/controller/gst-helper.c:
13579           added since tags
13580
13581
13582 2005-08-11  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13585         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13586         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13587         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13588         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13589         (gst_ghost_pad_set_target):
13590         Actually implement (re)setting the target on a ghostpad
13591         as described in the docs.
13592
13593 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13594
13595         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13596           Check whether GST_DEBUG_NO_COLOR environment variable is
13597           set and disable coloured debug output if that is the case.
13598
13599 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13600
13601         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13602         (gst_type_find_helper):
13603           The memory returned by gst_type_find_peek() needs to
13604           stay valid until the end of a typefind function, and
13605           typefind functions may keep results from different 
13606           offsets around, so we can't just unref the buffer from
13607           the previous _peek(), but have to save all buffers 
13608           returned by _peek() until typefinding is done and only
13609           free them then.
13610
13611 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13612
13613         * docs/gst/gstreamer-sections.txt:
13614         * gst/gstutils.h:
13615           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13616
13617 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13618
13619         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13620           Fix a pretty good memleak.
13621
13622 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13623
13624         * gst/gstiterator.h:
13625           Fix wrong include and 'make distcheck'.
13626
13627 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13628
13629         * gst/gstbin.c: (bin_bus_handler):
13630           Use gst_element_post_message() instead.
13631
13632 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13633
13634         * gst/base/gstadapter.h:
13635         * gst/base/gstbasesink.h:
13636         * gst/base/gstbasesrc.h:
13637         * gst/base/gstbasetransform.h:
13638         * gst/base/gstcollectpads.h:
13639         * gst/base/gstpushsrc.h:
13640         * gst/gstiterator.h:
13641           Add padding to our base elements' class and instance structs and
13642           to GstIterator (you will need to rebuild all plugins and apps!)
13643
13644 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13645
13646         * gst/gstbin.c: (bin_bus_handler):
13647           Make default message forwarding from child->bus to bin->bus
13648           threadsafe and make it not emit warnings if the parent has no bus.
13649
13650 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13651
13652         * gst/gstelement.c: (activate_pads):
13653           On paused->ready, set pad->caps to NULL, as is the documented
13654           behaviour in this state change. Fixes playback of series of
13655           media files when visualization is enabled in Totem.
13656
13657 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13658
13659         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13660           Allow NULL as filter-caps (which means "any").
13661
13662 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13663
13664         * docs/libs/gstreamer-libs-sections.txt:
13665         * libs/gst/controller/gst-controller.c:
13666         * libs/gst/controller/gst-controller.h:
13667         * libs/gst/controller/gst-helper.c:
13668           adding more entries to the docs and fix small doc-bugs
13669
13670 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13671
13672         * docs/gst/gstreamer-docs.sgml:
13673         * docs/gst/gstreamer-sections.txt:
13674         * docs/gst/gstreamer.types:
13675         * docs/gst/tmpl/gstbasesink.sgml:
13676         * docs/gst/tmpl/gstbasesrc.sgml:
13677         * docs/gst/tmpl/gstbasetransform.sgml:
13678         * docs/gst/tmpl/gstfakesrc.sgml:
13679         * gst/base/gstcollectpads.c:
13680         * gst/base/gstcollectpads.h:
13681         * libs/gst/controller/gst-controller.c:
13682         * libs/gst/controller/gst-controller.h:
13683         * libs/gst/controller/gst-helper.c:
13684         * libs/gst/controller/gst-interpolation.c:
13685         * libs/gst/controller/lib.c:
13686           added long/short desc for controller docs
13687           added collectpads base class docs
13688           added correct includes to base-class docs
13689
13690 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13691
13692         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13693         (gst_test_mono_source_set_property),
13694         (gst_test_mono_source_class_init), (GST_START_TEST),
13695         (gst_controller_suite):
13696         * docs/gst/gstreamer-docs.sgml:
13697         * docs/gst/gstreamer-sections.txt:
13698         * docs/gst/gstreamer.types:
13699         * docs/libs/gstreamer-libs-docs.sgml:
13700         * docs/libs/gstreamer-libs-sections.txt:
13701         * gst/base/gstadapter.c:
13702         * libs/gst/controller/gst-controller.c:
13703         (gst_controlled_property_new), (gst_controlled_property_free),
13704         (gst_controller_new_valist),
13705         (gst_controller_remove_properties_valist),
13706         (gst_controller_sink_values), (_gst_controller_finalize):
13707         * libs/gst/controller/gst-controller.h:
13708         * libs/gst/controller/gst-helper.c:
13709         (gst_object_control_properties), (gst_object_uncontrol_properties),
13710         (gst_object_get_controller), (gst_object_set_controller),
13711         (gst_object_sink_values), (gst_object_get_value_arrays),
13712         (gst_object_get_value_array):
13713           more tests (and fixes) for the controller
13714           more docs for the controller
13715           integrated companies docs for the adapter 
13716
13717 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13718
13719         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13720         (GST_START_TEST), (fakesrc_suite):
13721           add tests for sizetype
13722
13723 2005-08-04  Andy Wingo  <wingo@pobox.com>
13724
13725         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13726         fixes buffer_alloc proxying among other things.
13727
13728         * gst/base/gstbasetransform.c:
13729         * gst/base/gstbasetransform.h:
13730         Revert patch to gstbasetransform from 7-28 removing
13731         delay_configure.
13732
13733         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13734         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13735         Semantics changed, should return not the size of the output buffer
13736         but the byte size of a buffer with a given caps.
13737
13738         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13739         debug object.
13740         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13741         out) are not the pad caps until setcaps finishes.
13742         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13743         not-in-place case as well. Deal with changing from in-place to
13744         not-in-place within calling pad_alloc_buffer. Still a bit
13745         concerned about the overhead here...
13746
13747 2005-08-03  Andy Wingo  <wingo@pobox.com>
13748
13749         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13750         fixating is an error.
13751
13752 2005-08-04  Edward Hervey  <edward@fluendo.com>
13753
13754         * gst/base/gstadapter.h: 
13755         Added gst_adapter_get_type() to the header
13756
13757 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13758
13759         * check/Makefile.am:
13760         * check/gst-libs/controller.c:
13761         * libs/gst/controller/gst-controller.c:
13762         (gst_controller_new_valist):
13763           added check test suite for the controller
13764         * gst/base/gstpushsrc.c:
13765           fixed a doc typo
13766
13767 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13768
13769         * docs/gst/Makefile.am:
13770         * docs/gst/gstreamer-docs.sgml:
13771         * docs/gst/gstreamer-sections.txt:
13772         * docs/gst/gstreamer.types:
13773         * docs/gst/tmpl/gstfakesrc.sgml:
13774         * gst/base/README:
13775         * gst/base/gstbasesink.c:
13776         * gst/base/gstbasesink.h:
13777         * gst/base/gstbasesrc.c:
13778         * gst/base/gstbasesrc.h:
13779         * gst/base/gstbasetransform.c:
13780         * gst/base/gstpushsrc.c:
13781         * gst/base/gstpushsrc.h:
13782           add short/long description docs to base classes
13783           add pushsrc to the docs
13784           remove consolidated doc fragments
13785
13786 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13787
13788         * configure.ac:
13789         * docs/libs/Makefile.am:
13790         * docs/libs/gstreamer-libs-docs.sgml:
13791         * docs/libs/gstreamer-libs-sections.txt:
13792         * docs/libs/gstreamer-libs.types:
13793         * examples/Makefile.am:
13794         * examples/controller/.cvsignore:
13795         * examples/controller/Makefile.am:
13796         * examples/controller/audio-example.c: (main):
13797         * libs/gst/Makefile.am:
13798         * libs/gst/controller/.cvsignore:
13799         * libs/gst/controller/Makefile.am:
13800         * libs/gst/controller/gst-controller.c:
13801         (on_object_controlled_property_changed), (gst_timed_value_compare),
13802         (gst_timed_value_find),
13803         (gst_controlled_property_set_interpolation_mode),
13804         (gst_controlled_property_new), (gst_controlled_property_free),
13805         (gst_controller_find_controlled_property),
13806         (gst_controller_new_valist), (gst_controller_new),
13807         (gst_controller_remove_properties_valist),
13808         (gst_controller_remove_properties), (gst_controller_set),
13809         (gst_controller_set_from_list), (gst_controller_unset),
13810         (gst_controller_get), (gst_controller_get_all),
13811         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13812         (gst_controller_get_value_array),
13813         (gst_controller_set_interpolation_mode),
13814         (_gst_controller_finalize), (_gst_controller_init),
13815         (_gst_controller_class_init), (gst_controller_get_type):
13816         * libs/gst/controller/gst-controller.h:
13817         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13818         (g_object_uncontrol_properties), (g_object_get_controller),
13819         (g_object_set_controller), (g_object_sink_values),
13820         (g_object_get_value_arrays), (g_object_get_value_array):
13821         * libs/gst/controller/gst-interpolation.c:
13822         (gst_controlled_property_find_timed_value_node),
13823         (interpolate_none_get), (interpolate_trigger_get),
13824         (interpolate_trigger_get_value_array):
13825         * libs/gst/controller/lib.c: (gst_controller_init):
13826         * pkgconfig/Makefile.am:
13827         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13828         * pkgconfig/gstreamer-control.pc.in:
13829         * testsuite/Makefile.am:
13830         * testsuite/controller/.cvsignore:
13831         * testsuite/controller/Makefile.am:
13832         * testsuite/controller/interpolator.c: (main):
13833           added controller code
13834           removed dparam pc files
13835
13836 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13837         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13838         (gst_collectpads_stop):
13839           Broadcast the condition when shutting down, to make sure we wake all
13840           threads up. Shut down pads on finalize, for safety.
13841
13842 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13843         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13844         (gst_base_transform_handle_buffer),
13845         (gst_base_transform_change_state):
13846           Handle PAUSED->READY->PAUSED transition after negotiation
13847           occurred already.
13848         * gst/gstmessage.c: (gst_message_init):
13849           Extra piece of debug for new messages.
13850
13851 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13852
13853         * configure.ac:
13854         * docs/gst/tmpl/gstbasesrc.sgml:
13855         * docs/gst/tmpl/gstelement.sgml:
13856         * docs/gst/tmpl/gstevent.sgml:
13857         * docs/gst/tmpl/gstfakesrc.sgml:
13858         * docs/gst/tmpl/gstformat.sgml:
13859         * docs/gst/tmpl/gstghostpad.sgml:
13860         * docs/gst/tmpl/gstpad.sgml:
13861         * docs/gst/tmpl/gstquery.sgml:
13862         * docs/gst/tmpl/gststructure.sgml:
13863         * docs/gst/tmpl/gsttaglist.sgml:
13864         * docs/gst/tmpl/gstvalue.sgml:
13865         * docs/libs/gstreamer-libs-docs.sgml:
13866         * docs/libs/gstreamer-libs-sections.txt:
13867         * docs/libs/gstreamer-libs.types:
13868         * libs/gst/Makefile.am:
13869         * libs/gst/control/.cvsignore:
13870         * libs/gst/control/Makefile.am:
13871         * libs/gst/control/control.c:
13872         * libs/gst/control/control.h:
13873         * libs/gst/control/dparam.c:
13874         * libs/gst/control/dparam.h:
13875         * libs/gst/control/dparam_smooth.c:
13876         * libs/gst/control/dparam_smooth.h:
13877         * libs/gst/control/dparamcommon.h:
13878         * libs/gst/control/dparammanager.c:
13879         * libs/gst/control/dparammanager.h:
13880         * libs/gst/control/dplinearinterp.c:
13881         * libs/gst/control/dplinearinterp.h:
13882         * libs/gst/control/unitconvert.c:
13883         * libs/gst/control/unitconvert.h:
13884         * testsuite/Makefile.am:
13885         * testsuite/dynparams/.cvsignore:
13886         * testsuite/dynparams/Makefile.am:
13887         * testsuite/dynparams/dparamstest.c:
13888         * tools/Makefile.am:
13889         * tools/gst-inspect.c: (print_element_info), (main):
13890         * tools/gst-xmlinspect.c: (print_element_info), (main):
13891           deactivate and remove dparams (libgstcontrol)
13892
13893 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13894
13895         * gst/elements/gsttypefindelement.c:
13896         (gst_type_find_element_have_type), (gst_type_find_element_init),
13897         (stop_typefinding), (gst_type_find_element_handle_event),
13898         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13899         * gst/elements/gsttypefindelement.h:
13900           Set caps on all outgoing buffers, not just the first one.
13901
13902 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13903
13904         * gst/elements/gsttypefindelement.c:
13905         (gst_type_find_element_have_type),
13906         (gst_type_find_element_check_set_buffer_caps),
13907         (gst_type_find_element_init), (stop_typefinding),
13908         (gst_type_find_element_handle_event),
13909         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13910         * gst/elements/gsttypefindelement.h:
13911           Set caps on first outgoing buffer when we've found the type.
13912
13913 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13914
13915         * docs/gst/gstreamer-docs.sgml:
13916         * docs/gst/gstreamer-sections.txt:
13917         * docs/gst/tmpl/gstscheduler.sgml:
13918         * docs/gst/tmpl/gstschedulerfactory.sgml:
13919           Remove some old cruft from docs.
13920
13921 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13922
13923         * gst/gstpad.h:
13924           Fix inline docs for GstPadLinkReturn.
13925           
13926         * gst/gststructure.c: (gst_structure_has_name):
13927         * gst/gststructure.h:
13928         * docs/gst/gstreamer-sections.txt:
13929           New API: gst_structure_has_name().
13930
13931 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13932
13933         * configure.ac:
13934           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13935           and _LARGEFILE_SOURCE in config.h as required. Do not 
13936           export those flags in our .pc files any longer (#142209).
13937
13938           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13939
13940         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13941         (gst_file_sink_do_seek), (gst_file_sink_event),
13942         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13943           Redo seek/tell calls with large file support in mind; add some
13944           debugging messages; add log message that tells us when large
13945           file support is unavailable or not enabled for some reason.
13946
13947         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13948           Add log message that tells us when large file support 
13949           is unavailable or not enabled for some reason.
13950
13951 2005-07-29  Wim Taymans  <wim@fluendo.com>
13952
13953         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13954         Added test for removing an element with ghostpad from a bin.
13955         Fixed test as current implementation does the right thing.
13956
13957         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13958         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13959         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13960         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13961         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13962         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13963         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13964         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13965         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13966         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13967         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13968         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13969         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13970         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13971         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13972         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13973         * gst/gstghostpad.h:
13974         Clean up ghostpads, remove properties for internal stuff.
13975         Make threadsafe.
13976         Fix refcounting.
13977         Prepare for switching targets, not all use cases work yet.
13978
13979 2005-07-29  Wim Taymans  <wim@fluendo.com>
13980
13981         * docs/design/part-gstghostpad.txt:
13982         Small update.
13983
13984         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13985         (gst_bin_remove_func):
13986         Unlinking pads while holding the bin LOCK is not a good
13987         idea.
13988
13989         * gst/gstpad.c: (gst_pad_class_init),
13990         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13991         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13992         No prob setting template after creating the pad.
13993
13994 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13995
13996         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13997         (gst_bus_peek), (gst_bus_source_dispatch),
13998         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13999         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14000           gst_bus_poll may be called from other threads. Handle
14001           this nicely by not making poll_data disappear off the
14002           stack once gst_bus_poll returns.
14003           gst_bus_peek now increments the refcount on the returned
14004           message.
14005
14006 2005-07-29  Wim Taymans  <wim@fluendo.com>
14007
14008         * docs/design/part-gstghostpad.txt:
14009         Overview of current GhostPad datastructures and use
14010         cases for changing the target.
14011
14012 2005-07-28  Wim Taymans  <wim@fluendo.com>
14013
14014         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14015         Added checks for hierarchy consistency whan adding linked
14016         elements to bins.
14017
14018         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14019         Added check to test element scheduling without bin/pipeline.
14020
14021         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14022         First add elements to bin, then link.
14023         
14024         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14025         (gst_bin_remove_func):
14026         Unlink pads from elements added/removed from bin to maintain
14027         hierarchy consistency.
14028
14029 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14030
14031         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14032         (gst_base_transform_handle_buffer):
14033         * gst/base/gstbasetransform.h:
14034           Remove broken delay_configure (fixes renegotiation of software
14035           scaling pipelines); remove some leftover printf()s.
14036
14037 2005-07-28  Wim Taymans  <wim@fluendo.com>
14038
14039         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14040         Added some more tests for wrong hierarchy
14041
14042         * docs/design/part-overview.txt:
14043         Some updates.
14044
14045         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14046         Cleanups.
14047
14048         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14049         (gst_element_dispose):
14050         Some more cleanups.
14051
14052         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14053         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14054         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14055         (gst_pad_set_caps), (gst_pad_send_event):
14056         Check for correct hierarchy when linking pads. Moving to
14057         strict requirement for ghostpads when linking elements in
14058         different bins.
14059
14060         * gst/gstpad.h:
14061         Clean ups. Added WRONG_HIERARCHY return value.
14062
14063 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14064
14065         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14066           Better debug if no transform is possible.
14067
14068 2005-07-27  Wim Taymans  <wim@fluendo.com>
14069
14070         * docs/random/wtay/network-transp:
14071         Some old doc I had.
14072
14073 2005-07-27  Wim Taymans  <wim@fluendo.com>
14074
14075         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14076         (gst_dp_event_from_packet):
14077         Fix serialization of seek events.
14078
14079 2005-07-27  Wim Taymans  <wim@fluendo.com>
14080
14081         * check/gst-libs/gdp.c: (GST_START_TEST):
14082         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14083         Fix compilation and fix event serialization.
14084
14085 2005-07-27  Wim Taymans  <wim@fluendo.com>
14086
14087         * CHANGES-0.9:
14088         * docs/design/part-TODO.txt:
14089         * docs/design/part-events.txt:
14090         Some docs updates
14091
14092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14093         (gst_base_sink_event), (gst_base_sink_do_sync),
14094         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14095         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14096         (gst_base_src_do_seek), (gst_base_src_event_handler),
14097         (gst_base_src_loop):
14098         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14099         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14100         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14101         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14102         (gst_base_transform_set_passthrough),
14103         (gst_base_transform_is_passthrough):
14104         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14105         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14106         Event updates.
14107
14108         * gst/gstbuffer.h:
14109         Use faster casts.
14110
14111         * gst/gstelement.c: (gst_element_seek):
14112         * gst/gstelement.h:
14113         Update gst_element_seek.
14114
14115         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14116         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14117         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14118         (gst_event_new_eos), (gst_event_new_newsegment),
14119         (gst_event_parse_newsegment), (gst_event_new_tag),
14120         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14121         (gst_event_parse_qos), (gst_event_new_seek),
14122         (gst_event_parse_seek), (gst_event_new_navigation):
14123         * gst/gstevent.h:
14124         Make GstEvent use GstStructure. Add parsing code, make sure the
14125         API is sufficiently generic.
14126         Mark possible directions of events and serialization.
14127
14128         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14129         (_gst_message_copy), (gst_message_new_segment_start),
14130         (gst_message_new_segment_done), (gst_message_new_custom),
14131         (gst_message_parse_segment_start),
14132         (gst_message_parse_segment_done):
14133         Small cleanups.
14134
14135         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14136         (gst_pad_set_caps), (gst_pad_send_event):
14137         Update for new events. 
14138         Catch events sent in wrong directions.
14139
14140         * gst/gstqueue.c: (gst_queue_link_src),
14141         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14142         (gst_queue_handle_src_query):
14143         Event updates.
14144
14145         * gst/gsttag.c:
14146         * gst/gsttag.h:
14147         Remove event code from this file.
14148
14149         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14150         (gst_dp_event_from_packet):
14151         Event updates.
14152
14153 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14154
14155         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14156         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14157         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14158           Make debugging actually useful.
14159
14160 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14161
14162         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14163         (gst_pad_fixate_caps):
14164           Implement default fixation once again, so that gst_pad_fixate()
14165           actually does anything at all. This probably needs to be some
14166           sort of a last resort, and use profile-based fixation first, but
14167           since that doesn't exist yet, this is the best we have. Fixes
14168           visualization in Totem.
14169
14170 2005-07-22  Wim Taymans  <wim@fluendo.com>
14171
14172         * docs/design/part-events.txt:
14173         Small update.
14174
14175         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14176         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14177         (gst_base_sink_activate_pull):
14178         Some more comments.
14179
14180         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14181         (gst_fake_src_create):
14182         Fix handoff marshall.
14183
14184         * gst/elements/gstidentity.c: (gst_identity_class_init),
14185         (gst_identity_transform_ip):
14186         We're a real inplace element.
14187
14188         * gst/gstbus.c: (gst_bus_post):
14189         Added some comments.
14190
14191         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14192         * tests/muxing/case1.c: (main):
14193         * tests/sched/dynamic-pipeline.c: (main):
14194         * tests/sched/interrupt1.c: (main):
14195         * tests/sched/interrupt2.c: (main):
14196         * tests/sched/interrupt3.c: (main):
14197         * tests/sched/runxml.c: (main):
14198         * tests/sched/sched-stress.c: (main):
14199         * tests/seeking/seeking1.c: (event_received), (main):
14200         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14201         (main):
14202         * tests/threadstate/threadstate3.c: (main):
14203         * tests/threadstate/threadstate4.c: (main):
14204         * tests/threadstate/threadstate5.c: (main):
14205         Fix the tests.
14206
14207 2005-07-21  Wim Taymans  <wim@fluendo.com>
14208
14209         * docs/design/part-seeking.txt:
14210         Some small additions.
14211
14212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14213         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14214         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14215         * gst/base/gstbasesink.h:
14216         discont values are gint64, handle the math correctly.
14217
14218         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14219         Make the basesrc report error if the source pad is not linked.
14220
14221         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14222         (gst_queue_loop), (gst_queue_handle_src_query),
14223         (gst_queue_src_activate_push):
14224         Make queue collect data even if the srcpad is not linked.
14225         Start pushing out data as soon as it is linked.
14226
14227         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14228         * gst/gstutils.h:
14229         Added gst_flow_get_name() to ease error reporting.
14230
14231 2005-07-20  Wim Taymans  <wim@fluendo.com>
14232
14233         * gst/gstmessage.c: (gst_message_new_segment_start),
14234         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14235         (gst_message_parse_segment_done):
14236         * gst/gstmessage.h:
14237         Added a bunch of messages for advanced seeking.
14238
14239         * gst/parse/grammar.y:
14240         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14241         (gst_dpman_state_changed):
14242         Fix some new-pad -> pad-added signals
14243
14244 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14245
14246         * docs/manual/appendix-porting.xml:
14247         * docs/pwg/appendix-porting.xml:
14248           Document new-pad/state-change signal renames and the FixedList
14249           type rename.
14250
14251 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14252
14253         * docs/manual/advanced-autoplugging.xml:
14254         * docs/manual/basics-helloworld.xml:
14255         * docs/manual/basics-pads.xml:
14256         * docs/random/ds/0.9-suggested-changes:
14257         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14258         * gst/gstelement.h:
14259         * gst/gstevent.h:
14260         * gst/gstformat.h:
14261         * gst/gstquery.h:
14262         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14263         (gst_structure_parse_array), (gst_structure_parse_value):
14264         * gst/gstvalue.c: (gst_type_is_fixed),
14265         (gst_value_list_prepend_value), (gst_value_list_append_value),
14266         (gst_value_list_get_size), (gst_value_list_get_value),
14267         (gst_value_transform_array_string), (gst_value_serialize_array),
14268         (gst_value_deserialize_array), (gst_value_intersect_array),
14269         (gst_value_is_fixed), (_gst_value_initialize):
14270         * gst/gstvalue.h:
14271           GstElement::new-pad -> pad-added, GstElement::state-change ->
14272           state-changed, GstValueFixedList -> GstValueArray, add format and
14273           flags as their own arguments in gst_element_seek() (should improve
14274           "bindeability"), remove function generators since they don't work
14275           under a whole bunch of compilers (they were deprecated already
14276           anyway).
14277
14278 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14279
14280         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14281         (_gst_debug_register_funcptr):
14282         * gst/gstinfo.h:
14283           Fix illegal cast on some platforms (#309253).
14284
14285 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14286
14287         * gst/gstmessage.c: (gst_message_new_custom):
14288         * gst/gstmessage.h:
14289           Add _new_custom, make _new_application a macro to _new_custom.
14290
14291 2005-07-20  Wim Taymans  <wim@fluendo.com>
14292
14293         * gst/base/gstbasesrc.c: (gst_base_src_init),
14294         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14295         * gst/base/gstbasesrc.h:
14296         Add a gboolean to decide when to push out a discont.
14297
14298         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14299         (gst_queue_loop), (gst_queue_handle_src_query),
14300         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14301         (gst_queue_set_property), (gst_queue_get_property):
14302         Some cleanups.
14303
14304         * tests/threadstate/threadstate1.c: (main):
14305         Make a thread test compile and run... very silly..
14306
14307
14308 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14309
14310         * docs/manual/appendix-porting.xml:
14311           Mention removal of libgstgconf-0.9.la and existence of gconf
14312           elements.
14313
14314 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14315
14316         * docs/pwg/advanced-clock.xml:
14317         * docs/pwg/appendix-porting.xml:
14318         * docs/pwg/intro-preface.xml:
14319         * docs/pwg/other-base.xml:
14320         * docs/pwg/other-manager.xml:
14321         * docs/pwg/other-nton.xml:
14322         * docs/pwg/other-ntoone.xml:
14323         * docs/pwg/other-oneton.xml:
14324         * docs/pwg/pwg.xml:
14325           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14326           demuxer), remove n-to-n (was never written), fix some code examples
14327           and links and update the porting section to include all this.
14328
14329 2005-07-19  Wim Taymans  <wim@fluendo.com>
14330
14331         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14332         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14333         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14334         (gst_queue_src_activate_push), (gst_queue_change_state),
14335         (gst_queue_get_property):
14336         * gst/gstqueue.h:
14337         Propagate GstFlowReturn more intelligently upstream and output
14338         an ERROR/EOS when streaming stopped due to fatal error.
14339
14340 2005-07-19  Wim Taymans  <wim@fluendo.com>
14341
14342         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14343         Don't block forever for the state change to complete, the
14344         pipeline already did with a sensible timeout.
14345
14346 2005-07-19  Wim Taymans  <wim@fluendo.com>
14347
14348         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14349         Make sure we never call the create function is we
14350         got deactivated.
14351
14352 2005-07-19  Andy Wingo  <wingo@pobox.com>
14353
14354         * gst/parse/parse.l: Attempt to solve bug #172815.
14355
14356 2005-07-19  Wim Taymans  <wim@fluendo.com>
14357
14358         * docs/design/part-clocks.txt:
14359         * docs/design/part-events.txt:
14360         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14361         Small docs updates.
14362         Only update the seeking values when we are not
14363         busy streaming.
14364
14365 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14366
14367         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14368           Oops, ignore the result of gst_pad_push_event here.
14369
14370 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14371
14372         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14373         (gst_base_src_activate_push):
14374           Send discont event from the loop function, as pads
14375           aren't activated yet in the activate_push handler.
14376
14377         * gst/gstbin.c: (bin_bus_handler):
14378           Don't leak element name.
14379
14380 2005-07-18  Andy Wingo  <wingo@pobox.com>
14381
14382         * configure.ac: Use AS_LIBTOOL_TAGS.
14383
14384 2005-07-18  Wim Taymans  <wim@fluendo.com>
14385
14386         * docs/gst/gstreamer.types:
14387         Remove deleted types.
14388
14389 2005-07-18  Wim Taymans  <wim@fluendo.com>
14390
14391         * check/elements/gstfakesrc.c: (GST_START_TEST):
14392         * configure.ac:
14393         * gst/Makefile.am:
14394         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14395         (init_popt_callback):
14396         * gst/gst.h:
14397         * gst/gst_private.h:
14398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14399         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14400         * gst/gstbin.h:
14401         * gst/gstbus.h:
14402         * gst/gstconfig.h.in:
14403         * gst/gstelement.c: (gst_element_class_init),
14404         (gst_element_set_base_time), (gst_element_get_base_time),
14405         (iterator_fold_with_resync), (gst_element_change_state),
14406         (gst_element_dispose), (gst_element_get_bus):
14407         * gst/gstelement.h:
14408         * gst/gstelementfactory.h:
14409         * gst/gsterror.c: (_gst_core_errors_init):
14410         * gst/gsterror.h:
14411         * gst/gstevent.h:
14412         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14413         * gst/gstindex.c:
14414         * gst/gstinfo.c: (_gst_debug_init):
14415         * gst/gstmessage.c: (_gst_message_copy):
14416         * gst/gstmessage.h:
14417         * gst/gstminiobject.h:
14418         * gst/gstobject.c:
14419         * gst/gstobject.h:
14420         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14421         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14422         * gst/gstpad.h:
14423         * gst/gstparse.h:
14424         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14425         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14426         (gst_pipeline_get_last_stream_time):
14427         * gst/gstpipeline.h:
14428         * gst/gstpluginfeature.h:
14429         * gst/gstquery.h:
14430         * gst/gstscheduler.c:
14431         * gst/gstscheduler.h:
14432         * gst/gststructure.h:
14433         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14434         (gst_task_finalize), (gst_task_func), (gst_task_create),
14435         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14436         (gst_task_stop), (gst_task_pause):
14437         * gst/gsttask.h:
14438         * gst/gsttypefind.h:
14439         * gst/gsttypes.h:
14440         * gst/registries/gstlibxmlregistry.c: (load_feature),
14441         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14442         * gst/registries/gstxmlregistry.c:
14443         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14444         * gst/schedulers/threadscheduler.c:
14445         * libs/gst/control/dparammanager.h:
14446         * tools/gst-inspect.c: (print_element_list),
14447         (print_plugin_features), (print_element_features):
14448         * tools/gst-xmlinspect.c: (print_element_list),
14449         (print_plugin_info), (main):
14450         Removed plugable schedulers.
14451         Removed Scheduler/Manager from elements.
14452         Removed gsttypes.h, rearranged includes.
14453         Removed dependency pad<->element, element<>pipeline, and
14454         various others,  fix includes.
14455         implement gst_pad_get_parent() with gst_object_get_parent()
14456         Make GstTask sefcontained.
14457         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14458         timeout.
14459         Fix endless loop in iterator_fold_with_resync.
14460
14461
14462 2005-07-18  Wim Taymans  <wim@fluendo.com>
14463
14464         * gst/Makefile.am:
14465         * gst/gstarch.h:
14466         Remove old file.
14467
14468 2005-07-18  Wim Taymans  <wim@fluendo.com>
14469
14470         * gst/Makefile.am:
14471         No more cothreads.h
14472
14473 2005-07-18  Wim Taymans  <wim@fluendo.com>
14474
14475         * gst/cothreads.c:
14476         * gst/cothreads.h:
14477         Let's remove these.
14478
14479 2005-07-18  Wim Taymans  <wim@fluendo.com>
14480
14481         * docs/design/part-dynamic.txt:
14482         * docs/design/part-events.txt:
14483         * docs/design/part-seeking.txt:
14484         Some more docs in the works.
14485
14486         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14487         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14488         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14489         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14490         (gst_base_transform_handle_buffer),
14491         (gst_base_transform_sink_activate_push),
14492         (gst_base_transform_src_activate_pull),
14493         (gst_base_transform_set_passthrough),
14494         (gst_base_transform_is_passthrough):
14495         Refcounting fixes.
14496
14497         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14498         Cleanups.
14499
14500         * gst/gstevent.c: (gst_event_finalize):
14501         Set SRC to NULL.
14502
14503         * gst/gstutils.c: (gst_element_unlink),
14504         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14505         (gst_pad_proxy_setcaps):
14506         * gst/gstutils.h:
14507         Add _get_parent_element() to get a pads parent as an element.
14508
14509 2005-07-18  Wim Taymans  <wim@fluendo.com>
14510
14511         * check/gst/gstbin.c: (GST_START_TEST):
14512         Remove bogus test.
14513
14514 2005-07-18  Wim Taymans  <wim@fluendo.com>
14515
14516         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14517         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14518         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14519         (gst_base_sink_event), (gst_base_sink_do_sync),
14520         (gst_base_sink_chain), (gst_base_sink_loop),
14521         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14522         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14523         Refcounting fixes.
14524         Fix logic for returning ASYNC when not prerolled.
14525
14526 2005-07-18  Wim Taymans  <wim@fluendo.com>
14527
14528         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14529         Fix nasty refcount bug.
14530
14531 2005-07-16 Philippe Khalaf <burger@speedy.org>
14532
14533         * gst/elements/gstfdsrc.c:
14534         * gst/elements/gstfdsrc.h:
14535         * gst/elements/gstelements.c:
14536         * gst/elements/Makefile.am:
14537         Ported fdsrc to 0.9.
14538
14539 2005-07-16  Wim Taymans  <wim@fluendo.com>
14540
14541         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14542         (gst_base_sink_do_sync):
14543         Fix compile error.
14544
14545 2005-07-16  Wim Taymans  <wim@fluendo.com>
14546
14547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14548         (gst_base_sink_event), (gst_base_sink_get_times),
14549         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14550         * gst/base/gstbasesink.h:
14551         Store and use discont values when syncing buffers as described
14552         in design docs.
14553         
14554         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14555         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14556         (gst_base_src_activate_push):
14557         Push discont event when starting.
14558
14559         * gst/elements/gstidentity.c: (gst_identity_transform):
14560         Small cleanups.
14561
14562         * gst/gstbin.c: (gst_bin_change_state):
14563         Small cleanups in base_time  distribution.
14564
14565         * gst/gstelement.c: (gst_element_set_base_time),
14566         (gst_element_get_base_time), (gst_element_change_state):
14567         * gst/gstelement.h:
14568         Added methods for the base_time of the element.
14569         Some MT fixes.
14570
14571         * gst/gstpipeline.c: (gst_pipeline_send_event),
14572         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14573         (gst_pipeline_get_last_stream_time):
14574         * gst/gstpipeline.h:
14575         MT fixes.
14576         Handle seeking as described in design doc, remove stream_time
14577         hack.
14578         Cleanups clock and stream_time selection code. Added accessors
14579         for the stream_time.
14580         
14581
14582 2005-07-16  Andy Wingo  <wingo@pobox.com>
14583
14584         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14585         (#305291).
14586
14587 2005-07-16  Wim Taymans  <wim@fluendo.com>
14588
14589         * check/gst/gstbin.c: (GST_START_TEST):
14590         Make elements silent as the deep_notify refs the
14591         parent, which might make the test fail.
14592
14593         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14594         Don't hold the lock for too long.
14595
14596 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14597
14598         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14599           Don't unref the caps we passed to gst_caps_make_writable() after
14600           passing them. gst_caps_make_writable() will do that for us.
14601
14602 2005-07-15  Andy Wingo  <wingo@pobox.com>
14603
14604         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14605         (#157311).
14606
14607         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14608         own marshalling function for the handoff signal. Properly type the
14609         buffer as a buffer. Fixes some warnings. Should do a more general
14610         solution.
14611         (gst_identity_class_init): Plug into the right marshaller.
14612
14613 2005-07-15  Wim Taymans  <wim@fluendo.com>
14614
14615         * docs/design/part-TODO.txt:
14616         * docs/design/part-clocks.txt:
14617         * docs/design/part-element-sink.txt:
14618         * docs/design/part-events.txt:
14619         * docs/design/part-gstpipeline.txt:
14620         Updated docs, mostly DISCONT related.
14621
14622 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14623
14624         * docs/pwg/building-pads.xml:
14625           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14626
14627 2005-07-15  Andy Wingo  <wingo@pobox.com>
14628
14629         * tools/gst-typefind.c: Update, add copyright block.
14630
14631         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14632         Normalize and truncate caps before fixation.
14633
14634         * gst/gstcaps.h:
14635         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14636         discards all but the first structure from its argument.
14637
14638 2005-07-15  Wim Taymans  <wim@fluendo.com>
14639
14640         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14641         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14642         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14643         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14644         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14645         (gst_base_transform_chain), (gst_base_transform_change_state),
14646         (gst_base_transform_set_passthrough),
14647         (gst_base_transform_is_passthrough):
14648         * gst/base/gstbasetransform.h:
14649         Make passthrough work using the bufferpools.
14650         Changed API a bit, subclasses have to write into a buffer
14651         provided by the base class.
14652         More debug info in nego functions.
14653         
14654         * gst/elements/gstidentity.c: (gst_identity_init),
14655         (gst_identity_transform):
14656         Port to new base class.
14657
14658 2005-07-15  Wim Taymans  <wim@fluendo.com>
14659
14660         * gst/gstmessage.c: (gst_message_new_state_changed):
14661         * tools/gst-launch.c: (event_loop), (main):
14662         Totally dump messages in -launch with the -m option.
14663         Fix message name for State messages,
14664
14665 2005-07-14  Wim Taymans  <wim@fluendo.com>
14666
14667         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14668         Post error messages on errors.
14669
14670 2005-07-14  Wim Taymans  <wim@fluendo.com>
14671
14672         * gst/gstcaps.c: (gst_caps_do_simplify):
14673         Remove debug info.
14674
14675         * gst/gsterror.h:
14676         Define error for stream stopped.
14677
14678         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14679         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14680         Do proper return values.
14681
14682         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14683         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14684         (gst_pad_get_range):
14685         Better return values.
14686
14687         * gst/gstpad.h:
14688         Reorganise return values, add macro to check for fatal errors.
14689
14690         * gst/gstqueue.c: (gst_queue_chain):
14691         Return proper GstFlowReturn values,
14692
14693 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14694
14695         * docs/gst/gstreamer-sections.txt:
14696         * docs/gst/gstreamer.types:
14697         * docs/gst/tmpl/gst.sgml:
14698         * docs/gst/tmpl/gstbasesink.sgml:
14699         * docs/gst/tmpl/gstbasesrc.sgml:
14700         * docs/gst/tmpl/gstbasetransform.sgml:
14701         * docs/gst/tmpl/gstbin.sgml:
14702         * docs/gst/tmpl/gstbuffer.sgml:
14703         * docs/gst/tmpl/gstcaps.sgml:
14704         * docs/gst/tmpl/gstclock.sgml:
14705         * docs/gst/tmpl/gstcompat.sgml:
14706         * docs/gst/tmpl/gstconfig.sgml:
14707         * docs/gst/tmpl/gstelement.sgml:
14708         * docs/gst/tmpl/gstelementdetails.sgml:
14709         * docs/gst/tmpl/gstelementfactory.sgml:
14710         * docs/gst/tmpl/gstenumtypes.sgml:
14711         * docs/gst/tmpl/gsterror.sgml:
14712         * docs/gst/tmpl/gstevent.sgml:
14713         * docs/gst/tmpl/gstfakesink.sgml:
14714         * docs/gst/tmpl/gstfakesrc.sgml:
14715         * docs/gst/tmpl/gstfilesink.sgml:
14716         * docs/gst/tmpl/gstfilesrc.sgml:
14717         * docs/gst/tmpl/gstfilter.sgml:
14718         * docs/gst/tmpl/gstformat.sgml:
14719         * docs/gst/tmpl/gstghostpad.sgml:
14720         * docs/gst/tmpl/gstimplementsinterface.sgml:
14721         * docs/gst/tmpl/gstindex.sgml:
14722         * docs/gst/tmpl/gstindexfactory.sgml:
14723         * docs/gst/tmpl/gstinfo.sgml:
14724         * docs/gst/tmpl/gstiterator.sgml:
14725         * docs/gst/tmpl/gstmacros.sgml:
14726         * docs/gst/tmpl/gstmemchunk.sgml:
14727         * docs/gst/tmpl/gstminiobject.sgml:
14728         * docs/gst/tmpl/gstobject.sgml:
14729         * docs/gst/tmpl/gstpad.sgml:
14730         * docs/gst/tmpl/gstpadtemplate.sgml:
14731         * docs/gst/tmpl/gstparse.sgml:
14732         * docs/gst/tmpl/gstpipeline.sgml:
14733         * docs/gst/tmpl/gstplugin.sgml:
14734         * docs/gst/tmpl/gstpluginfeature.sgml:
14735         * docs/gst/tmpl/gstquery.sgml:
14736         * docs/gst/tmpl/gstqueue.sgml:
14737         * docs/gst/tmpl/gstregistry.sgml:
14738         * docs/gst/tmpl/gstregistrypool.sgml:
14739         * docs/gst/tmpl/gstscheduler.sgml:
14740         * docs/gst/tmpl/gstschedulerfactory.sgml:
14741         * docs/gst/tmpl/gststructure.sgml:
14742         * docs/gst/tmpl/gstsystemclock.sgml:
14743         * docs/gst/tmpl/gsttaglist.sgml:
14744         * docs/gst/tmpl/gsttagsetter.sgml:
14745         * docs/gst/tmpl/gsttrace.sgml:
14746         * docs/gst/tmpl/gsttrashstack.sgml:
14747         * docs/gst/tmpl/gsttypefind.sgml:
14748         * docs/gst/tmpl/gsttypefindfactory.sgml:
14749         * docs/gst/tmpl/gsttypes.sgml:
14750         * docs/gst/tmpl/gsturihandler.sgml:
14751         * docs/gst/tmpl/gsturitype.sgml:
14752         * docs/gst/tmpl/gstutils.sgml:
14753         * docs/gst/tmpl/gstvalue.sgml:
14754         * docs/gst/tmpl/gstversion.sgml:
14755         * docs/gst/tmpl/gstxml.sgml:
14756         * docs/libs/tmpl/gstcontrol.sgml:
14757         * docs/libs/tmpl/gstdataprotocol.sgml:
14758         * docs/libs/tmpl/gstdparam.sgml:
14759         * docs/libs/tmpl/gstdplinint.sgml:
14760         * docs/libs/tmpl/gstdpman.sgml:
14761         * docs/libs/tmpl/gstdpsmooth.sgml:
14762         * docs/libs/tmpl/gstgetbits.sgml:
14763         * docs/libs/tmpl/gstunitconvert.sgml:
14764         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14765         (gst_push_src_base_init), (gst_push_src_class_init),
14766         (gst_push_src_init), (gst_push_src_create):
14767         * gst/base/gstpushsrc.h:
14768         * gst/elements/gstelements.c:
14769         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14770         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14771         (gst_fake_sink_init), (gst_fake_sink_set_property),
14772         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14773         (gst_fake_sink_event), (gst_fake_sink_preroll),
14774         (gst_fake_sink_render), (gst_fake_sink_change_state):
14775         * gst/elements/gstfakesink.h:
14776         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14777         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14778         (gst_fake_src_base_init), (gst_fake_src_class_init),
14779         (gst_fake_src_init), (gst_fake_src_event_handler),
14780         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14781         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14782         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14783         (gst_fake_src_create_buffer), (gst_fake_src_create),
14784         (gst_fake_src_start), (gst_fake_src_stop):
14785         * gst/elements/gstfakesrc.h:
14786         * gst/elements/gstfilesink.c: (_do_init),
14787         (gst_file_sink_base_init), (gst_file_sink_class_init),
14788         (gst_file_sink_init), (gst_file_sink_dispose),
14789         (gst_file_sink_set_location), (gst_file_sink_set_property),
14790         (gst_file_sink_get_property), (gst_file_sink_open_file),
14791         (gst_file_sink_close_file), (gst_file_sink_query),
14792         (gst_file_sink_event), (gst_file_sink_render),
14793         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14794         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14795         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14796         * gst/elements/gstfilesink.h:
14797         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14798         (gst_file_src_class_init), (gst_file_src_init),
14799         (gst_file_src_finalize), (gst_file_src_set_location),
14800         (gst_file_src_set_property), (gst_file_src_get_property),
14801         (gst_file_src_map_region), (gst_file_src_map_small_region),
14802         (gst_file_src_create_mmap), (gst_file_src_create_read),
14803         (gst_file_src_create), (gst_file_src_is_seekable),
14804         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14805         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14806         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14807         (gst_file_src_uri_handler_init):
14808         * gst/elements/gstfilesrc.h:
14809           more autistic cleanliness in functions/names/defines
14810
14811 2005-07-13  Andy Wingo  <wingo@pobox.com>
14812
14813         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14814         source couldn't negotiate.
14815
14816         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14817         connections again.
14818
14819         * gst/gstutils.h:
14820         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14821         function. I am channeling Hades. Put your boots on suckers!!!
14822
14823 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14824
14825         * testsuite/caps/Makefile.am:
14826         * testsuite/caps/value_compare.c:
14827         * testsuite/caps/value_intersect.c:
14828         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14829           move two testsuite apps over to the check dir
14830
14831 2005-07-12  Wim Taymans  <wim@fluendo.com>
14832
14833         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14834         Added more debug info in the negotiate process.
14835
14836         * gst/gstmessage.h:
14837         Prepare for segment playback.
14838
14839         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14840         Better debugging.
14841
14842         * gst/gstutils.c:
14843         Some more docs.
14844
14845         * tools/gst-launch.c: (main):
14846         NULL pipeline on errors.
14847
14848 2005-07-12  Andy Wingo  <wingo@pobox.com>
14849
14850         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14851         not it comes from a malloc region. Make sure our copy gets freed.
14852
14853 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14854
14855         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14856         * check/gst/gstmessage.c: (GST_START_TEST):
14857         * check/gst/gststructure.c: (GST_START_TEST),
14858         (gst_structure_suite), (main):
14859           more testing
14860         * gst/gstelement.c: (gst_element_message_full):
14861           clean up GError and debug string now that they get copied
14862         * gst/gstmessage.c: (gst_message_new_error),
14863         (gst_message_new_warning), (gst_message_parse_error),
14864         (gst_message_parse_warning):
14865           use GST_TYPE_G_ERROR for structure_new, and take copies of
14866           arguments, so that we don't mess up refcounting
14867
14868 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14869
14870         * check/Makefile.am:
14871           add per-test valgrind targets
14872         * check/gst-libs/gdp.c: (GST_START_TEST),
14873         (gst_data_protocol_suite), (main):
14874           clean up
14875
14876 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14877
14878         * check/Makefile.am:
14879           instate more valgrindable tests
14880         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14881         (GST_START_TEST), (fakesrc_suite):
14882         * check/gst/gstpad.c: (GST_START_TEST):
14883         * check/gst/gststructure.c: (GST_START_TEST):
14884           fix test leaks
14885         * docs/gst/tmpl/gstminiobject.sgml:
14886         * gst/gstpad.c: (gst_pad_finalize):
14887           fix the static mutex leak
14888
14889 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14890
14891         * check/Makefile.am:
14892           add two more tests for valgrinding
14893         * check/gst/gstvalue.c: (GST_START_TEST):
14894           test refcount of deserialized buffer, found a leak
14895         * docs/gst/gstreamer-docs.sgml:
14896         * docs/gst/gstreamer-sections.txt:
14897         * docs/gst/gstreamer.types:
14898         * docs/gst/tmpl/gstminiobject.sgml:
14899           add miniobject to docs
14900         * gst/gstminiobject.c:
14901           add some docs
14902         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14903         (gst_string_unwrap):
14904           fix a hard-to-find invalid write for one of the tests
14905           fix a leak for deserialized buffers
14906
14907 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14908
14909         * docs/pwg/advanced-events.xml:
14910         * docs/pwg/advanced-request.xml:
14911         * docs/pwg/advanced-scheduling.xml:
14912         * docs/pwg/appendix-porting.xml:
14913         * docs/pwg/building-boiler.xml:
14914         * docs/pwg/intro-preface.xml:
14915         * docs/pwg/other-ntoone.xml:
14916           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14917           of example code and explanation for pad activation, loop() and
14918           getrange() functions and a bit more. Remove old comments pointing
14919           to loop-functions.
14920         * examples/pwg/Makefile.am:
14921           Add loop/getrange examples.
14922
14923 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14924
14925         * configure.ac:
14926           check for valgrind binary + some fixes
14927         * check/gst.supp:
14928           valgrind suppressions for the tests
14929         * check/Makefile.am:
14930           add a valgrind: target that valgrinds the unit tests
14931         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14932         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14933         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14934         * check/gst/gstghostpad.c:
14935           added some cleanup
14936         * check/gst/gstdata.c:
14937           removed
14938         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14939         (thread_unref), (gst_mini_object_suite), (main):
14940           added
14941         * gst/gst.c: (gst_deinit):
14942         * gst/gst.h:
14943           add a method to clean up.
14944         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14945         (gst_system_clock_obtain):
14946           allow for disposing the system clock.
14947         * tools/gst-launch.c: (main):
14948           deinit
14949
14950 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14951
14952         * docs/gst/tmpl/gstbasesrc.sgml:
14953         * docs/gst/tmpl/gstfakesrc.sgml:
14954         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14955         (gst_base_src_init), (gst_base_src_set_property),
14956         (gst_base_src_get_property), (gst_base_src_get_range),
14957         (gst_base_src_start):
14958         * gst/base/gstbasesrc.h:
14959           add num-buffers property
14960         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14961         (gst_fakesrc_init), (gst_fakesrc_set_property),
14962         (gst_fakesrc_get_property), (gst_fakesrc_create),
14963         (gst_fakesrc_start):
14964           remove num-buffers property
14965
14966 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14967
14968         * docs/gst/gstreamer-sections.txt:
14969         * docs/gst/tmpl/gstbasesink.sgml:
14970         * docs/gst/tmpl/gstbasesrc.sgml:
14971         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14972         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14973         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14974         (gst_base_sink_set_property), (gst_base_sink_get_property),
14975         (gst_base_sink_handle_object), (gst_base_sink_event),
14976         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14977         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14978         (gst_base_sink_loop), (gst_base_sink_deactivate),
14979         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14980         (gst_base_sink_change_state):
14981         * gst/base/gstbasesink.h:
14982         * gst/base/gstbasesrc.h:
14983         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14984         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14985         (gst_filesink_init):
14986           more macro splitting
14987
14988 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14989
14990         * gst/gstelement.c: (gst_element_get_bus):
14991           add debug
14992         * tools/gst-launch.c: (check_intr), (event_loop):
14993           fix bus leaks
14994
14995 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14996
14997         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14998           fix a caps leak
14999
15000 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15003         (gst_base_src_finalize):
15004           add finalize method and clean up properly
15005         * gst/gstpipeline.c: (gst_pipeline_dispose):
15006           add debug
15007
15008 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15009
15010         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15011         (gst_bin_suite):
15012           add more things to check
15013         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15014         * gst/gstelement.c:
15015           more debug
15016
15017 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15018
15019         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15020         (GST_START_TEST), (fakesrc_suite):
15021         * check/gst-libs/gdp.c: (GST_START_TEST):
15022         * check/gst/gst.c: (GST_START_TEST):
15023         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15024         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15025         * check/gst/gstbus.c: (GST_START_TEST):
15026         * check/gst/gstcaps.c: (GST_START_TEST):
15027         * check/gst/gstdata.c: (GST_START_TEST):
15028         * check/gst/gstelement.c: (GST_START_TEST):
15029         * check/gst/gstghostpad.c: (GST_START_TEST):
15030         * check/gst/gstiterator.c: (GST_START_TEST):
15031         * check/gst/gstmessage.c: (GST_START_TEST):
15032         * check/gst/gstobject.c: (GST_START_TEST):
15033         * check/gst/gstpad.c: (GST_START_TEST):
15034         * check/gst/gststructure.c: (GST_START_TEST):
15035         * check/gst/gstsystemclock.c: (GST_START_TEST),
15036         (gst_systemclock_suite):
15037         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15038         * check/gst/gstvalue.c: (GST_START_TEST):
15039         * check/pipelines/cleanup.c: (GST_START_TEST):
15040         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15041         * check/states/sinks.c: (GST_START_TEST):
15042         * check/gstcheck.c: (gst_check_init):
15043         * check/gstcheck.h:
15044           add debugging category
15045           use GST_START_TEST now, so we add a debug line
15046
15047 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15048
15049         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15050           add test for state change message on a bin
15051         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15052           add another test
15053         * gst/gstbin.c: (gst_bin_init):
15054         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15055         * gst/gstelement.c: (gst_element_post_message),
15056         (gst_element_set_state):
15057         * gst/gstelementfactory.c: (gst_element_factory_create):
15058         * gst/gstmessage.c: (gst_message_new):
15059         * gst/gstscheduler.c:
15060           various debugging additions and cleanups
15061
15062 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15063
15064         * check/Makefile.am:
15065         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15066         (main):
15067           adding tests for elements
15068         * gst/gstelement.c: (gst_element_dispose):
15069
15070 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15071
15072         * gst/registries/gstlibxmlregistry.c: (load_feature):
15073           plug more leaks.  A simple gst_init() now is leakfree, yay.
15074
15075 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15076
15077         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15078         (gst_xml_registry_load):
15079           plug another memleak
15080
15081 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15082
15083         * configure.ac:
15084           use GST_SET_ERROR_CFLAGS
15085         * docs/faq/cvs.xml:
15086           change to ERROR_CFLAGS
15087
15088 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15089
15090         * configure.ac:
15091           make GST_ERROR_CFLAGS overridable and re-enable Werror
15092         * docs/faq/cvs.xml:
15093           add a note about error CFLAGS
15094         * docs/gst/tmpl/gstfakesrc.sgml:
15095         * gst/elements/gstfakesrc.c:
15096           comment out some unused code
15097         * gst/gst.c: (split_and_iterate):
15098         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15099         (load_feature):
15100           plug some memleaks
15101
15102 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15103
15104         * common/Makefile.am:
15105         * common/gtk-doc.mak:
15106         * docs/gst/Makefile.am:
15107           factor out gtk-doc.mak
15108
15109 2005-07-07  Wim Taymans  <wim@fluendo.com>
15110
15111         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15112         (gst_thread_scheduler_dispose):
15113         Unlock the STREAM_LOCK completely.
15114
15115 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15116
15117         * check/Makefile.am:
15118         * check/elements/.cvsignore:
15119         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15120         (START_TEST), (fakesrc_suite), (main):
15121         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15122         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15123         (gst_fakesrc_create), (gst_fakesrc_start):
15124         * gst/elements/gstfakesrc.h:
15125           adding a first element test
15126
15127 2005-07-07  Andy Wingo  <wingo@pobox.com>
15128
15129         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15130         debug message.
15131
15132 2005-07-07  Wim Taymans  <wim@fluendo.com>
15133
15134         * gst/gstquery.c:
15135         * gst/gstquery.h:
15136         Remove old types
15137
15138 2005-07-07  Wim Taymans  <wim@fluendo.com>
15139
15140         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15141         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15142         Allow subclasses to implement their own negotiation.
15143
15144 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15145
15146         * docs/design/part-gstbin.txt:
15147         * docs/design/part-gstpipeline.txt:
15148           Update design notes to reflect the movement of
15149           responsibility for bus handling from GstPipeline to
15150           GstBin
15151
15152 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15153
15154         * configure.ac:
15155           Remove unnecessary queue2/3/4 examples.
15156
15157 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15158
15159         * examples/Makefile.am:
15160         * examples/helloworld/helloworld.c: (event_loop), (main):
15161         * examples/queue/queue.c: (event_loop), (main):
15162         * examples/queue2/queue2.c: (main):
15163           Update a couple of the examples to work again.
15164
15165         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15166         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15167          Spelling corrections and extra debug.
15168         
15169         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15170         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15171         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15172         * gst/gstbin.h:
15173         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15174         (gst_pipeline_change_state):
15175         * gst/gstpipeline.h:
15176           Move the bus handler for children to the GstBin, and create a
15177           separate bus for receiving messages from children to the one the
15178           bus sends 'upwards' on.
15179
15180 2005-07-06  Wim Taymans  <wim@fluendo.com>
15181
15182         * gst/base/README:
15183         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15184         (gst_base_sink_handle_object), (gst_base_sink_loop),
15185         (gst_base_sink_change_state):
15186         * gst/base/gstbasesink.h:
15187         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15188         (gst_base_src_init), (gst_base_src_setcaps),
15189         (gst_base_src_getcaps), (gst_base_src_loop),
15190         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15191         (gst_base_src_start), (gst_base_src_change_state):
15192         * gst/base/gstbasesrc.h:
15193         Make basesrc negotiate.
15194         Handle the case where preroll fails in basesink.
15195         Update README.
15196
15197 2005-07-06  Wim Taymans  <wim@fluendo.com>
15198
15199         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15200         Implement the fixate function.
15201         Clean up acceptcaps.
15202
15203 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15204
15205         * docs/pwg/building-filterfactory.xml:
15206         * docs/pwg/pwg.xml:
15207           Remove never-written filter-factory chapter; I'll add the various
15208           base classes to part 4 ("other element types") later on.
15209
15210 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15211
15212         * docs/pwg/advanced-negotiation.xml:
15213         * docs/pwg/building-boiler.xml:
15214         * docs/pwg/building-pads.xml:
15215         * docs/pwg/pwg.xml:
15216         * examples/pwg/Makefile.am:
15217           Add a chapter on caps negotiation, simplify the original code
15218           samples a bit w.r.t. caps negotiation, add link to the advanced
15219           section. Add a bunch of examples showing different use cases of
15220           different types of caps negotiation. Upstream renegotiation isn't
15221           fully documented yet since nobody knows how that works.
15222
15223 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15224
15225         * check/gst/gstpad.c:
15226         * check/gstcheck.c:
15227         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15228           if pad has no parent, return NULL as list of internal links
15229
15230 2005-07-05  Andy Wingo  <wingo@pobox.com>
15231
15232         * gst/elements/gstfilesrc.c:
15233         * gst/elements/gstfakesrc.c: 
15234         * gst/base/gstpushsrc.c:
15235         * gst/base/gstbasesrc.h: 
15236         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15237         
15238 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15239
15240         * Makefile.am:
15241           better report generation target (lcov needs a patch)
15242
15243 2005-07-05  Andy Wingo  <wingo@pobox.com>
15244
15245         * gst/elements, testsuite: Null if we got it...
15246
15247 2005-07-05  Wim Taymans  <wim@fluendo.com>
15248
15249         * configure.ac:
15250         * libs/gst/dataprotocol/Makefile.am:
15251         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15252         * libs/gst/dataprotocol/dataprotocol.h:
15253         * pkgconfig/Makefile.am:
15254         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15255         * pkgconfig/gstreamer-dataprotocol.pc.in:
15256         Ported dataprotol to 0.9. 
15257         Added pkgconfig files.
15258
15259 2005-07-05  Andy Wingo  <wingo@pobox.com>
15260
15261         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15262         Default to returning TRUE for the case when tranform_caps returns
15263         a fixed caps, like for identity or volume.
15264
15265         * check/gst/gstbus.c (pound_bus_with_messages): 
15266         * check/gst/gstmessage.c (START_TEST): 
15267         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15268         message API change.
15269
15270         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15271         logic weaks here: always run transform_caps, trying passthrough
15272         operation only if the original caps intersects with the transform.
15273
15274         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15275         source and sink caps.
15276
15277         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15278         Intersect the peer caps with the pad template before going into
15279         transform_caps.
15280         (gst_base_transform_transform_caps): More debugging.
15281
15282         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15283         src argument.
15284
15285 2005-07-04  Edward Hervey  <edward@fluendo.com>
15286
15287         * gst/gstutils.c:
15288         * gst/gstutils.h:
15289         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15290         in bindings.
15291
15292 2005-07-04  Andy Wingo  <wingo@pobox.com>
15293
15294         * check/gst/gstpad.c: Only set explicit caps on pads.
15295
15296 2005-07-01  Andy Wingo  <wingo@pobox.com>
15297
15298         * tests/network-clock.scm: Commentary update.
15299
15300         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15301         Didn't really make sense, not implementable with basetransform,
15302         etc.
15303         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15304         attempt at implementing the sync property, needs an unlock method.
15305
15306         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15307         New func, by default returns the same caps (the identity
15308         transformation).
15309         (gst_base_transform_getcaps): Uses transform_caps to return
15310         something sensible.
15311         (gst_base_transform_setcaps): Complicated logic to get caps on
15312         both pads, even if they are different, and to call set_caps once
15313         for every time both pads get their caps set.
15314         (gst_base_transform_handle_buffer): Give the ref to the transform
15315         function. Allows in-place modification of the buffer.
15316
15317         * gst/base/gstbasetransform.h (transform_caps): New class method.
15318         Given caps on one side, what can I do on the other.
15319         (set_caps): Take two caps, one for each side of the element.
15320
15321         * gst/gstpad.h:
15322         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15323         caps in place. This is safe because we can check the mutability of
15324         the caps, and a good idea because fixate functions are just called
15325         as a matter of last resort. (Not actually implemented.)
15326         (gst_pad_set_caps): If the caps we're setting is actually the same
15327         as the existing pad caps, just update the pointer without calling
15328         setcaps. Assert that caps is either NULL or fixed, as per the
15329         docs.
15330
15331         * gst/gstghostpad.c: Update for fixate changes.
15332
15333 2005-07-02  Andy Wingo  <wingo@pobox.com>
15334
15335         * gst/gstcaps.c:
15336         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15337         two refcounts makes it immutable, which is enough. Doc more.
15338
15339 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15340
15341         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15342           Put the mini_object into GValue as a mini_object,
15343           not a gpointer, since that's how we declared
15344           the signal.
15345
15346 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15347
15348         * examples/pwg/Makefile.am:
15349           Fix buildbot again.
15350
15351 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15352
15353         * docs/pwg/building-testapp.xml:
15354           Add extra check.
15355         * examples/pwg/Makefile.am:
15356           Fix buildbot.
15357
15358 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15359
15360         * configure.ac:
15361         * examples/Makefile.am:
15362         * examples/pwg/Makefile.am:
15363         * examples/pwg/extract.pl:
15364           Enable building the PWG examples.
15365         * docs/pwg/advanced-interfaces.xml:
15366           Add URI interface stub.
15367         * docs/pwg/advanced-types.xml:
15368         * docs/pwg/other-autoplugger.xml:
15369         * docs/pwg/appendix-porting.xml:
15370         * docs/pwg/pwg.xml:
15371           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15372         * docs/pwg/building-boiler.xml:
15373         * docs/pwg/building-chainfn.xml:
15374         * docs/pwg/building-pads.xml:
15375         * docs/pwg/building-props.xml:
15376         * docs/pwg/building-state.xml:
15377         * docs/pwg/building-testapp.xml:
15378           Update the building-*.xml parts for 0.9 changes. All examples
15379           code blocks compile in examples/pwg/*.
15380
15381 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15382
15383         * docs/manual/advanced-autoplugging.xml:
15384         * docs/manual/appendix-checklist.xml:
15385         * docs/manual/appendix-integration.xml:
15386         * docs/manual/highlevel-components.xml:
15387           Fix playbin/decodebin examples, update docs a bit, mention bus
15388           instead of signals in various places, mention kmplayer and
15389           kaffeine since they have a working GStreamer backend in the KDE
15390           section.
15391
15392 2005-06-30  Wim Taymans  <wim@fluendo.com>
15393
15394         * CHANGES-0.9:
15395         * docs/design/draft-ghostpads.txt:
15396         * docs/design/draft-push-pull.txt:
15397         * docs/design/draft-query.txt:
15398         * docs/design/part-TODO.txt:
15399         * docs/design/part-query.txt:
15400         Added CHANGES-0.9 doc, updated status of other docs.
15401         
15402         * gst/gstquery.h:
15403         Remove "hmm" macro
15404
15405 2005-06-30  Wim Taymans  <wim@fluendo.com>
15406
15407         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15408         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15409         (gst_base_sink_change_state):
15410         * gst/base/gstbasesink.h:
15411         Some tweaks, only EOS and a buffer complete a preroll.
15412
15413 2005-06-30  Andy Wingo  <wingo@pobox.com>
15414
15415         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15416         activate_push down to the internal pad as well.
15417
15418 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15419
15420         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15421
15422         * gst/gsttaginterface.c:
15423           Some documentation fixes (#307394 and #307397).
15424
15425 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15426
15427         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15428
15429         * gst/gstvalue.c: (gst_value_intersect_list):
15430           Fix memleak (#309125).
15431
15432 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15433
15434         * docs/manual/advanced-dataaccess.xml:
15435           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15436         * docs/manual/basics-pads.xml:
15437           Add reference for filtered caps to above chapter.
15438
15439 2005-06-30  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15442         (gst_bin_change_state):
15443         Probes are gone.
15444         Lame attempt at making the state change function a bit
15445         more readable.
15446
15447 2005-06-30  Wim Taymans  <wim@fluendo.com>
15448
15449         * docs/design/part-clocks.txt:
15450         * docs/design/part-element-sink.txt:
15451         * docs/design/part-events.txt:
15452         * docs/design/part-preroll.txt:
15453         * docs/design/part-states.txt:
15454         Some more tweeks and additions to the docs.
15455
15456 2005-06-30  Wim Taymans  <wim@fluendo.com>
15457
15458         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15459         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15460         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15461         (gst_pad_check_pull_range), (gst_pad_get_range),
15462         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15463         * gst/gstpad.h:
15464         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15465         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15466         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15467         (gst_pad_remove_buffer_probe):
15468         Removed atomic operations, use existing LOCK.
15469         Move exception handling out of main code path.
15470
15471 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15472
15473         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15474         (silly_return_true_function), (gst_pad_class_init),
15475         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15476         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15477         (gst_pad_send_event):
15478           Fix accumulator, add default value by using _emitv() instead
15479           of _emit() for signal emission.
15480
15481 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15482
15483         * docs/manual/advanced-dataaccess.xml:
15484         * examples/manual/Makefile.am:
15485           Add probe example.
15486         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15487           Make work (??).
15488
15489 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15490
15491         * gst/elements/gstfilesink.c: (gst_filesink_render):
15492           Simplify code so that we don't have to handle short
15493           writes and return GST_FLOW_ERROR if an error occured.
15494
15495 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15496
15497         * docs/gst/gstreamer-docs.sgml:
15498           Remove probes more.
15499
15500 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15501
15502         * docs/gst/gstreamer-sections.txt:
15503         * docs/gst/tmpl/gstpad.sgml:
15504         * docs/gst/tmpl/gstprobe.sgml:
15505         * gst/Makefile.am:
15506         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15507         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15508         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15509         (gst_pad_push_event), (gst_pad_send_event):
15510         * gst/gstpad.h:
15511         * gst/gstutils.c: (gst_pad_add_data_probe),
15512         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15513         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15514         (gst_pad_remove_buffer_probe):
15515         * gst/gstutils.h:
15516           Remove old probes, add new g-signal-based probes and some utility
15517           functions.
15518
15519 2005-06-29  Edward Hervey  <edward@fluendo.com>
15520
15521         * gst/gstelementfactory.c:
15522         * gst/gstutils.h:
15523         * gst/gstutils.c:
15524         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15525         the definition to the header file.
15526
15527 2005-06-29  Andy Wingo  <wingo@pobox.com>
15528
15529         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15530         plugins from the source directory.
15531
15532 2005-06-29  Wim Taymans  <wim@fluendo.com>
15533
15534         * docs/gst/tmpl/gstbuffer.sgml:
15535         * docs/gst/tmpl/gstclock.sgml:
15536         Some fixings for blantently wrong text.
15537
15538 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15539
15540         * check/Makefile.am:
15541         * gst/gst.c: (add_path_func), (init_pre):
15542         * gst/gstregistry.c: (gst_registry_add_path):
15543           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15544           only scan the GST_PLUGIN_PATH locations, and not add
15545           system locations
15546
15547 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15548
15549         * docs/gst/gstreamer-sections.txt:
15550         * docs/gst/tmpl/gstbasesrc.sgml:
15551         * gst/gstelement.c:
15552         * gst/gstelement.h:
15553         * gst/gstevent.c:
15554         * gst/gstutils.c:
15555           doc fixes
15556
15557 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15558
15559         * docs/manual/advanced-autoplugging.xml:
15560           Fix autoplugging example.
15561
15562 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15563
15564         * docs/manual/advanced-autoplugging.xml:
15565         * docs/manual/mime-world.fig:
15566           Try to get autoplugging working, fix type detection. Fix text
15567           in hello-world image.
15568
15569 2005-06-29  Wim Taymans  <wim@fluendo.com>
15570
15571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15572         (gst_base_sink_change_state):
15573         Small debug line.
15574
15575         * gst/gstclock.h:
15576         map SIGNAL and BROADCAST to the right function.
15577
15578         * gst/gstobject.h:
15579         Remove redundant braces.
15580
15581         * gst/gstpad.c: (gst_pad_set_caps):
15582         Don't call setcaps function when reseting caps to NULL.
15583
15584         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15585         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15586         (gst_system_clock_id_unschedule):
15587         Use BROADCAST as this is what we do.
15588
15589 2005-06-29  Wim Taymans  <wim@fluendo.com>
15590
15591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15592         We are actually prerolling before commiting the state
15593         change. 
15594
15595 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15596
15597         * docs/manual/advanced-clocks.xml:
15598         * docs/manual/advanced-interfaces.xml:
15599         * docs/manual/advanced-metadata.xml:
15600         * docs/manual/advanced-position.xml:
15601         * docs/manual/advanced-schedulers.xml:
15602         * docs/manual/advanced-threads.xml:
15603         * docs/manual/appendix-porting.xml:
15604         * docs/manual/basics-bins.xml:
15605         * docs/manual/basics-bus.xml:
15606         * docs/manual/basics-elements.xml:
15607         * docs/manual/basics-helloworld.xml:
15608         * docs/manual/basics-pads.xml:
15609         * docs/manual/highlevel-components.xml:
15610         * docs/manual/manual.xml:
15611         * docs/manual/thread.fig:
15612           Update (until threads/scheduling) Application Development Manual;
15613           remove GstThread, add GstBus, add simple porting checklist, add
15614           documentation for tag writing, clocks, make all examples until this
15615           part compile and run.
15616         * examples/manual/Makefile.am:
15617           Update from changes to Application Development Manual; add bus
15618           example, remove thread example.
15619
15620 2005-06-28  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15623         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15624         (gst_bus_source_dispatch):
15625         Add debugging messages.
15626         Make internal methods static.
15627         Handle the case where the bus is flushed in the handler.
15628         
15629         * gst/gstelement.c: (gst_element_get_bus):
15630         Fix refcount in _get_bus();
15631
15632         * gst/gstpipeline.c: (gst_pipeline_change_state),
15633         (gst_pipeline_get_clock_func):
15634         Clock refcounting fixes.
15635         Handle the case where preroll timed out more gracefully.
15636         
15637         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15638         Clean up the internal thread in dispose. This is needed
15639         for subclasses that actually get disposed.
15640         
15641         * gst/schedulers/threadscheduler.c:
15642         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15643         (gst_thread_scheduler_dispose):
15644         Free thread pool in dispose.
15645
15646 2005-06-28  Andy Wingo  <wingo@pobox.com>
15647
15648         * tests/network-clock-utils.scm (debug, print-event): New utils.
15649
15650         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15651         (*packet-loss*): Unified loss probability.
15652         (network-time): Report out-of-band events.
15653
15654         * tests/plot-data: Add support for out-of-band events. Hack it
15655         into this script instead of passing it down the pipe; should fix
15656         this later.
15657
15658 2005-06-28  Wim Taymans  <wim@fluendo.com>
15659
15660         * docs/gst/gstreamer.types:
15661         * docs/gst/tmpl/gstbasesrc.sgml:
15662         * docs/gst/tmpl/gstpad.sgml:
15663         Docs fixes.
15664
15665 2005-06-28  Wim Taymans  <wim@fluendo.com>
15666
15667         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15668         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15669         (gst_proxy_pad_do_fixatecaps):
15670         Correctly proxy the check_pull_range function.
15671
15672 2005-06-28  Andy Wingo  <wingo@pobox.com>
15673
15674         * tests/network-clock.scm: Removed need for slib.
15675         
15676 2005-06-28  Wim Taymans  <wim@fluendo.com>
15677
15678         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15679         (gst_basesink_preroll_queue_flush):
15680         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15681         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15682         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15683         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15684         (gst_proxy_pad_set_property):
15685         * gst/gstpad.c:
15686         * gst/gstpad.h:
15687         * gst/gstqueue.c: (gst_queue_init):
15688         The deprecated pad loop function is removed now.
15689
15690 2005-06-28  Andy Wingo  <wingo@pobox.com>
15691
15692         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15693         New parameters, simulate network packet loss.
15694
15695         * tests/network-clock-utils.scm: Initialize the RNG.
15696
15697 2005-06-28  Wim Taymans  <wim@fluendo.com>
15698
15699         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15700         (gst_basesink_event), (gst_basesink_deactivate):
15701         Flushing the preroll queue always needs to unlock the waiters.
15702
15703 2005-06-28  Edward Hervey  <edward@fluendo.com>
15704
15705         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15706         Wheen a seek was successful on a pipeline, set the stream_time to the
15707         seek offset in order to have a synchronized stream_time.
15708
15709 2005-06-28  Wim Taymans  <wim@fluendo.com>
15710
15711         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15712         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15713         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15714         (gst_proxy_pad_do_fixatecaps):
15715         Call wrapper function instead of just calling the function
15716         pointers. This takes care of any locking and whatmore.
15717
15718 2005-06-28  Wim Taymans  <wim@fluendo.com>
15719
15720         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15721         (gst_pad_pull_range):
15722         * gst/gstpad.h:
15723         CONNECTED -> LINKED.
15724
15725 2005-06-28  Andy Wingo  <wingo@pobox.com>
15726
15727         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15728         source-munging commit!!!
15729
15730         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15731         (gst_object_sink): Take gpointer arguments, not GstObject --
15732         avoids casts. Like GLib.
15733
15734         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15735         activate.
15736
15737 2005-06-27  Andy Wingo  <wingo@pobox.com>
15738
15739         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15740         remaining buffer.
15741
15742         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15743         returns a sorted copy of the trace list.
15744         (gst_alloc_trace_print_live): New API, only prints traces with
15745         live objects. Sort the list.
15746         (gst_alloc_trace_print_all): Sort the list.
15747         (gst_alloc_trace_print): Align columns.
15748
15749         * gst/elements/gstttypefindelement.c:
15750         * gst/elements/gsttee.c:
15751         * gst/base/gstbasesrc.c:
15752         * gst/base/gstbasesink.c:
15753         * gst/base/gstbasetransform.c:
15754         * gst/gstqueue.c: Adapt for pad activation changes.
15755
15756         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15757         sched.
15758         (gst_pipeline_dispose): Drop ref on sched.
15759
15760         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15761         (gst_pad_activate_default): Push mode by default.
15762         (pre_activate_switch, post_activate_switch): New stubs, things to
15763         do before and after switching activation modes on pads.
15764         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15765         the pad's activate function to choose which mode to activate.
15766         Shortcut on deactivation and call the right function directly.
15767         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15768         mode.
15769         (gst_pad_activate_push): New API, same for push mode.
15770         (gst_pad_set_activate_function) 
15771         (gst_pad_set_activatepull_function) 
15772         (gst_pad_set_activatepush_function): Setters for new API.
15773
15774         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15775         Trace all miniobjects.
15776         (gst_mini_object_make_writable): Unref the arg if we copy, like
15777         gst_caps_make_writable.
15778
15779         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15780
15781         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15782         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15783         Adapt for new pad API.
15784
15785         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15786
15787         * gst/gstelement.h:
15788         * gst/gstelement.c (gst_element_iterate_src_pads) 
15789         (gst_element_iterate_sink_pads): New API functions.
15790         
15791         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15792         should fold into gstiterator.c in some form.
15793         (gst_element_pads_activate): Simplified via use of fold and
15794         delegation of decisions to gstpad->activate.
15795
15796         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15797         help in debugging.
15798
15799         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15800         class once in init, like gstmessage. Didn't run into this issue
15801         but it seems correct. Don't initialize a trace, gstminiobject does
15802         that.
15803
15804         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15805         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15806         to the bus.
15807         (assert_live_count): New util function, uses alloc traces to check
15808         cleanup.
15809
15810         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15811         To be modified when unlink drops the internal pad.
15812
15813 2005-06-27  Wim Taymans  <wim@fluendo.com>
15814
15815         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15816         (gst_bin_change_state):
15817         Cleanup the get_state() function a little, make sure it
15818         iterates the same set of elements.
15819         Added stub iterate_state_order().
15820
15821 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15822
15823         * docs/gst/gstreamer-docs.sgml:
15824         * docs/gst/gstreamer-sections.txt:
15825         * docs/gst/gstreamer.types:
15826         * docs/gst/tmpl/gstbasesink.sgml:
15827         * docs/gst/tmpl/gstbasesrc.sgml:
15828         * docs/gst/tmpl/gstbasetransform.sgml:
15829         * docs/gst/tmpl/gstelement.sgml:
15830         * docs/gst/tmpl/gstiterator.sgml:
15831         * gst/base/gstbasesrc.c:
15832         * gst/base/gstbasesrc.h:
15833         * gst/base/gstbasetransform.h:
15834         * gst/gstelement.c:
15835         * gst/gstiterator.h:
15836           adding basetransform and iterator docs
15837
15838 2005-06-27  Andy Wingo  <wingo@pobox.com>
15839
15840         * docs/design/part-activation.txt: Notes on how activation should
15841         work -- not quite implemented yet.
15842
15843 2005-06-25  Wim Taymans  <wim@fluendo.com>
15844
15845         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15846         At least get the chain function correct, needs more
15847         fixing.
15848
15849 2005-06-25  Wim Taymans  <wim@fluendo.com>
15850
15851         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15852         (gst_basesink_handle_object), (gst_basesink_event),
15853         (gst_basesink_do_sync), (gst_basesink_handle_event),
15854         (gst_basesink_change_state):
15855         * gst/gsttask.h:
15856         Right, two problems here: ghostpads don't take locks and
15857         glib _rec_mutex_lock_full() with depth==0 still locks.
15858         Catch illegal locking and g_warn them.
15859
15860 2005-06-25  Wim Taymans  <wim@fluendo.com>
15861
15862         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15863         Have to check for completion now...
15864
15865 2005-06-25  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15868         (gst_basesink_handle_object), (gst_basesink_event),
15869         (gst_basesink_do_sync), (gst_basesink_handle_event),
15870         (gst_basesink_change_state):
15871         * gst/gstpad.h:
15872         Unlock STREAM_LOCK whatever the recursion was.
15873
15874 2005-06-25  Wim Taymans  <wim@fluendo.com>
15875
15876         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15877         (gst_basesink_preroll_queue_empty),
15878         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15879         (gst_basesink_event), (gst_basesink_do_sync),
15880         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15881         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15882         (gst_basesink_change_state):
15883         Reworked the base sink, handle event and buffer serialisation
15884         correctly and removed possible deadlock.
15885         Handle EOS correctly.
15886
15887 2005-06-25  Wim Taymans  <wim@fluendo.com>
15888
15889         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15890         (gst_pipeline_change_state):
15891         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15892         Allow elements to post EOS in the state change function.
15893         Fix up -launch, make it exit the poll loop when the
15894         pipeline actually changed state.
15895         Fix up warning parsing in -launch.
15896
15897 2005-06-25  Wim Taymans  <wim@fluendo.com>
15898
15899         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15900         (gst_tee_sink_activate):
15901         Core takes STREAM_LOCK for us now.
15902
15903 2005-06-25  Wim Taymans  <wim@fluendo.com>
15904
15905         * gst/gstelement.c: (gst_element_get_state_func),
15906         (gst_element_set_state):
15907         * gst/gstelement.h:
15908         * gst/gstmessage.c: (gst_message_parse_error),
15909         (gst_message_parse_warning):
15910         Keep track of current target state while performing a state
15911         change so that subclasses can do something interesting.
15912         Fix parsing of warning/error messages when GError is NULL.
15913
15914 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15915
15916         * docs/gst/Makefile.am:
15917         * docs/gst/gstreamer-docs.sgml:
15918         * docs/gst/gstreamer-sections.txt:
15919         * docs/gst/gstreamer.types:
15920         * docs/gst/tmpl/gstbasesink.sgml:
15921         * docs/gst/tmpl/gstbasesrc.sgml:
15922         * docs/gst/tmpl/gstbin.sgml:
15923         * docs/gst/tmpl/gstcompat.sgml:
15924         * docs/gst/tmpl/gstfakesink.sgml:
15925         * docs/gst/tmpl/gstfakesrc.sgml:
15926         * docs/gst/tmpl/gstfilesink.sgml:
15927         * docs/gst/tmpl/gstfilesrc.sgml:
15928         * docs/gst/tmpl/gstindex.sgml:
15929         * docs/manual/appendix-quotes.xml:
15930         * gst/base/gstbasesrc.h:
15931         * gst/elements/gstfakesrc.h:
15932         * gst/gstmessage.h:
15933           start pulling in base classes and elements in our docs
15934
15935 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15936
15937         * docs/gst/Makefile.am:
15938         * docs/libs/Makefile.am:
15939           fixed make distcheck with gtk-doc 1.3
15940
15941 2005-06-23  Wim Taymans  <wim@fluendo.com>
15942
15943         * gst/gstelement.c: (gst_element_get_state_func),
15944         (gst_element_set_state), (gst_element_change_state):
15945         When the state did not change, also report NO_PREROLL
15946         when it matters.
15947
15948 2005-06-23  Wim Taymans  <wim@fluendo.com>
15949
15950         * gst/gstpad.c: (gst_pad_event_default):
15951         * gst/gstqueue.c: (gst_queue_loop):
15952         No unsafe task pausing please.
15953
15954 2005-06-23  Wim Taymans  <wim@fluendo.com>
15955
15956         * gst/schedulers/threadscheduler.c:
15957         (gst_thread_scheduler_task_start),
15958         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15959         Ref the task before pushing it on the threadpool. This
15960         makes sure that we have a ref when the threadfunction is
15961         actually called.
15962
15963 2005-06-23  Andy Wingo  <wingo@pobox.com>
15964
15965         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15966         offset is greater than the file's size.
15967
15968         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15969         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15970         * gst/gstobject.c (gst_object_class_init): Make the class lock
15971         recursive. Wim won't let me drop deep_notify. Decodebin works
15972         again, whoopdy doo.
15973
15974         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15975         internal pad, and hacks accordingly. Doesn't do it on the target
15976         pad because we change its caps. Probably catches all cases of
15977         interest tho.
15978         (gst_ghost_pad_set_property): Connect to notify::caps as
15979         appropritate.
15980
15981         * tests/network-clock.scm (plot-simulation): Pipe data to the
15982         elite python skript.
15983
15984         * tests/network-clock-utils.scm (define-parameter): New macro,
15985         defines a parameter that can be set via the command line.
15986         (set-parameter!, parse-parameter-arguments): Command line args
15987         parser.
15988
15989         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15990         stdin.
15991
15992 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15993
15994         * gst/elements/gsttypefindelement.c:
15995         (gst_type_find_element_handle_event):
15996           Don't restart typefinding on a discont.
15997         * gst/gstelement.c: (gst_element_set_state):
15998           Debug spelling fix.
15999         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16000           Allow changing mode of an active pad.
16001           Debug output fixes.
16002         * gst/registries/gstlibxmlregistry.c: (load_feature):
16003           Don't cast a static pad template to a normal pad template.
16004
16005 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16006
16007         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16008         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16009           remove gst_strtoll completely, since it didn't actually do
16010           anything more than what g_ascii_strtoull already does.
16011           check for range errors when deserializing
16012           do a cast for the unsigned cases; but further fixing needs
16013           a decision on what the interpretation of "(int)" and
16014           deserialization should be for values that fall outside the
16015           type's boundaries (ie, refuse, or interpret as casting)
16016
16017 2005-06-23  Wim Taymans  <wim@fluendo.com>
16018
16019         * check/Makefile.am:
16020         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16021         * docs/design/part-live-source.txt:
16022         * docs/design/part-states.txt:
16023         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16024         (gst_basesrc_set_live), (gst_basesrc_is_live),
16025         (gst_basesrc_get_range), (gst_basesrc_activate),
16026         (gst_basesrc_change_state):
16027         * gst/base/gstbasesrc.h:
16028         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16029         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16030         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16031         * gst/gstelement.c: (gst_element_get_state_func),
16032         (gst_element_set_state):
16033         * gst/gstelement.h:
16034         * gst/gsttypes.h:
16035         * tools/gst-launch.c: (event_loop), (main):
16036         Added support for live sources and other elements that
16037         cannot do preroll.
16038         Updated design docs, added live-source design doc.
16039         Implemented live source functionality in basesrc
16040         Fix error condition in _bin_get_state()
16041         Implement live source handling in -launch.
16042         Added check for live sources.
16043         Fixed case in GstBin where elements were changed state
16044         multiple times.
16045
16046
16047 2005-06-23  Andy Wingo  <wingo@pobox.com>
16048
16049         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16050         borken refcounting.
16051
16052         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16053         gst_caps_replace takes care of this for us.
16054
16055         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16056         gst_pad_set_caps on the target, not just its setcaps() function.
16057
16058         * tests/network-clock.scm: 
16059         * tests/network-clock-utils.scm: A network clock simulator.
16060         Something of an algorithmic testbed before doing something in C.
16061
16062 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16063
16064         * check/Makefile.am:
16065         * check/gst/capslist.h:
16066           copy over from 0.8, and add two with bitmasks specified with
16067           (int) 0xFF...
16068         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16069           add test to parse everything from capslist.h
16070         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16071         (main):
16072           add test for structure deserialization
16073         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16074           add tests for deserialization of strings to int types
16075         * gst/gststructure.c: (gst_structure_nth_field_name):
16076         * gst/gststructure.h:
16077           add a way to get the name of a field referenced by index
16078         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16079           instead of checking if the resulting long long lies between
16080           min and max, we check if the long long would fit into
16081           a number of bytes for the final type.
16082           This fixes cases where a string represents 2^32 - 1, which
16083           when cast to int would be the (valid) -1, but is bigger than
16084           G_MAXINT
16085
16086 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16087
16088         * gst/parse/grammar.y:
16089           add a log line for type deserialization
16090
16091 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16092
16093         * check/gst/gstvalue.c: (START_TEST):
16094         * gst/gstvalue.c: (gst_value_deserialize):
16095           return long long, not int, so gint64 deserialization actually
16096           works.  Is there any flag that makes the compiler check this ?
16097           Fixes #308559
16098
16099 2005-06-22  Wim Taymans  <wim@fluendo.com>
16100
16101         * gst/gstbuffer.h:
16102         Added convenience macros for setting buffers in GValue.
16103
16104 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16105
16106         * check/gst/.cvsignore:
16107         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16108           add a test deserializing int64, and comment part out because
16109           it fails, yay !
16110
16111 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16112
16113         * check/Makefile.am:
16114         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16115         * testsuite/Makefile.am:
16116         * testsuite/caps/Makefile.am:
16117         * testsuite/caps/value_serialize.c:
16118         * testsuite/test_gst_init.c:
16119           move a value_serialize test over
16120
16121 2005-06-20  Wim Taymans  <wim@fluendo.com>
16122
16123         * gst/gstpad.c:
16124         Small doc updates.
16125         
16126         * gst/gstvalue.c: (gst_value_compare_buffer),
16127         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16128         (gst_value_compare_flags), (gst_value_serialize_flags),
16129         (gst_value_deserialize_flags), (_gst_value_initialize):
16130         Fix serialisation of buffers, they are not boxed types anymore
16131
16132 2005-06-20  Wim Taymans  <wim@fluendo.com>
16133
16134         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16135         Testcase to show error in buffer-on-caps serialisation.
16136
16137 2005-06-20  Andy Wingo  <wingo@pobox.com>
16138
16139         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16140         will be adding to later.
16141
16142         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16143         if its socks fill with rocks.
16144         (gst_system_clock_obtain): Set the name on object construction.
16145         Avoid double-checked locking.
16146
16147 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16148
16149         * gst/gsturi.c: (gst_element_make_from_uri):
16150           Fix potential endless loop.
16151
16152 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16153
16154         * check/Makefile.am:
16155           add gsttag
16156         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16157         (main):
16158           move over from testsuite dir and clean up
16159         * configure.ac:
16160         * gst/gsttag.c:
16161         * testsuite/Makefile.am:
16162         * testsuite/tags/.cvsignore:
16163         * testsuite/tags/Makefile.am:
16164         * testsuite/tags/merge.c:
16165           remove testsuite/tags
16166
16167 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16168
16169         * docs/gst/gstreamer-sections.txt:
16170         * docs/gst/tmpl/gstenumtypes.sgml:
16171         * win32/gstenumtypes.c:
16172           clean up documentation build a little
16173
16174 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16175
16176         * check/gstcheck.h:
16177           add macros for checking refcounts on objects and caps
16178         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16179           add some more unit tests
16180         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16181         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16182           fix leaked refcounts (I hope :)) so unittest works
16183         * gst/gstpad.h:
16184           whitespace removal
16185
16186 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16187
16188         * configure.ac: back to HEAD
16189
16190 === release 0.9.1 ===
16191
16192 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16193
16194         * NEWS:
16195         * RELEASE:
16196           updated
16197
16198 2005-06-17  Andy Wingo  <wingo@pobox.com>
16199
16200         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16201         assert; it's always possible that the pad gets deactivated in
16202         between the checks in gstpad.c and the implementation. Rely on
16203         finish_preroll() to return a FLUSHING or similar instead of on the
16204         assert.
16205         
16206         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16207         clock and post an EOS message if we come out of finish_preroll in
16208         the playing state.
16209
16210 2005-06-16  David Schleef  <ds@schleef.org>
16211
16212         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16213         (gst_capsfilter_set_property): Allow NULL as possible value
16214         for filter_caps property, indicating GST_CAPS_ANY.
16215
16216 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16217
16218         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16219           fix debug output
16220         * gst/schedulers/Makefile.am:
16221           use libgst prefix
16222         * gstreamer.spec.in:
16223           fix spec for it
16224
16225 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16226
16227         * gstreamer.spec.in:
16228           clean up
16229
16230 2005-06-08  Andy Wingo  <wingo@pobox.com>
16231
16232         * gst/gstutils.c: RPAD fixes all around.
16233         (gst_element_link_pads): Refcounting fixes.
16234
16235         * tools/gst-inspect.c:
16236         * tools/gst-xmlinspect.c:
16237         * parse/grammar.y:
16238         * gst/base/gsttypefindhelper.c:
16239         * gst/base/gstbasesink.c:
16240         * gst/gstqueue.c: RPAD fixes.
16241
16242         * gst/gstghostpad.h:
16243         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16244         pads. The tricky thing is they provide both source and sink
16245         interfaces, since they proxy the internal pad for the external
16246         pad, and vice versa. Implement with lower-level ProxyPad objects,
16247         with the interior proxy pad as a child of the exterior ghost pad.
16248         Should write a doc on this.
16249         
16250         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16251         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16252         gst_object API.
16253         
16254         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16255         pads are real pads. No ghost pads in this file. Not documenting
16256         the myriad s/RPAD/PAD/ and REALIZE fixes.
16257         (gst_pad_class_init): Add properties for "direction" and
16258         "template". Both are construct-only, so they can't change during
16259         the life of the pad. Fixes properly deriving from GstPad.
16260         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16261         derived objects, just set properties when creating the objects via
16262         g_object_new.
16263         (gst_pad_get_parent): Implement as a function, return NULL if the
16264         parent is not an element.
16265         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16266         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16267         
16268         * gst/gstobject.c (gst_object_class_init): Make name a construct
16269         property. Don't set it in the object init.
16270
16271         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16272         with UNKNOWN direction.
16273         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16274         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16275         (gst_element_remove_pad): Remove ghost-pad special cases.
16276         (gst_element_pads_activate): Remove rpad cruft.
16277
16278         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16279         catch the pad's-parent-not-an-element case.
16280
16281         * gst/gst.h: Include gstghostpad.h.
16282
16283         * gst/gst.c (init_post): No more real, ghost pads.
16284
16285         * gst/Makefile.am: Add gstghostpad.[ch].
16286
16287         * check/Makefile.am:
16288         * check/gst/gstbin.c:
16289         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16290         into a bin creates ghost pads, and that the refcounts are right.
16291         Partly moved from gstbin.c.
16292
16293 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16294
16295         * check/gst-libs/.cvsignore:
16296         * check/gst/.cvsignore:
16297         * check/pipelines/.cvsignore:
16298           ignore more
16299         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16300         (START_TEST), (cleanup_suite), (main):
16301           add some tests related to cleanup after running pipelines
16302
16303 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16304
16305         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16306           add a testsuite for GstBuffer
16307
16308 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16309
16310         * gst/gstminiobject.h:
16311           add defines for accessing the refcount
16312
16313 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16314
16315         * Makefile.am: added support for html unit test coverage reports
16316
16317 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16318
16319         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16320           Free existing caps if the capsfilter changes. Add a FIXME about
16321           setting those caps on the pads.
16322
16323         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16324           Before adding a ghost pad to a parent bin, check that there isn't
16325           already one for the element on the bin. Prevents infinite recursion
16326           when using decodebin in parse pipelines. Andy says he'll rewrite the
16327           way this works anyway, so ignore the hack.
16328
16329 2005-06-02  Andy Wingo  <wingo@pobox.com>
16330
16331         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16332         file size, pass it on to the type find helper.
16333
16334         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16335         segment_start and segment_end properly according to the seek
16336         method. Segment_end is still a bit flaky because offset can be
16337         negative for CUR and END cases, but it takes -1 as an "unset"
16338         value.
16339
16340 2005-06-02  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16343         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16344         (gst_basesink_activate):
16345         * gst/base/gstbasesink.h:
16346         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16347         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16348         (gst_pad_query), (gst_pad_start_task):
16349         * gst/gstpad.h:
16350         * gst/gstqueue.c: (gst_queue_bufferalloc),
16351         (gst_queue_handle_sink_event), (gst_queue_chain):
16352         Bufferalloc: return GstFlowReturn to more accuratly report
16353         why allocation failed.
16354
16355 2005-06-02  Wim Taymans  <wim@fluendo.com>
16356
16357         * gst/gstpipeline.c: (gst_pipeline_send_event):
16358         Take snapshot of state without blocking.
16359
16360 2005-06-02  Wim Taymans  <wim@fluendo.com>
16361
16362         * docs/design/part-TODO.txt:
16363         * docs/design/part-caps.txt:
16364         * docs/design/part-clocks.txt:
16365         * docs/design/part-negotiation.txt:
16366         * docs/design/part-preroll.txt:
16367         Small doc updates 
16368
16369 2005-05-30  Wim Taymans  <wim@fluendo.com>
16370
16371         * gst/elements/gstidentity.c: (gst_identity_event),
16372         (gst_identity_transform), (gst_identity_get_property):
16373         Protect last_message property as it is accessed from
16374         multiple threads.
16375
16376 2005-05-30  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/gstelement.c: (gst_element_init),
16379         (gst_element_pads_activate), (gst_element_change_state):
16380         Slicker pad activation code.
16381
16382 2005-05-30  Wim Taymans  <wim@fluendo.com>
16383
16384         * gst/Makefile.am:
16385         * gst/gstelement.h:
16386         * gst/gstelementfactory.h:
16387         * gst/gsttypes.h:
16388         Move elementfactory methods to separate .h file.
16389
16390 2005-05-30  Wim Taymans  <wim@fluendo.com>
16391
16392         * docs/design/part-overview.txt:
16393         * gst/gstsystemclock.h:
16394         Small typo fixes, doc updates.
16395
16396 2005-05-30  Wim Taymans  <wim@fluendo.com>
16397
16398         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16399         (init_popt_callback):
16400         Remove cpu-opt flag.
16401
16402 2005-05-30  Wim Taymans  <wim@fluendo.com>
16403
16404         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16405         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16406         * gst/gstbuffer.h:
16407         Avoid typechecking in places where not needed.
16408         Added accessor for malloc_data.
16409
16410 2005-05-30  Wim Taymans  <wim@fluendo.com>
16411
16412         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16413         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16414         (gst_pad_configure_sink), (gst_pad_configure_src),
16415         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16416         (gst_pad_start_task):
16417         Propagate errors from _set_caps() in configure_src/sink
16418         functions instead of returning TRUE.
16419         FLUSH events can travel up and downstream
16420
16421
16422 2005-05-30  Wim Taymans  <wim@fluendo.com>
16423
16424         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16425         (gst_basesink_activate):
16426         Handle EOS in preroll.
16427
16428 2005-05-30  Wim Taymans  <wim@fluendo.com>
16429
16430         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16431         (gst_queue_loop), (gst_queue_handle_src_event):
16432         Remove old pieces of code
16433         Flushing the queue in an upstream event is a very bad idea.
16434
16435 2005-05-26  Andy Wingo  <wingo@pobox.com>
16436
16437         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16438         gst_value_set_mini_object so as to add a ref on the object (which
16439         will be removed when the value is unset).
16440
16441         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16442         arg type in ::handoff.
16443
16444         * gst/gstelement.c (gst_element_change_state): Also deactivate
16445         pads in READY->NULL, just in case the element didn't make it to
16446         PAUSED. Wingo tested, Wim approved.
16447
16448 2005-05-26  Wim Taymans  <wim@fluendo.com>
16449
16450         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16451         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16452         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16453         A flushing pad cannot be used to alloc_buffer from.
16454
16455 2005-05-26  Wim Taymans  <wim@fluendo.com>
16456
16457         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16458         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16459         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16460         (gst_bus_create_watch), (gst_bus_add_watch_full):
16461         * gst/gstbus.h:
16462         Implement a real GSource and use g_main_context_wakeup() to
16463         signal new messages instead of the socketpair.
16464
16465 2005-05-25  Wim Taymans  <wim@fluendo.com>
16466
16467         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16468         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16470         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16471         (gst_pad_send_event), (gst_pad_start_task):
16472         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16473         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16474         (gst_queue_sink_activate), (gst_queue_src_activate),
16475         (gst_queue_change_state):
16476         * gst/gstqueue.h:
16477         Fix state changes for non sinks. We now change sinks, then elements
16478         with unconnected srcpads, then the rest.
16479         More efficient queue unlocking in flush and state changes.
16480         Set the pad activate mode even if it does not have an activate
16481         function.
16482
16483 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16484
16485         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16486           Don't go in pull mode for non-seekable sources.
16487         * gst/elements/gsttypefindelement.h:
16488         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16489         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16490         (free_entry), (stop_typefinding),
16491         (gst_type_find_element_handle_event), (find_peek),
16492         (gst_type_find_element_chain), (do_pull_typefind),
16493         (gst_type_find_element_change_state):
16494           Allow typefinding (w/o seeking) in push-mode, simplified version
16495           of what was in 0.8.
16496         * gst/gstutils.c: (gst_buffer_join):
16497         * gst/gstutils.h:
16498           gst_buffer_join() from 0.8.
16499
16500 2005-05-25  Wim Taymans  <wim@fluendo.com>
16501
16502         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16503         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16504         (gst_pad_send_event), (gst_pad_start_task):
16505         Disable attempt at mode switching until it is figured out.
16506
16507 2005-05-25  Wim Taymans  <wim@fluendo.com>
16508
16509         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16510         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16511         (gst_basesink_finish_preroll), (gst_basesink_chain),
16512         (gst_basesink_loop), (gst_basesink_activate),
16513         (gst_basesink_change_state):
16514         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16515         (gst_basesrc_get_range), (gst_basesrc_loop),
16516         (gst_basesrc_activate):
16517         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16518         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16519         (gst_real_pad_init), (gst_real_pad_set_property),
16520         (gst_real_pad_get_property), (gst_pad_set_active),
16521         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16522         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16523         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16524         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16525         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16526         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16527         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16528         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16529         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16530         (gst_pad_stop_task):
16531         * gst/gstpad.h:
16532         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16533         (gst_queue_loop), (gst_queue_src_activate):
16534         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16535         (gst_task_get_state):
16536         * gst/gsttask.h:
16537         * gst/schedulers/threadscheduler.c:
16538         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16539         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16540         in task function.
16541         Remove ACTIVE pad flag, use FLUSHING everywhere
16542         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16543         functions.
16544         Add locks around IS_FLUSHING when reading.
16545         Take STREAM lock in chain(), get_range() functions so plugins
16546         don't need to take it anymore.
16547         
16548
16549
16550 2005-05-25  Wim Taymans  <wim@fluendo.com>
16551
16552         * tools/gst-launch.c: (event_loop):
16553         Unref message after using its contents instead of
16554         before.
16555
16556 2005-05-24  Wim Taymans  <wim@fluendo.com>
16557
16558         * docs/design/draft-ghostpads.txt:
16559         * docs/design/draft-push-pull.txt:
16560         * docs/design/draft-query.txt:
16561         * docs/design/part-overview.txt:
16562         Docs updates, added general overview doc.
16563
16564 2005-05-21  David Schleef  <ds@schleef.org>
16565
16566         * docs/gst/tmpl/old/GstBin.sgml:
16567         * docs/gst/tmpl/old/GstBuffer.sgml:
16568         * docs/gst/tmpl/old/GstCaps.sgml:
16569         * docs/gst/tmpl/old/GstClock.sgml:
16570         * docs/gst/tmpl/old/GstCompat.sgml:
16571         * docs/gst/tmpl/old/GstData.sgml:
16572         * docs/gst/tmpl/old/GstElement.sgml:
16573         * docs/gst/tmpl/old/GstEvent.sgml:
16574         * docs/gst/tmpl/old/GstIndex.sgml:
16575         * docs/gst/tmpl/old/GstStructure.sgml:
16576         * docs/gst/tmpl/old/GstTag.sgml:
16577         * docs/gst/tmpl/old/cothreads.sgml:
16578         * docs/gst/tmpl/old/cothreads_compat.sgml:
16579         * docs/gst/tmpl/old/gettext.sgml:
16580         * docs/gst/tmpl/old/gobject2gtk.sgml:
16581         * docs/gst/tmpl/old/grammar.tab.sgml:
16582         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16583         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16584         * docs/gst/tmpl/old/gst_private.sgml:
16585         * docs/gst/tmpl/old/gstaggregator.sgml:
16586         * docs/gst/tmpl/old/gstarch.sgml:
16587         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16588         * docs/gst/tmpl/old/gstbufferstore.sgml:
16589         * docs/gst/tmpl/old/gstdata_private.sgml:
16590         * docs/gst/tmpl/old/gstdisksink.sgml:
16591         * docs/gst/tmpl/old/gstdisksrc.sgml:
16592         * docs/gst/tmpl/old/gstelementfactory.sgml:
16593         * docs/gst/tmpl/old/gstextratypes.sgml:
16594         * docs/gst/tmpl/old/gstfakesink.sgml:
16595         * docs/gst/tmpl/old/gstfakesrc.sgml:
16596         * docs/gst/tmpl/old/gstfdsink.sgml:
16597         * docs/gst/tmpl/old/gstfdsrc.sgml:
16598         * docs/gst/tmpl/old/gstfilesink.sgml:
16599         * docs/gst/tmpl/old/gstfilesrc.sgml:
16600         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16601         * docs/gst/tmpl/old/gstidentity.sgml:
16602         * docs/gst/tmpl/old/gstindexfactory.sgml:
16603         * docs/gst/tmpl/old/gstmarshal.sgml:
16604         * docs/gst/tmpl/old/gstmd5sink.sgml:
16605         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16606         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16607         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16608         * docs/gst/tmpl/old/gstpipefilter.sgml:
16609         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16610         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16611         * docs/gst/tmpl/old/gstshaper.sgml:
16612         * docs/gst/tmpl/old/gstspider.sgml:
16613         * docs/gst/tmpl/old/gstspideridentity.sgml:
16614         * docs/gst/tmpl/old/gststatistics.sgml:
16615         * docs/gst/tmpl/old/gsttee.sgml:
16616         * docs/gst/tmpl/old/gsttimecache.sgml:
16617         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16618         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16619         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16620         * docs/gst/tmpl/old/types.sgml:
16621           I didn't intend to add these or check them in.
16622
16623 2005-05-19  David Schleef  <ds@schleef.org>
16624
16625         * configure.ac: Use -no-common everywhere.  In a sane world, it
16626           would be the default in libtool, because without it, you can't
16627           build DLLs on Windows.
16628         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16629         * docs/gst/gstreamer-sections.txt:
16630         * docs/gst/tmpl/gstcpu.sgml:
16631         * docs/gst/tmpl/gstdata.sgml:
16632         * docs/gst/tmpl/gstthread.sgml:
16633
16634 2005-05-19  David Schleef  <ds@schleef.org>
16635
16636         * gst/gstminiobject.c: (gst_value_set_mini_object),
16637         (gst_value_take_mini_object), (gst_value_get_mini_object):
16638         * gst/gstminiobject.h: Add GValue set/get functions.
16639
16640 2005-05-19  Wim Taymans  <wim@fluendo.com>
16641
16642         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16643         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16644         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16645         * gst/gstbuffer.h:
16646         * gst/gstbus.c: (gst_bus_post):
16647         * gst/gstelement.c: (gst_element_get_random_pad):
16648         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16649         Make subbufer unref the parent in finalize.
16650         some more debugging info.
16651
16652
16653 2005-05-19  Wim Taymans  <wim@fluendo.com>
16654
16655         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16656         (gst_basesink_init), (gst_basesink_finalize),
16657         (gst_basesink_activate), (gst_basesink_change_state):
16658         Don't free preroll queue too early.
16659
16660 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16661
16662         * gst/Makefile.am:
16663         * gst/ROADMAP:
16664           Hi, I'm outdated. Please shoot me.
16665
16666 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16667
16668         * gst/gstpipeline.c: (gst_pipeline_send_event):
16669           Do not access variables after they have been deleted.
16670
16671 2005-05-19  Wim Taymans  <wim@fluendo.com>
16672
16673         * tools/gst-inspect.c: (print_plugin_features):
16674         A plugin feature does unfortunatly not use the
16675         object name yet...
16676
16677 2005-05-18  Wim Taymans  <wim@fluendo.com>
16678
16679         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16680         Port _span() functions to new subbuffers.
16681
16682 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16683
16684         * gst/gstbin.c: (gst_bin_add_func):
16685           Fix clock settery in bins when adding kids after the clock has
16686           been selected.
16687
16688 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16689
16690         * gst/elements/gstidentity.c: (gst_identity_class_init):
16691           Workaround until signals support GstMiniObject.
16692
16693 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16694
16695         * gst/gstbuffer.c:
16696         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16697
16698 2005-05-18  Wim Taymans  <wim@fluendo.com>
16699
16700         * gst/base/Makefile.am:
16701         * gst/base/gstadapter.c: (gst_adapter_base_init),
16702         (gst_adapter_class_init), (gst_adapter_init),
16703         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16704         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16705         (gst_adapter_flush), (gst_adapter_available),
16706         (gst_adapter_available_fast):
16707         * gst/base/gstadapter.h:
16708         Ported and added adapter to the base classes.
16709
16710 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16711
16712         * gst/gst.c:
16713         * gst/gstmessage.c:
16714           Make sure the class is reffed/unreffed once before threads can be
16715           used.  Fixes #304551.
16716
16717 2005-05-17  Wim Taymans  <wim@fluendo.com>
16718
16719         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16720         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16721         * gst/gstminiobject.c: (gst_mini_object_get_type),
16722         (gst_mini_object_free):
16723         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16724         (gst_pad_push), (gst_pad_push_event):
16725         * gst/gstqueue.c: (gst_queue_change_state):
16726         Don't queue buffers in basesink when we are flushing.
16727         Unref buffer when flushing in basesink.
16728         Flush queue when going to READY
16729         Unref buffer when _push() returns an error.
16730         Don't free MiniObject instance when refcount is incremented
16731         in _finalize() so that we can recover objects.
16732
16733 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16734
16735         * docs/manual/advanced-schedulers.xml:
16736         * docs/manual/appendix-checklist.xml:
16737         * docs/pwg/advanced-clock.xml:
16738         * docs/pwg/advanced-interfaces.xml:
16739         * docs/pwg/advanced-request.xml:
16740         * docs/pwg/advanced-types.xml:
16741         * docs/pwg/intro-preface.xml:
16742         * examples/plugins/example.c: (gst_example_get_type),
16743         (gst_example_class_init), (gst_example_chain),
16744         (gst_example_set_property), (gst_example_get_property),
16745         (gst_example_change_state), (plugin_init):
16746         * examples/plugins/example.h:
16747           small doc fixes
16748
16749 2005-05-17  Wim Taymans  <wim@fluendo.com>
16750
16751         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16752         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16753         * gst/gstqueue.c: (gst_queue_change_state):
16754         Clear queue when going to READY.
16755         Remove IN_SETCAPS flag too.
16756
16757 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16758
16759         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16760           Remove implicit cast from gboolean to GstElementStateReturn;
16761           make sure we still return failure in paused => ready case if
16762           the parent class fails to change state and our own stop 
16763           vfunc succeeds.
16764
16765 2005-05-17  Wim Taymans  <wim@fluendo.com>
16766
16767         * tools/gst-launch.c: (event_loop):
16768         Message was unreffed too soon.
16769
16770 2005-05-16  Andy Wingo  <wingo@pobox.com>
16771
16772         * gst/gstbin.c (sink_iterator_filter): Err... um...
16773
16774         * check/gst/gstbin.c (test_ghost_pads): New test for the
16775         ghosting-if-elements-not-in-same-bin behavior.
16776
16777 2005-05-16  David Schleef  <ds@schleef.org>
16778
16779         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16780         accessing refcount directly.
16781
16782 2005-05-15  David Schleef  <ds@schleef.org>
16783
16784         * check/Makefile.am: remove GstData checks
16785         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16786         * gst/Makefile.am: add miniobject, remove data
16787         * gst/gst.h: add miniobject, remove data
16788         * gst/gstdata.c: remove
16789         * gst/gstdata.h: remove
16790         * gst/gstdata_private.h: remove
16791         * gst/gsttypes.h: remove GstEvent and GstMessage
16792         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16793         * gst/gstmarshal.list: change BOXED -> OBJECT
16794
16795         Implement GstMiniObject.
16796         * gst/gstminiobject.c:
16797         * gst/gstminiobject.h:
16798
16799         Modify to be subclasses of GstMiniObject.
16800         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16801         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16802         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16803         (gst_subbuffer_get_type), (gst_subbuffer_init),
16804         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16805         (gst_buffer_span):
16806         * gst/gstbuffer.h:
16807         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16808         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16809         (_gst_event_copy), (gst_event_new):
16810         * gst/gstevent.h:
16811         * gst/gstmessage.c: (_gst_message_initialize),
16812         (gst_message_get_type), (gst_message_class_init),
16813         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16814         (gst_message_new), (gst_message_new_error),
16815         (gst_message_new_warning), (gst_message_new_tag),
16816         (gst_message_new_state_changed), (gst_message_new_application):
16817         * gst/gstmessage.h:
16818         * gst/gstprobe.c: (gst_probe_perform),
16819         (gst_probe_dispatcher_dispatch):
16820         * gst/gstprobe.h:
16821         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16822         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16823         (_gst_query_copy), (gst_query_new):
16824
16825         Update elements for GstData -> GstMiniObject changes
16826         * gst/gstquery.h:
16827         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16828         (gst_queue_chain), (gst_queue_loop):
16829         * gst/elements/gstbufferstore.c:
16830         (gst_buffer_store_add_buffer_func),
16831         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16832         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16833         (gst_fakesink_render):
16834         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16835         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16836         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16837         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16838         (gst_filesrc_create_read):
16839         * gst/elements/gstidentity.c: (gst_identity_class_init):
16840         * gst/elements/gsttypefindelement.c:
16841         (gst_type_find_element_src_event), (free_entry_buffers),
16842         (gst_type_find_element_handle_event):
16843         * libs/gst/dataprotocol/dataprotocol.c:
16844         (gst_dp_header_from_buffer):
16845         * libs/gst/dataprotocol/dataprotocol.h:
16846         * libs/gst/dataprotocol/dp-private.h:
16847
16848 2005-05-15  David Schleef  <ds@schleef.org>
16849
16850         * gst/elements/gstelements.c: Don't include headers that were
16851         just removed.
16852
16853 2005-05-15  David Schleef  <ds@schleef.org>
16854
16855         * gst/elements/Makefile.am: Remove some elements that don't
16856         need to be in the core (or even exist at all).
16857         * gst/elements/gstaggregator.c:
16858         * gst/elements/gstaggregator.h:
16859         * gst/elements/gstmd5sink.c:
16860         * gst/elements/gstmd5sink.h:
16861         * gst/elements/gstmultifilesrc.c:
16862         * gst/elements/gstmultifilesrc.h:
16863         * gst/elements/gstpipefilter.c:
16864         * gst/elements/gstpipefilter.h:
16865         * gst/elements/gstshaper.c:
16866         * gst/elements/gstshaper.h:
16867         * gst/elements/gststatistics.c:
16868         * gst/elements/gststatistics.h:
16869         * po/POTFILES.in: Remove above files.
16870
16871 2005-05-14  Andy Wingo  <wingo@pobox.com>
16872
16873         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16874         so as to get the refs right.
16875         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16876         unreffing objects that don't pass the filter.
16877
16878         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16879         gst_element_set_bus.
16880         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16881         normal cases, this will destroy the bus.
16882
16883         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16884         object.
16885
16886         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16887         has no sinks.
16888
16889 2005-05-13  Andy Wingo  <wingo@pobox.com>
16890
16891         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16892         gst_pad_link, call pad_link_maybe_ghosting,
16893         (pad_link_maybe_ghosting): Links pads, making sure that the
16894         elements being linked are in the same bin.
16895         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16896         Helpers for pad_link_maybe_ghosting.
16897
16898 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16899
16900         * configure.ac:
16901           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16902
16903 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16904
16905         * docs/design/part-element-source.txt:
16906           Mention GstPushSrc
16907
16908 2005-05-12  Wim Taymans  <wim@fluendo.com>
16909
16910         * gst/base/gstbasesink.c: (gst_basesink_init),
16911         (gst_basesink_activate):
16912         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16913         (gst_basesrc_is_seekable):
16914         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16915         (bin_element_is_sink), (gst_bin_change_state):
16916         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16917         * gst/gstelement.h:
16918         Identify sinks by their flag to avoid overly complicated
16919         checks (fow now).
16920         Do state changes even for elements not reachable from the
16921         sinks.
16922         BaseSink is a sink now :)
16923         Some more debugging info in the basesrc.
16924
16925
16926 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16927
16928         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16929           Implement _query on a bin, similar to _send_event.
16930
16931 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16932
16933         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16934           Discont event offset format should be GST_FORMAT_BYTES,
16935           not GST_FORMAT_TIME.
16936
16937 2005-05-12  Wim Taymans  <wim@fluendo.com>
16938
16939         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16940         Same fix as Ronald's but without the signal. 
16941
16942 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16943
16944         * gst/gstutils.c: (gst_element_query_position):
16945           No, an element is not a pad.
16946
16947 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16948
16949         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16950         (gst_bin_get_state):
16951           If a child is removed from a bin while we remove the child from
16952           the bin and while we're retrieving its state, signal this to the
16953           get_state function so we abort the wait (instead of waiting for
16954           a timeout) and can immediately re-iterate over all other elements.
16955
16956 2005-05-12  Wim Taymans  <wim@fluendo.com>
16957
16958         * gst/base/Makefile.am:
16959         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16960         (gst_basesrc_start):
16961         * gst/base/gstbasesrc.h:
16962         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16963         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16964         (gst_pushsrc_init), (gst_pushsrc_create):
16965         * gst/base/gstpushsrc.h:
16966         Added is_seekable to BaseSrc
16967         Added simple PushSrc.
16968
16969 2005-05-11  Wim Taymans  <wim@fluendo.com>
16970
16971         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16972         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16973         (gst_element_link_pads), (gst_element_query_position),
16974         (gst_element_query_convert), (intersect_caps_func),
16975         (gst_pad_query_position), (gst_pad_query_convert):
16976         Fix refcounting in utils function.
16977         No point in trying to activate a pad when it's added, it could
16978         be added from the state change function and then we deadlock, the
16979         element has to decide what to do.
16980
16981 2005-05-10  Andy Wingo  <wingo@pobox.com>
16982
16983         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16984         *all* the arguments.
16985
16986         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16987         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16988         lock (according to the docs -- if this is wrong change the docs).
16989
16990         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16991         flush messages in the NULL state.
16992
16993         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16994         message immediately and return.
16995         (gst_bus_set_flushing): New function. If a bus is flushing, it
16996         flushes out any queued messages and immediately unrefs new
16997         messages. This is so when an element goes to NULL, all of the
16998         unhandled messages coming from it can be freed, and their
16999         references to the element dropped. In other words: message source
17000         ref considered harmful :P
17001
17002         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17003         we're finished with it.
17004
17005         * gst/gstmessage.c (gst_message_new_state_changed): 
17006
17007 2005-05-10  Wim Taymans  <wim@fluendo.com>
17008
17009         * gst/gstvalue.c: (gst_value_compare_flags),
17010         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17011         (_gst_value_initialize):
17012         Added flags serialize/deserialize/compare code.
17013
17014 2005-05-09  Andy Wingo  <wingo@pobox.com>
17015
17016         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17017         Intersect the peer's caps with our caps.
17018
17019 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17020
17021         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17022         * gst/elements/gsttypefindelement.c: (find_peek):
17023           Handle negative offsets better. Fixes decodebin.
17024
17025 2005-05-09  Wim Taymans  <wim@fluendo.com>
17026
17027         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17028         (gst_base_transform_event):
17029         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17030         Implement accept_caps.
17031         Fix silly lock/unlock mismatch in base class.
17032
17033 2005-05-09  Wim Taymans  <wim@fluendo.com>
17034
17035         * docs/design/draft-push-pull.txt:
17036         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17037         * gst/elements/gstfilesink.c: (gst_filesink_init),
17038         (gst_filesink_query):
17039         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17040         (gst_type_find_handle_src_query), (find_element_get_length):
17041         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17042         * gst/gstelement.h:
17043         * gst/gstmessage.c:
17044         * gst/gstmessage.h:
17045         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17046         (gst_real_pad_get_caps_unlocked),
17047         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17048         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17049         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17050         (gst_real_pad_dispose), (gst_real_pad_finalize),
17051         (gst_pad_load_and_link), (gst_pad_save_thyself),
17052         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17053         (gst_pad_check_pull_range), (gst_pad_pull_range),
17054         (gst_pad_template_get_type), (gst_pad_template_class_init),
17055         (gst_pad_template_init), (gst_pad_template_dispose),
17056         (name_is_valid), (gst_static_pad_template_get),
17057         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17058         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17059         (gst_pad_get_element_private), (gst_pad_start_task),
17060         (gst_pad_pause_task), (gst_pad_stop_task),
17061         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17062         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17063         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17064         (gst_ghost_pad_new):
17065         * gst/gstpad.h:
17066         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17067         (gst_query_new_position), (gst_query_set_position),
17068         (gst_query_parse_position), (gst_query_new_convert),
17069         (gst_query_set_convert), (gst_query_parse_convert):
17070         * gst/gstquery.h:
17071         * gst/gstqueryutils.c:
17072         * gst/gstqueryutils.h:
17073         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17074         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17075         (gst_queue_handle_src_query):
17076         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17077         (gst_element_query_position), (gst_element_query_convert),
17078         (intersect_caps_func), (gst_pad_query_position),
17079         (gst_pad_query_convert):
17080         * gst/gstutils.h:
17081         * tools/gst-inspect.c: (print_pad_info):
17082         * tools/gst-xmlinspect.c: (print_element_info):
17083         Remove old query functions. Ported old code.
17084         Added position/convert helper functions to gstutils.
17085         Reordered gstpad.c code, grouping relevant things.
17086         Remove gst_message_new(), always need to speficy a specific
17087         message.
17088
17089
17090 2005-05-09  Andy Wingo  <wingo@pobox.com>
17091
17092         * gst/gstiterator.h: Add some includes.
17093
17094         * gst/gstqueryutils.h: Include more headers.
17095
17096         * gst/gstpad.h:
17097         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17098         some uses of gst_pad_query.
17099
17100         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17101         NULL out parameters.
17102         (gst_query_new_position): New proc, allocates a new position
17103         query.
17104
17105         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17106         gstqueryutils.c to the build.
17107
17108         * gst/gststructure.c (gst_structure_set_valist): Implement with
17109         the generic G_VALUE_COLLECT.
17110         
17111 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17112
17113         * gst/Makefile.am: (gst_headers):
17114         Added gstqueryutils.h to the list of headers to install, that was
17115         a 'nachty' move wingo :)
17116
17117 2005-05-06  Andy Wingo  <wingo@pobox.com>
17118
17119         * gst/gstquery.h
17120         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17121         GstData, init a memchunk.
17122         (standard_definitions): Add a few query types, deprecate a few.
17123         (gst_query_get_type): New proc.
17124         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17125         implementation.
17126         (gst_query_new_application, gst_query_get_structure): New public
17127         procs.
17128
17129         * docs/design/draft-query.txt: Removed LINKS from the query types,
17130         because all the rest can be dispatched to other pads -- seemed
17131         ugly to have a query that couldn't be dispatched. internal_links
17132         is fine as a pad method.
17133
17134         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17135         in gstpad.c, but maintain binary compatibility for the moment.
17136         Will fix before 0.9 is out.
17137
17138         * gst/gstqueryutils.c: 
17139         * gst/gstqueryutils.h: New files, implement 3 methods for each
17140         query type: parse_query, parse_response, and set. Probably need an
17141         allocator as well.
17142
17143         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17144
17145         * gst/elements/gstfilesink.c (gst_filesink_query2):
17146         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17147         query_types, and formats methods.
17148
17149         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17150         (gst_pad_set_query2_function): New functions.
17151         (gst_real_pad_init): Set query2_default as the default query2
17152         function. Basically just dispatches to internally linked pads.
17153
17154         Needs review!
17155         
17156         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17157         without using the atomic operations. Only one thread can possibly
17158         be accessing the data at this point. Changed so as to avoid
17159         gst_atomic operations.
17160
17161 2005-05-06  Wim Taymans  <wim@fluendo.com>
17162
17163         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17164         Also set caps if we use the fallback buffer alloc.
17165
17166 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17167
17168         * docs/gst/Makefile.am:
17169         * docs/gst/gstreamer-docs.sgml:
17170         * docs/gst/gstreamer-sections.txt:
17171         * docs/gst/tmpl/gstatomic.sgml:
17172         * docs/gst/tmpl/gstmemchunk.sgml:
17173         * testsuite/elements/struct_i386.h:
17174         * win32/GStreamer.vcproj:
17175         * win32/Makefile:
17176           Purge GstAtomic stuff from docs and win32 makefiles as well
17177
17178 2005-05-06  Wim Taymans  <wim@fluendo.com>
17179
17180         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17181         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17182         * gst/gstpad.c: (gst_pad_peer_get_caps):
17183         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17184         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17185         (gst_queue_src_activate), (gst_queue_change_state):
17186         * gst/gstqueue.h:
17187         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17188         (intersect_caps_func):
17189         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17190         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17191         Some fixes for the peer_get_caps() change.
17192
17193 2005-05-06  Wim Taymans  <wim@fluendo.com>
17194
17195         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17196         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17197         (gst_basesink_activate):
17198         Actually do something with error codes returned from the push
17199         functions.
17200
17201 2005-05-06  Wim Taymans  <wim@fluendo.com>
17202
17203         * docs/design/part-element-sink.txt:
17204         * docs/design/part-element-source.txt:
17205         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17206         (gst_basesink_event), (gst_basesink_activate):
17207         * gst/base/gstbasesink.h:
17208         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17209         (gst_basesrc_activate):
17210         * gst/base/gstbasesrc.h:
17211         * gst/gstelement.c: (gst_element_pads_activate):
17212         Some more documentation.
17213         Fixed scheduling decision in _pads_activate().
17214
17215 2005-05-05  Andy Wingo  <wingo@pobox.com>
17216
17217         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17218         the test suite.
17219
17220 2005-05-05  Wim Taymans  <wim@fluendo.com>
17221
17222         * gst/base/Makefile.am:
17223         * gst/base/gstbasesink.h:
17224         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17225         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17226         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17227         (gst_collectpads_class_init), (gst_collectpads_init),
17228         (gst_collectpads_finalize), (gst_collectpads_new),
17229         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17230         (find_pad), (gst_collectpads_remove_pad),
17231         (gst_collectpads_is_active), (gst_collectpads_collect),
17232         (gst_collectpads_collect_range), (gst_collectpads_start),
17233         (gst_collectpads_stop), (gst_collectpads_peek),
17234         (gst_collectpads_pop), (gst_collectpads_available),
17235         (gst_collectpads_read), (gst_collectpads_flush),
17236         (gst_collectpads_chain):
17237         * gst/base/gstcollectpads.h:
17238         * gst/elements/Makefile.am:
17239         * gst/elements/gstelements.c:
17240         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17241         (gst_fakesink_get_times), (gst_fakesink_event),
17242         (gst_fakesink_preroll), (gst_fakesink_render):
17243         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17244         (gst_filesink_init), (gst_filesink_set_location),
17245         (gst_filesink_open_file), (gst_filesink_close_file),
17246         (gst_filesink_pad_query), (gst_filesink_event),
17247         (gst_filesink_render), (gst_filesink_change_state):
17248         * gst/elements/gstfilesink.h:
17249         Added object to help in making collect pad based elements.
17250         Ported filesink.
17251         Make event function in sink baseclass return gboolean.
17252
17253 2005-05-05  Wim Taymans  <wim@fluendo.com>
17254
17255         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17256         (gst_bin_get_by_name):
17257         * gst/gstbuffer.h:
17258         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17259         (gst_clock_finalize):
17260         * gst/gstdata.c: (gst_data_replace):
17261         * gst/gstdata.h:
17262         * gst/gstelement.c: (gst_element_request_pad),
17263         (gst_element_pads_activate):
17264         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17265         (gst_object_unref):
17266         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17267         (gst_pad_set_checkgetrange_function),
17268         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17269         (gst_pad_check_pull_range), (gst_pad_pull_range),
17270         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17271         (gst_pad_pause_task), (gst_pad_stop_task):
17272         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17273         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17274         Fix name lookup in GstBin.
17275         Added _data_replace() function and _buffer_replace()
17276         Use finalize method to clean up clock.
17277         Fix refcounting on request pads.
17278         Fix pad schedule mode error.
17279         Some more object refcounting debug info,
17280
17281
17282 2005-05-04  Andy Wingo <wingo@pobox.com>
17283
17284         * check/Makefile.am:
17285         * docs/gst/tmpl/gstatomic.sgml:
17286         * docs/gst/tmpl/gstplugin.sgml:
17287         * gst/base/gstbasesink.c: (gst_basesink_activate):
17288         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17289         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17290         (gst_basesrc_query), (gst_basesrc_set_property),
17291         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17292         (gst_basesrc_activate):
17293         * gst/base/gstbasesrc.h:
17294         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17295         (gst_base_transform_src_activate):
17296         * gst/elements/gstelements.c:
17297         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17298         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17299         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17300         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17301         (gst_type_find_element_checkgetrange),
17302         (gst_type_find_element_activate):
17303         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17304         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17305         (gst_caps_load_thyself):
17306         * gst/gstelement.c: (gst_element_pads_activate),
17307         (gst_element_save_thyself), (gst_element_restore_thyself):
17308         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17309         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17310         * gst/gstpad.h:
17311         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17312         (gst_xml_parse_file), (gst_xml_parse_memory),
17313         (gst_xml_get_element), (gst_xml_make_element):
17314         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17315         (_file_index_id_save_xml), (gst_file_index_commit):
17316         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17317         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17318         (load_paths):
17319         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17320         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17321         * tools/gst-complete.c: (main):
17322         * tools/gst-compprep.c: (main):
17323         * tools/gst-inspect.c: (print_element_properties_info):
17324         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17325         * tools/gst-xmlinspect.c: (print_element_properties):
17326         GCC 4 fixen.
17327         
17328 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17329
17330         * gst/gstplugin.c: (gst_plugin_check_module),
17331         (gst_plugin_check_file), (gst_plugin_load_file):
17332             apply patch from #172526 to make register work on MacOSX
17333
17334 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17335
17336         * docs/gst/tmpl/gstconfig.sgml:
17337         * gst/gstconfig.h.in:
17338           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17339         * testsuite/debug/printf_extension.c: (main):
17340           Do not use GST_PTR_FORMAT on pointers to types with
17341           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17342         * testsuite/elements/property.h:
17343           use correct printf format
17344
17345 2005-05-02  Wim Taymans  <wim@fluendo.com>
17346
17347         * docs/design/draft-push-pull.txt:
17348         * docs/design/draft-query.txt:
17349         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17350         (gst_basesrc_start):
17351         Added draft for new query API.
17352         Added draft for better selecting scheduling methods.
17353         Make basesrc ignore length if the subclass does not support
17354         it.
17355
17356 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17357
17358         * gst/Makefile.am:
17359           possible fixes for automake-1.5 - _LIBADD is reserved
17360
17361 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17362
17363         * docs/faq/Makefile.am:
17364         * docs/manual/Makefile.am:
17365         * docs/manuals.mak:
17366         * docs/pwg/Makefile.am:
17367         * gst/Makefile.am:
17368           possible fixes for automake-1.5
17369
17370 2005-04-28  Wim Taymans  <wim@fluendo.com>
17371
17372         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17373         (gst_basesink_pad_getcaps), (gst_basesink_init),
17374         (gst_basesink_do_sync):
17375         * gst/gstclock.c: (gst_clock_entry_new):
17376         * gst/gstevent.c: (gst_event_discont_get_value):
17377         * gst/gstpipeline.c: (pipeline_bus_handler),
17378         (gst_pipeline_change_state):
17379         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17380         Better debugging of clocking info.
17381         Allow NULL values when getting discont values.
17382
17383 2005-04-27  Wim Taymans  <wim@fluendo.com>
17384
17385         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17386         * check/gst/gstpad.c: (gst_pad_suite):
17387         Increase timeout for checks.
17388
17389 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17390
17391         * check/Makefile.am:
17392           fix the broken rule for cleanup.  Apparently this rule is
17393           only needed on FC2, so maybe this warrants further autotool
17394           inspection.
17395
17396 2005-04-26  Wim Taymans  <wim@fluendo.com>
17397
17398         * gst/gsttrashstack.h:
17399         Ooohh. a nasty one! After having a failed pop() from the stack,
17400         it's possible that the stack is empty. In that case, don't
17401         follow the NULL pointer.
17402
17403 2005-04-25  Wim Taymans  <wim@fluendo.com>
17404
17405         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17406         (gst_pad_set_checkgetrange_function),
17407         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17408         (gst_pad_check_pull_range), (gst_pad_pull_range),
17409         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17410         (gst_pad_pause_task), (gst_pad_stop_task):
17411         * gst/gstplugin.c: (gst_plugin_load):
17412         * gst/gstplugin.h:
17413         Remove gst_library_load as it does more harm than good with
17414         the new g_module flags.
17415         Revert bogus caps template check in pad linking, pad caps
17416         are important when linking not the template, which is more
17417         general than the current caps.
17418
17419 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17420
17421         * gst/autoplug/.cvsignore:
17422         * gst/autoplug/Makefile.am:
17423         * gst/autoplug/gstsearchfuncs.c:
17424         * gst/autoplug/gstsearchfuncs.h:
17425         * gst/autoplug/gstspider.c:
17426         * gst/autoplug/gstspider.h:
17427         * gst/autoplug/gstspideridentity.c:
17428         * gst/autoplug/gstspideridentity.h:
17429         * gst/autoplug/spidertest.c:
17430           Die, spider, die.
17431
17432 2005-04-25  Wim Taymans  <wim@fluendo.com>
17433
17434         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17435         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17436         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17437         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17438         * gst/gstpad.h:
17439         Added stubs for unimplemented functions. 
17440
17441 2005-04-24  David Schleef  <ds@schleef.org>
17442
17443         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17444         please fix.
17445
17446 2005-04-24  David Schleef  <ds@schleef.org>
17447
17448         Convert everything from GstAtomicInt to g_atomic_int_*, and
17449         remove gstatomic.
17450         * gst/Makefile.am:
17451         * gst/gstatomic.c:
17452         * gst/gstatomic.h:
17453         * gst/gstatomic_impl.h:
17454         * gst/gstbuffer.c:
17455         * gst/gstcaps.c:
17456         * gst/gstcaps.h:
17457         * gst/gstclock.c:
17458         * gst/gstclock.h:
17459         * gst/gstdata.c:
17460         * gst/gstdata.h:
17461         * gst/gstdata_private.h:
17462         * gst/gstevent.c:
17463         * gst/gstinfo.c:
17464         * gst/gstinfo.h:
17465         * gst/gstmessage.c:
17466         * gst/gstobject.c:
17467         * gst/gstobject.h:
17468         * gst/gststructure.c:
17469         * gst/gststructure.h:
17470         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17471         * gst/gstutils.h:
17472
17473 2005-04-24  David Schleef  <ds@schleef.org>
17474
17475         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17476         make the regressions tests work.  Remove some code that is no
17477         longer true.
17478         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17479         Disable warning for pads without templates.
17480
17481 2005-04-24  David Schleef  <ds@schleef.org>
17482
17483         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17484         functions that handle filtered links.
17485         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17486         removed functions.
17487         * gst/gstutils.c: Fix/remove utility functions that handle
17488         filtered caps.
17489         * gst/gstutils.h:
17490         * gst/gstvalue.c: Add serialization/deserialization of caps
17491         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17492         requires fixing so that the filter caps notation creates
17493         a capsfilter element and sets the filter_caps property.  I
17494         think everyone probably wants to keep the shorthand notation.
17495         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17496         * docs/gst/tmpl/gstpad.sgml:
17497
17498         * gst/elements/gstelements.c: Register capsfilter element.
17499         * gst/Makefile.am: fix spacing
17500         * docs/random/ds/0.9-suggested-changes: random
17501
17502 2005-04-23  David Schleef  <ds@schleef.org>
17503
17504         * gst/elements/Makefile.am:
17505         * gst/elements/gstcapsfilter.c: New element that acts like an
17506         identity, but filters caps.  Will eventually replace filtered
17507         caps in pad linking.
17508         * gst/gstutils.c: (gst_element_create_all_pads): New function
17509         to create all the ALWAYS pads that are registered with an
17510         element class.  This functionality should eventually be
17511         merged in with GstElement initialization.
17512         * gst/gstutils.h:
17513         * testsuite/trigger/README: part of trigger test code that should
17514         have been checked in a long time ago.
17515
17516 2005-04-23  David Schleef  <ds@schleef.org>
17517
17518         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17519         needed with new versions of libtool (nobody will confirm this),
17520         and hard to carry around.
17521         * gst/autoplug/Makefile.am:
17522         * gst/base/Makefile.am:
17523         * gst/elements/Makefile.am:
17524         * gst/indexers/Makefile.am:
17525         * gst/schedulers/Makefile.am:
17526         * libs/gst/bytestream/Makefile.am:
17527         * libs/gst/control/Makefile.am:
17528         * libs/gst/dataprotocol/Makefile.am:
17529         * libs/gst/getbits/Makefile.am:
17530
17531 2005-04-21  Wim Taymans  <wim@fluendo.com>
17532
17533         * docs/design/draft-push-pull.txt:
17534         * docs/design/part-MT-refcounting.txt:
17535         * docs/design/part-TODO.txt:
17536         * docs/design/part-caps.txt:
17537         * docs/design/part-events.txt:
17538         * docs/design/part-gstbus.txt:
17539         * docs/design/part-gstpipeline.txt:
17540         * docs/design/part-messages.txt:
17541         * docs/design/part-push-pull.txt:
17542         * docs/design/part-query.txt:
17543         Some more docs.
17544
17545 2005-04-21  Wim Taymans  <wim@fluendo.com>
17546
17547         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17548         (gst_message_new), (gst_message_new_error),
17549         (gst_message_new_warning), (gst_message_new_tag),
17550         (gst_message_new_state_changed), (gst_message_new_application),
17551         (gst_message_get_structure):
17552         * gst/gstmessage.h:
17553         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17554         (gst_structure_copy_conditional):
17555         Use parent refcount in GstMessage to ensure GstStructure
17556         consistency.
17557         Cleaned up headers a bit.
17558         
17559
17560 2005-04-20  Wim Taymans  <wim@fluendo.com>
17561
17562         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17563         (gst_basesink_pad_getcaps), (gst_basesink_init),
17564         (gst_basesink_chain_unlocked):
17565         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17566         (gst_type_find_helper):
17567         * gst/elements/gsttypefindelement.c:
17568         (gst_type_find_element_have_type), (gst_type_find_element_init),
17569         (stop_typefinding), (gst_type_find_element_handle_event),
17570         (find_suggest), (gst_type_find_element_chain),
17571         (gst_type_find_element_checkgetrange),
17572         (gst_type_find_element_getrange), (do_typefind),
17573         (gst_type_find_element_activate):
17574         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17575         (gst_buffer_default_free), (gst_buffer_default_copy),
17576         (gst_buffer_set_caps):
17577         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17578         (gst_caps_replace):
17579         * gst/gstmessage.c: (gst_message_new),
17580         (gst_message_new_state_changed):
17581         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17582         (gst_pad_set_checkgetrange_function),
17583         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17584         (gst_pad_set_caps), (gst_pad_check_pull_range),
17585         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17586         * gst/gstpad.h:
17587         * gst/gsttypefind.c: (gst_type_find_register):
17588         Make gst_caps_replace() work like other _replace() functions.
17589         Use _caps_replace() where possible.
17590         Make sure _message_new() initialises its field.
17591         Add gst_static_pad_template_get_caps()
17592
17593
17594 2005-04-18  Andy Wingo  <wingo@pobox.com>
17595
17596         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17597         on the peer, not the pad. I think that was a typo. Pass an extra
17598         arg to see if random access is possible. Activate the pads as
17599         PULL_RANGE if possible.
17600
17601         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17602
17603         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17604         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17605         to PROP_....
17606
17607 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17608
17609         * docs/faq/using.xml:
17610           Add note on gstreamer-properties (#154996).
17611
17612 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17613
17614         * docs/random/bbb/optional-properties:
17615           Some analysis on optional properties.
17616
17617 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17618
17619         * docs/gst/tmpl/gstelementfactory.sgml:
17620         * gst/gstelement.h:
17621         * gst/gstelementfactory.c: (gst_element_factory_init),
17622         (gst_element_factory_cleanup), (gst_element_register),
17623         (__gst_element_factory_add_static_pad_template),
17624         (gst_element_factory_get_static_pad_templates),
17625         (gst_element_factory_can_src_caps),
17626         (gst_element_factory_can_sink_caps):
17627         * gst/registries/Makefile.am:
17628         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17629         (gst_xml_registry_class_init), (gst_xml_registry_init),
17630         (gst_xml_registry_new), (gst_xml_registry_set_property),
17631         (gst_xml_registry_get_property), (get_time), (make_dir),
17632         (gst_xml_registry_get_perms_func),
17633         (plugin_times_older_than_recurse), (plugin_times_older_than),
17634         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17635         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17636         (add_to_char_array), (read_string), (read_uint), (read_enum),
17637         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17638         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17639         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17640         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17641         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17642         (gst_xml_registry_rebuild):
17643         * gst/registries/gstlibxmlregistry.h:
17644         * tools/gst-compprep.c: (main):
17645         * tools/gst-inspect.c: (print_pad_templates_info):
17646         * tools/gst-xmlinspect.c: (print_element_info):
17647           Use libxml2 for registry parsing, use staticpadtemplates in
17648           elementfactories. Makes gst_init() +/- 10x faster.
17649
17650 2005-04-12  Wim Taymans  <wim@fluendo.com>
17651
17652         * gst/base/Makefile.am:
17653         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17654         (gst_basesink_pad_getcaps), (gst_basesink_init),
17655         (gst_basesink_event), (gst_basesink_change_state):
17656         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17657         (gst_basesrc_init), (gst_basesrc_query),
17658         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17659         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17660         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17661         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17662         (gst_basesrc_stop), (gst_basesrc_activate),
17663         (gst_basesrc_change_state):
17664         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17665         (helper_find_suggest), (gst_type_find_helper):
17666         * gst/base/gsttypefindhelper.h:
17667         * gst/elements/Makefile.am:
17668         * gst/elements/gstelements.c:
17669         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17670         (gst_fakesink_get_times), (gst_fakesink_event),
17671         (gst_fakesink_preroll), (gst_fakesink_render):
17672         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17673         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17674         (gst_fakesrc_get_property), (gst_fakesrc_create),
17675         (gst_fakesrc_start), (gst_fakesrc_stop):
17676         * gst/elements/gstfakesrc.h:
17677         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17678         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17679         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17680         (gst_filesrc_create_read), (gst_filesrc_create),
17681         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17682         (gst_filesrc_start):
17683         * gst/elements/gsttypefindelement.c:
17684         (gst_type_find_element_have_type), (gst_type_find_element_init),
17685         (start_typefinding), (stop_typefinding), (push_buffer_store),
17686         (gst_type_find_element_handle_event),
17687         (gst_type_find_element_chain),
17688         (gst_type_find_element_checkgetrange),
17689         (gst_type_find_element_getrange), (do_typefind),
17690         (gst_type_find_element_activate),
17691         (gst_type_find_element_change_state):
17692         * gst/elements/gsttypefindelement.h:
17693         * gst/gstpipeline.c: (pipeline_bus_handler):
17694         Added typefind helper.
17695         Small preroll fix in the base sink.
17696         Disable typefind code in basesrc.
17697         Crude port of typefindelement.
17698         Fakesrc cleanups.
17699
17700
17701 2005-04-11  Wim Taymans  <wim@fluendo.com>
17702
17703         * check/gst/gstbus.c: (gstbus_suite):
17704         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17705         * check/gstcheck.h:
17706           Fix up the timeout so that the test does not fail.
17707
17708 2005-04-06  Wim Taymans  <wim@fluendo.com>
17709
17710         * gst/base/README:
17711         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17712         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17713         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17714         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17715         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17716         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17717         (gst_basesrc_stop), (gst_basesrc_activate),
17718         (gst_basesrc_change_state), (basesrc_find_peek),
17719         (basesrc_find_suggest), (gst_basesrc_type_find):
17720         * gst/base/gstbasesrc.h:
17721         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17722         (gst_filesrc_class_init), (gst_filesrc_init),
17723         (gst_filesrc_finalize), (gst_filesrc_set_location),
17724         (gst_filesrc_set_property), (gst_filesrc_get_property),
17725         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17726         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17727         (gst_filesrc_create_read), (gst_filesrc_create),
17728         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17729         * gst/elements/gstfilesrc.h:
17730         * gst/gstelement.c: (gst_element_get_state_func),
17731         (gst_element_lost_state), (gst_element_pads_activate):
17732         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17733         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17734         (gst_pad_pull_range):
17735         * gst/gstpad.h:
17736         More work on the generic source base class, implement seeking,
17737         query.
17738         Make filesrc extend the base source class.
17739         Added gst_pad_set_checkgetrange_function to GstPad.
17740
17741 2005-04-06  Andy Wingo  <wingo@pobox.com>
17742
17743         * pkgconfig/gstreamer-base.pc.in:
17744         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17745
17746         * pkgconfig/Makefile.am:
17747         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17748
17749 2005-04-04  Wim Taymans  <wim@fluendo.com>
17750
17751         * gst/base/Makefile.am:
17752         * gst/base/README:
17753         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17754         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17755         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17756         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17757         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17758         (gst_basesrc_base_init), (gst_basesrc_class_init),
17759         (gst_basesrc_init), (gst_basesrc_get_formats),
17760         (gst_basesrc_get_query_types), (gst_basesrc_query),
17761         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17762         (gst_basesrc_set_property), (gst_basesrc_get_property),
17763         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17764         (gst_basesrc_loop), (gst_basesrc_activate),
17765         (gst_basesrc_change_state):
17766         * gst/base/gstbasesrc.h:
17767         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17768         (gst_fakesrc_class_init), (gst_fakesrc_init),
17769         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17770         (gst_fakesrc_get_property), (gst_fakesrc_create):
17771         * gst/elements/gstfakesrc.h:
17772         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17773         (gst_filesrc_open_file), (gst_filesrc_loop),
17774         (gst_filesrc_activate), (filesrc_find_peek),
17775         (gst_filesrc_type_find):
17776         Made base source class, make fakesrc extend it.
17777         Add comments to basesink class.
17778         Some filesrc cleanup.
17779
17780 2005-03-31  David Schleef  <ds@schleef.org>
17781
17782         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17783         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17784         expected to link against libgstreamer.
17785         * gst/base/Makefile.am: link against libgstreamer
17786         * gst/elements/Makefile.am: same
17787
17788 2005-03-31  Andy Wingo  <wingo@pobox.com>
17789
17790         * tests/instantiate/Makefile.am:
17791         * tests/instantiate/caps.c: Add test to test speed of caps copy
17792         and free.
17793
17794         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17795         GMemChunk to be fair.
17796
17797         * gst/gsttrashstack.h: Remove warning about using the fallback
17798         trash stack implementation, it's still faster than malloc.
17799
17800 2005-03-30  Andy Wingo  <wingo@pobox.com>
17801
17802         * tests/complexity.c: Add a copyright.
17803
17804 2005-03-31  Wim Taymans  <wim@fluendo.com>
17805
17806         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17807         (gst_base_transform_class_init), (gst_base_transform_init),
17808         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17809         (gst_base_transform_get_property),
17810         (gst_base_transform_sink_activate),
17811         (gst_base_transform_src_activate),
17812         (gst_base_transform_change_state):
17813         * gst/base/gstbasetransform.h:
17814         * gst/elements/gstidentity.c: (gst_identity_class_init),
17815         (gst_identity_event), (gst_identity_check_perfect),
17816         (gst_identity_transform), (gst_identity_start),
17817         (gst_identity_stop):
17818         Added start/stop methods to transform base class so subclasses 
17819         don't need to deal with state changes even.
17820
17821 2005-03-31  Wim Taymans  <wim@fluendo.com>
17822
17823         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17824         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17825         * gst/gstevent.h:
17826         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17827         (gst_pad_pull_range):
17828         Added rate to the discont event to prepare for variable speed
17829         and reverse playback.
17830
17831 2005-03-29  David Schleef  <ds@schleef.org>
17832
17833         * configure.ac:
17834         * testsuite/trigger/Makefile.am:
17835         * testsuite/trigger/trigger.c: A little example program to show
17836         how trigger-based elements can work.
17837
17838 2005-03-29  Wim Taymans  <wim@fluendo.com>
17839
17840         * gst/base/Makefile.am:
17841         * gst/base/README:
17842         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17843         (gst_basesink_base_init), (gst_basesink_class_init),
17844         (gst_basesink_pad_getcaps), (gst_basesink_init),
17845         (gst_basesink_activate), (gst_basesink_change_state):
17846         * gst/base/gstbasesink.h:
17847         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17848         (gst_base_transform_base_init), (gst_base_transform_finalize),
17849         (gst_base_transform_class_init), (gst_base_transform_init),
17850         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17851         (gst_base_transform_event), (gst_base_transform_getrange),
17852         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17853         (gst_base_transform_set_property),
17854         (gst_base_transform_get_property),
17855         (gst_base_transform_sink_activate),
17856         (gst_base_transform_src_activate),
17857         (gst_base_transform_change_state):
17858         * gst/base/gstbasetransform.h:
17859         * gst/elements/gstidentity.c: (gst_identity_finalize),
17860         (gst_identity_class_init), (gst_identity_init),
17861         (gst_identity_event), (gst_identity_check_perfect),
17862         (gst_identity_transform), (gst_identity_set_property),
17863         (gst_identity_get_property), (gst_identity_change_state):
17864         * gst/elements/gstidentity.h:
17865         * gst/gstelement.c: (gst_element_get_state_func),
17866         (gst_element_lost_state), (gst_element_pads_activate):
17867         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17868         (gst_pad_check_pull_range), (gst_pad_pull_range):
17869         * gst/gstpad.h:
17870         Simplify pad activation.
17871         Added function to check if pull_range can be performed.
17872         Error out when pulling inactive or flushing pads.
17873         Removed const from refcounted types as it does not make sense.
17874         Simplify pad templates in basesink
17875         Added base class for simple 1-to-1 transforms.
17876         Make identity subclass the base transform.
17877
17878 2005-03-29  Andy Wingo  <wingo@pobox.com>
17879
17880         * docs/libs/gstreamer-libs-overrides.txt: 
17881         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17882         really don't understand what's going on, but like whatever. I want
17883         green buildbot!
17884
17885         * docs/gst/Makefile.am:
17886         * docs/libs/Makefile.am: Dist the overrides files.
17887
17888         * check/Makefile.am (clean-local): Remove .libs directories.
17889
17890         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17891         elements to EXTRA_DIST, so po/ files are happy.
17892
17893         * po/POTFILES.in: Er, remove it here.
17894
17895         * po/POTFILES: Remove gstspider.c.
17896
17897         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17898
17899         * docs/libs/gstreamer-libs-docs.sgml: 
17900         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17901         bytestream.
17902
17903         * tests/complexity.c (main): Set the length of the preroll queue
17904         on the sinks to prevent a lockup.
17905
17906         * libs/gst/dataprotocol/Makefile.am: 
17907         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17908         the same as the one in check/gst-libs/gdp.c.
17909
17910         * po/, docs/gst/: Commit automatic changes to docs and po files.
17911
17912         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17913         the versioned libgstbase.
17914
17915         * check/Makefile.am: Depend on an unversioned gst-register, seems
17916         to make autoconf happier.
17917
17918         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17919
17920 2005-03-28  Wim Taymans  <wim@fluendo.com>
17921
17922         * configure.ac:
17923         * docs/design/part-gstelement.txt:
17924         * docs/design/part-negotiation.txt:
17925         * docs/design/part-preroll.txt:
17926         * docs/design/part-scheduling.txt:
17927         * docs/design/part-states.txt:
17928         * gst/Makefile.am:
17929         * gst/base/Makefile.am:
17930         * gst/base/README:
17931         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17932         (gst_basesink_base_init), (gst_basesink_class_init),
17933         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17934         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17935         (gst_basesink_set_pad_functions),
17936         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17937         (gst_basesink_set_property), (gst_basesink_get_property),
17938         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17939         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17940         (gst_basesink_preroll_queue_push),
17941         (gst_basesink_preroll_queue_empty),
17942         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17943         (gst_basesink_event), (gst_basesink_get_times),
17944         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17945         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17946         (gst_basesink_loop), (gst_basesink_activate),
17947         (gst_basesink_change_state):
17948         * gst/base/gstbasesink.h:
17949         * gst/elements/Makefile.am:
17950         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17951         (gst_fakesink_class_init), (gst_fakesink_init),
17952         (gst_fakesink_set_property), (gst_fakesink_get_property),
17953         (gst_fakesink_get_times), (gst_fakesink_event),
17954         (gst_fakesink_preroll), (gst_fakesink_render),
17955         (gst_fakesink_change_state):
17956         * gst/elements/gstfakesink.h:
17957         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17958         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17959         * gst/gstelement.c: (gst_element_add_pad),
17960         (gst_element_get_state_func), (gst_element_abort_state),
17961         (gst_element_commit_state), (gst_element_lost_state),
17962         (gst_element_set_state), (gst_element_pads_activate):
17963         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17964         * gst/gstpipeline.c: (gst_pipeline_send_event),
17965         (gst_pipeline_change_state):
17966         Added state change code.
17967         Added/updated docs.
17968         Added sink base class, make fakesink extend the base class.
17969         Small cleanups in GstPipeline.
17970
17971 2005-03-26  David Schleef  <ds@schleef.org>
17972
17973         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17974         is broken and should be implemented in a different library.
17975         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17976         * gst/gst.h: remove gstcpu.h
17977         * gst/gstcpu.c: remove
17978         * gst/gstcpu.h: remove
17979         * gst/Makefile.am.future: Remove this file.  It's ancient.
17980
17981 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17982
17983         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17984         (gst_bin_send_event):
17985           Add default event/set_manager handlers. The set_manager handler
17986           takes care that the manager is distributed over kids that were
17987           already in the bin before the manager was set. The event handler
17988           is a utility virtual function that sends the event over all sinks,
17989           so that gst_element_send_event (bin, event); has the expected
17990           behaviour.
17991         * gst/gstpad.c: (gst_pad_event_default):
17992           Re-install default event handling for discontinuities, so that
17993           seeking works without requiring hacks in applications or extra
17994           code in sinks.
17995         * gst/gstpipeline.c: (gst_pipeline_class_init),
17996         (gst_pipeline_send_event):
17997           Half hack, half utility: set a pipeline to PAUSED for seek events,
17998           since that is the only way we can guarantee a/v sync. Means that
17999           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18000           and it "just works".
18001
18002 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18003
18004         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18005           Lock/unlock mismatch.
18006
18007 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18008
18009         * docs/faq/gst-uninstalled:
18010           add gst-plugins-base
18011         * docs/gst/Makefile.am:
18012           don't error out until docs are fixed
18013         * docs/gst/gstreamer.types:
18014           remove thread
18015
18016 2005-03-22  Wim Taymans  <wim@fluendo.com>
18017
18018         * check/Makefile.am:
18019         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18020         * gst/gststructure.c: (gst_structure_set_valist),
18021         (gst_structure_copy_conditional):
18022         Activated more tests.
18023         Added message test.
18024         Added G_TYPE_POINTER to GstStructure.
18025         
18026
18027 2005-03-22  Wim Taymans  <wim@fluendo.com>
18028
18029         * docs/design/part-TODO.txt:
18030         * docs/design/part-events.txt:
18031         * docs/design/part-gstbin.txt:
18032         * docs/design/part-gstbus.txt:
18033         * docs/design/part-gstpipeline.txt:
18034         * docs/design/part-messages.txt:
18035         * gst/gstbus.c:
18036         * gst/gstmessage.c:
18037         Docs updates
18038
18039 2005-03-21  Wim Taymans  <wim@fluendo.com>
18040
18041         * gst/gstbus.c: (gst_bus_post):
18042         Fix copy-and-paste error.
18043
18044 2005-03-21  Wim Taymans  <wim@fluendo.com>
18045
18046         * check/Makefile.am:
18047         * gst/Makefile.am:
18048         * gst/elements/Makefile.am:
18049         * gst/elements/gstelements.c:
18050         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18051         (gst_fakesink_event), (gst_fakesink_chain):
18052         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18053         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18054         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18055         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18056         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18057         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18058         (gst_fakesrc_loop), (gst_fakesrc_activate),
18059         (gst_fakesrc_change_state):
18060         * gst/elements/gstfakesrc.h:
18061         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18062         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18063         (gst_filesrc_open_file), (gst_filesrc_loop),
18064         (gst_filesrc_activate), (gst_filesrc_change_state),
18065         (filesrc_find_peek), (filesrc_find_suggest),
18066         (gst_filesrc_type_find):
18067         * gst/elements/gstidentity.c: (gst_identity_finalize),
18068         (gst_identity_class_init), (gst_identity_init),
18069         (gst_identity_proxy_getcaps), (identity_queue_push),
18070         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18071         (gst_identity_getrange), (gst_identity_chain),
18072         (gst_identity_sink_loop), (gst_identity_src_loop),
18073         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18074         (gst_identity_set_property), (gst_identity_get_property),
18075         (gst_identity_change_state):
18076         * gst/elements/gstidentity.h:
18077         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18078         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18079         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18080         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18081         (gst_tee_sink_activate):
18082         * gst/elements/gsttee.h:
18083         * gst/gst.c: (gst_register_core_elements), (init_post):
18084         * gst/gst.h:
18085         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18086         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18087         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18088         (gst_bin_change_state):
18089         * gst/gstbin.h:
18090         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18091         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18092         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18093         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18094         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18095         (bus_watch_callback), (bus_watch_destroy),
18096         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18097         (poll_timeout), (gst_bus_poll):
18098         * gst/gstbus.h:
18099         * gst/gstcaps.h:
18100         * gst/gstdata.h:
18101         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18102         (gst_element_post_message), (gst_element_message_full),
18103         (gst_element_get_state_func), (gst_element_get_state),
18104         (gst_element_abort_state), (gst_element_commit_state),
18105         (gst_element_lost_state), (gst_element_set_state),
18106         (gst_element_pads_activate), (gst_element_change_state),
18107         (gst_element_dispose), (gst_element_set_manager_func),
18108         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18109         (gst_element_set_manager), (gst_element_get_manager),
18110         (gst_element_set_bus), (gst_element_get_bus),
18111         (gst_element_set_scheduler), (gst_element_get_scheduler):
18112         * gst/gstelement.h:
18113         * gst/gstevent.c: (gst_event_new_segment_seek),
18114         (gst_event_new_flush):
18115         * gst/gstevent.h:
18116         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18117         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18118         (gst_message_new_eos), (gst_message_new_error),
18119         (gst_message_new_warning), (gst_message_new_tag),
18120         (gst_message_new_state_changed), (gst_message_new_application),
18121         (gst_message_get_structure), (gst_message_parse_tag),
18122         (gst_message_parse_state_changed), (gst_message_parse_error),
18123         (gst_message_parse_warning):
18124         * gst/gstmessage.h:
18125         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18126         (gst_real_pad_set_property), (gst_pad_set_active),
18127         (gst_pad_is_active), (gst_pad_set_blocked_async),
18128         (gst_pad_set_blocked), (gst_pad_is_blocked),
18129         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18130         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18131         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18132         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18133         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18134         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18135         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18136         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18137         (gst_pad_set_caps), (gst_pad_configure_sink),
18138         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18139         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18140         (gst_real_pad_dispose), (gst_real_pad_finalize),
18141         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18142         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18143         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18144         * gst/gstpad.h:
18145         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18146         (pipeline_bus_handler), (gst_pipeline_change_state),
18147         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18148         * gst/gstpipeline.h:
18149         * gst/gstprobe.h:
18150         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18151         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18152         (gst_queue_link_src), (gst_queue_bufferalloc),
18153         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18154         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18155         (gst_queue_loop), (gst_queue_handle_src_event),
18156         (gst_queue_handle_src_query), (gst_queue_src_activate),
18157         (gst_queue_change_state):
18158         * gst/gstqueue.h:
18159         * gst/gstscheduler.c: (gst_scheduler_init),
18160         (gst_scheduler_dispose), (gst_scheduler_create_task),
18161         (gst_scheduler_factory_create):
18162         * gst/gstscheduler.h:
18163         * gst/gststructure.c: (gst_structure_get_type),
18164         (gst_structure_copy_conditional):
18165         * gst/gststructure.h:
18166         * gst/gsttaginterface.h:
18167         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18168         (gst_task_init), (gst_task_dispose), (gst_task_create),
18169         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18170         (gst_task_pause):
18171         * gst/gsttask.h:
18172         * gst/gstthread.c:
18173         * gst/gstthread.h:
18174         * gst/gsttypes.h:
18175         * gst/schedulers/Makefile.am:
18176         * gst/schedulers/cothreads_compat.h:
18177         * gst/schedulers/entryscheduler.c:
18178         * gst/schedulers/faircothreads.c:
18179         * gst/schedulers/faircothreads.h:
18180         * gst/schedulers/fairscheduler.c:
18181         * gst/schedulers/gstbasicscheduler.c:
18182         * gst/schedulers/gstoptimalscheduler.c:
18183         * gst/schedulers/gthread-cothreads.h:
18184         * gst/schedulers/threadscheduler.c:
18185         (gst_thread_scheduler_task_get_type),
18186         (gst_thread_scheduler_task_class_init),
18187         (gst_thread_scheduler_task_init),
18188         (gst_thread_scheduler_task_start),
18189         (gst_thread_scheduler_task_stop),
18190         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18191         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18192         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18193         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18194         (plugin_init):
18195         * libs/gst/Makefile.am:
18196         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18197         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18198         (gst_file_pad_parent_set):
18199         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18200         (gst_dp_event_from_packet):
18201         * tests/complexity.c: (main):
18202         * tests/mass_elements.c: (main):
18203         * testsuite/states/locked.c: (message_received), (main):
18204         * testsuite/states/parent.c: (main):
18205         * tools/gst-inspect.c: (print_element_flag_info),
18206         (print_implementation_info), (print_pad_info):
18207         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18208         (main):
18209         * tools/gst-md5sum.c: (event_loop), (main):
18210         * tools/gst-typefind.c: (main):
18211         * tools/gst-xmlinspect.c: (print_element_info):
18212         Next big merge.
18213         Added GstBus for mainloop integration.
18214         Added GstMessage for sending notifications on the bus.
18215         Added GstTask as an abstraction for pipeline entry points.
18216         Removed GstThread.
18217         Removed Schedulers.
18218         Simplified GstQueue for multithreaded core.
18219         Made _link threadsafe, removed old capsnego.
18220         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18221         Added pad blocking functions.
18222         Reworked scheduling functions in GstPad to prepare for
18223         scheduling updates soon.
18224         Moved events out of data stream.
18225         Simplified GstEvent types.
18226         Added return values to push/pull.
18227         Removed clocking from GstElement.
18228         Added prototypes for state change function for next merge.
18229         Removed iterate from bins and state change management.
18230         Fixed some elements, disabled others for now.
18231         Fixed -inspect and -launch.
18232         Added check for GstBus.
18233
18234 2005-03-10  Wim Taymans  <wim@fluendo.com>
18235
18236         * docs/design/part-MT-refcounting.txt:
18237         * docs/design/part-clocks.txt:
18238         * docs/design/part-gstelement.txt:
18239         * docs/design/part-gstobject.txt:
18240         * docs/design/part-standards.txt:
18241         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18242         (gst_bin_remove_func), (gst_bin_remove):
18243         * gst/gstbin.h:
18244         * gst/gstbuffer.c:
18245         * gst/gstcaps.h:
18246         * testsuite/clock/clock1.c: (main):
18247         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18248         (main):
18249         * testsuite/dlopen/loadgst.c: (do_test):
18250         * testsuite/refcounting/bin.c: (add_remove_test1),
18251         (add_remove_test2), (main):
18252         * testsuite/refcounting/element.c: (main):
18253         * testsuite/refcounting/element_pad.c: (main):
18254         * testsuite/refcounting/pad.c: (main):
18255         * tools/gst-launch.c: (sigint_handler_sighandler):
18256         * tools/gst-typefind.c: (main):
18257         Doc updates.
18258         Added doc about clock.
18259         removed gst_bin_iterate_recurse_up(), marked methods
18260         for removal.
18261         Fix more testsuites.
18262
18263 2005-03-09  Wim Taymans  <wim@fluendo.com>
18264
18265         * gst/gstpad.c: (gst_pad_get_direction),
18266         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18267         (gst_pad_collect_valist):
18268         * testsuite/bins/interface.c: (main):
18269         * testsuite/caps/audioscale.c: (test_caps):
18270         * testsuite/caps/caps.c: (test1), (test2), (test3):
18271         * testsuite/caps/deserialize.c: (main):
18272         * testsuite/caps/enumcaps.c: (main):
18273         * testsuite/caps/filtercaps.c: (main):
18274         * testsuite/caps/intersect2.c: (main):
18275         * testsuite/caps/random.c: (main):
18276         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18277         * testsuite/caps/sets.c: (check_caps):
18278         * testsuite/caps/simplify.c: (check_caps), (main):
18279         * testsuite/caps/subtract.c: (check_caps):
18280         Fix _pad_get_direction wrt ghostpads.
18281         Fix caps testsuite.
18282
18283 2005-03-09  Wim Taymans  <wim@fluendo.com>
18284
18285         * check/Makefile.am:
18286         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18287         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18288         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18290         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18291         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18292         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18293         (bin_element_is_sink), (gst_bin_iterate_sinks),
18294         (gst_bin_iterate_all_by_interface):
18295         * gst/gstbin.h:
18296         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18297         (gst_element_change_state), (gst_element_dispose),
18298         (gst_element_finalize), (gst_element_set_loop_function):
18299         * gst/gstelement.h:
18300         * gst/gstiterator.c: (find_custom_fold_func):
18301         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18302         (gst_pad_collectv), (gst_pad_collect_valist),
18303         (gst_pad_template_new):
18304         * gst/gstpipeline.c: (gst_pipeline_class_init),
18305         (gst_pipeline_dispose), (gst_pipeline_set_property),
18306         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18307         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18308         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18309         * gst/gstutils.h:
18310         * gst/schedulers/entryscheduler.c:
18311         * gst/schedulers/gstbasicscheduler.c:
18312         (gst_basic_scheduler_cothreaded_chain),
18313         (gst_basic_scheduler_chain_add_element):
18314         * testsuite/bins/interface.c: (main):
18315         Added GstBin test.
18316         Added GstSystemClock test.
18317         Implemented clock distribution code in GstBin.
18318         Implemented iterate sinks method for future use.
18319         Rearranged gstelement.h
18320         Fix GstIterator comparison bug.
18321         Moved some code to GstPipeline, mostly clocking related.
18322
18323 2005-03-09  Wim Taymans  <wim@fluendo.com>
18324
18325         * configure.ac:
18326         * gst/gst_private.h:
18327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18328         (gst_bin_remove_func), (gst_bin_remove),
18329         (gst_bin_get_by_name_recurse_up):
18330         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18331         (gst_clock_id_compare_func), (gst_clock_id_wait),
18332         (gst_clock_id_wait_async), (gst_clock_init),
18333         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18334         * gst/gstelement.h:
18335         * gst/gstinfo.c: (_gst_debug_init):
18336         * gst/gstobject.h:
18337         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18338         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18339         * gst/gstpad.h:
18340         Bump version number, we're now 0.9.0
18341         Add future debugging category.
18342         Fix NULL _unref() in _get_by_name_recurse_up
18343         Rearrange gstpad.h.
18344         Update some docs.
18345
18346 2005-03-08  Wim Taymans  <wim@fluendo.com>
18347
18348         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18349         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18350         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18351         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18352         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18353         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18354         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18355         * gst/elements/gstidentity.c: (gst_identity_class_init):
18356         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18357         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18358         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18359         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18360         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18361         (gst_tee_link):
18362         * gst/gstelement.c: (gst_element_class_init),
18363         (gst_element_base_class_init), (gst_element_init),
18364         (gst_element_get_random_pad), (gst_element_wait_state_change),
18365         (gst_element_change_state), (gst_element_dispose),
18366         (gst_element_finalize), (gst_element_set_loop_function):
18367         * gst/gstelement.h:
18368         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18369         * gst/gstthread.c: (gst_thread_class_init),
18370         (gst_thread_release_children_locks), (gst_thread_change_state):
18371         * gst/schedulers/gstbasicscheduler.c:
18372         (gst_basic_scheduler_loopfunc_wrapper),
18373         (gst_basic_scheduler_chain_wrapper),
18374         (gst_basic_scheduler_src_wrapper),
18375         (gst_basic_scheduler_remove_element):
18376         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18377         Remove threadsafe properties. Fix elements because GObject
18378         complains when installing a property before declaring a
18379         set/get_property handler.
18380         Rearrange gstelement.h file, use STATE macros for state locks.
18381         Free mutexes in the finalize method instead of dispose.
18382
18383 2005-03-08  Wim Taymans  <wim@fluendo.com>
18384
18385         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18386         * gst/gstthread.c: (gst_thread_release_children_locks):
18387         Added parentage check.
18388         Fix build og GstThread again.
18389
18390 2005-03-08  Wim Taymans  <wim@fluendo.com>
18391
18392         * docs/design/part-MT-refcounting.txt:
18393         * docs/design/part-conventions.txt:
18394         * docs/design/part-gstobject.txt:
18395         * docs/design/part-relations.txt:
18396         * docs/design/part-standards.txt:
18397         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18398         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18399         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18400         (gst_bin_iterate_all_by_interface):
18401         * gst/gstbuffer.h:
18402         * gst/gstclock.h:
18403         * gst/gstelement.c: (gst_element_class_init),
18404         (gst_element_change_state), (gst_element_set_loop_function):
18405         * gst/gstelement.h:
18406         * gst/gstiterator.c:
18407         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18408         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18409         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18410         (gst_object_set_parent), (gst_object_unparent),
18411         (gst_object_check_uniqueness):
18412         * gst/gstobject.h:
18413         Docs updates, clean up some headers.
18414
18415 2005-03-07  Wim Taymans  <wim@fluendo.com>
18416
18417         * check/.cvsignore:
18418         * check/Makefile.am:
18419         * check/gst-libs/.cvsignore:
18420         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18421         * check/gst/.cvsignore:
18422         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18423         (START_TEST), (gstbus_suite), (main):
18424         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18425         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18426         (gst_data_suite), (main):
18427         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18428         (add_fold_func), (gstiterator_suite), (main):
18429         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18430         (thread_name_object), (thread_name_object_default),
18431         (gst_object_name_compare), (gst_object_suite), (main):
18432         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18433         (gst_pad_suite), (main):
18434         * check/gstcheck.c: (gst_check_log_message_func),
18435         (gst_check_log_critical_func), (gst_check_init):
18436         * check/gstcheck.h:
18437         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18438         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18439         Added checks.
18440
18441 2005-03-07  Wim Taymans  <wim@fluendo.com>
18442
18443         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18444         (gst_list_iterator_next), (gst_list_iterator_resync),
18445         (gst_list_iterator_free), (gst_iterator_new_list),
18446         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18447         (gst_iterator_free), (gst_iterator_push), (filter_next),
18448         (filter_resync), (filter_uninit), (filter_free),
18449         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18450         (gst_iterator_foreach), (find_custom_fold_func),
18451         (gst_iterator_find_custom):
18452         * gst/gstiterator.h:
18453         Added missing files.
18454
18455 2005-03-07  Wim Taymans  <wim@fluendo.com>
18456
18457         * Makefile.am:
18458         * configure.ac:
18459         * docs/design/part-MT-refcounting.txt:
18460         * docs/design/part-conventions.txt:
18461         * docs/design/part-gstobject.txt:
18462         * docs/design/part-relations.txt:
18463         * examples/mixer/mixer.c: (main):
18464         * examples/thread/thread.c: (eos), (main):
18465         * gst/Makefile.am:
18466         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18467         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18468         (gst_spider_plug_from_srcpad):
18469         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18470         (gst_spider_identity_change_state),
18471         (gst_spider_identity_sink_loop_type_finding):
18472         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18473         * gst/elements/gstidentity.c: (gst_identity_init):
18474         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18475         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18476         * gst/elements/gsttypefindelement.c: (free_entry):
18477         * gst/gst.c:
18478         * gst/gst.h:
18479         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18480         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18481         (gst_bin_set_index), (gst_bin_set_element_sched),
18482         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18483         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18484         (gst_bin_iterate_elements), (iterate_child_recurse),
18485         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18486         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18487         (compare_interface), (gst_bin_get_by_interface),
18488         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18489         * gst/gstbin.h:
18490         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18491         (gst_buffer_default_free), (gst_buffer_default_copy),
18492         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18493         (gst_buffer_create_sub):
18494         * gst/gstbuffer.h:
18495         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18496         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18497         (gst_caps_unref), (gst_static_caps_get),
18498         (gst_caps_remove_and_get_structure), (gst_caps_append),
18499         (gst_caps_append_structure), (gst_caps_remove_structure),
18500         (gst_caps_copy_nth), (gst_caps_set_simple),
18501         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18502         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18503         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18504         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18505         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18506         (gst_caps_structure_figure_out_union),
18507         (gst_caps_switch_structures), (gst_caps_do_simplify),
18508         (gst_caps_replace), (gst_caps_from_string),
18509         (gst_caps_copy_conditional):
18510         * gst/gstcaps.h:
18511         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18512         (_gst_clock_id_free), (gst_clock_id_unref),
18513         (gst_clock_id_compare_func), (gst_clock_id_wait),
18514         (gst_clock_id_wait_async), (gst_clock_class_init),
18515         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18516         (gst_clock_get_time), (gst_clock_set_time_adjust),
18517         (gst_clock_set_property), (gst_clock_get_property):
18518         * gst/gstclock.h:
18519         * gst/gstcompat.h:
18520         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18521         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18522         * gst/gstdata.h:
18523         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18524         (gst_element_requires_clock), (gst_element_provides_clock),
18525         (gst_element_set_clock), (gst_element_clock_wait),
18526         (gst_element_wait), (gst_element_set_time_delay),
18527         (gst_element_is_indexable), (gst_element_add_pad),
18528         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18529         (pad_compare_name), (gst_element_get_static_pad),
18530         (gst_element_request_pad), (gst_element_get_request_pad),
18531         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18532         (gst_element_class_get_pad_template_list),
18533         (gst_element_class_get_pad_template), (gst_element_error_func),
18534         (gst_element_get_random_pad), (gst_element_get_event_masks),
18535         (gst_element_send_event), (gst_element_seek),
18536         (gst_element_get_query_types), (gst_element_query),
18537         (gst_element_get_formats), (gst_element_convert),
18538         (gst_element_is_locked_state), (gst_element_set_locked_state),
18539         (gst_element_sync_state_with_parent), (gst_element_change_state),
18540         (gst_element_finalize), (gst_element_yield),
18541         (gst_element_interrupt), (gst_element_set_scheduler),
18542         (gst_element_get_scheduler), (gst_element_set_loop_function):
18543         * gst/gstelement.h:
18544         * gst/gstevent.h:
18545         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18546         (gst_format_get_by_nick), (gst_format_get_details),
18547         (gst_format_iterate_definitions):
18548         * gst/gstformat.h:
18549         * gst/gstindex.c: (gst_index_gtype_resolver):
18550         * gst/gstinfo.c:
18551         * gst/gstinfo.h:
18552         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18553         (gst_mem_chunk_free):
18554         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18555         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18556         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18557         (gst_object_dispatch_properties_changed),
18558         (gst_object_set_name_default), (gst_object_set_name),
18559         (gst_object_get_name), (gst_object_set_name_prefix),
18560         (gst_object_get_name_prefix), (gst_object_set_parent),
18561         (gst_object_get_parent), (gst_object_unparent),
18562         (gst_object_check_uniqueness), (gst_object_save_thyself),
18563         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18564         (gst_object_set_property), (gst_object_get_property),
18565         (gst_object_get_path_string):
18566         * gst/gstobject.h:
18567         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18568         (gst_real_pad_init), (gst_real_pad_get_property),
18569         (gst_pad_custom_new), (gst_pad_get_direction),
18570         (gst_pad_set_active), (gst_pad_is_active),
18571         (gst_pad_set_event_function), (gst_pad_is_linked),
18572         (gst_pad_link_free), (gst_pad_link_intersect),
18573         (gst_pad_link_fixate), (gst_pad_set_caps),
18574         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18575         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18576         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18577         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18578         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18579         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18580         (gst_pad_realize), (gst_pad_get_allowed_caps),
18581         (gst_real_pad_dispose), (gst_real_pad_finalize),
18582         (gst_pad_collectv), (gst_pad_collect_valist),
18583         (gst_pad_template_dispose), (gst_pad_template_new),
18584         (gst_pad_get_internal_links):
18585         * gst/gstpad.h:
18586         * gst/gstpipeline.c: (gst_pipeline_dispose),
18587         (gst_pipeline_change_state):
18588         * gst/gstpipeline.h:
18589         * gst/gstplugin.c:
18590         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18591         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18592         * gst/gstpluginfeature.h:
18593         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18594         * gst/gstquery.c: (_gst_query_type_initialize),
18595         (gst_query_type_register), (gst_query_type_get_by_nick),
18596         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18597         * gst/gstquery.h:
18598         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18599         * gst/gstscheduler.c: (gst_scheduler_add_element),
18600         (gst_scheduler_factory_create):
18601         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18602         (gst_structure_free), (gst_structure_set_name),
18603         (gst_structure_id_set_value), (gst_structure_set_value),
18604         (gst_structure_set_valist), (gst_structure_remove_field),
18605         (gst_structure_remove_fields),
18606         (gst_structure_remove_fields_valist),
18607         (gst_structure_remove_all_fields), (gst_structure_foreach),
18608         (gst_structure_map_in_place),
18609         (gst_caps_structure_fixate_field_nearest_int),
18610         (gst_caps_structure_fixate_field_nearest_double):
18611         * gst/gststructure.h:
18612         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18613         (gst_system_clock_init), (gst_system_clock_dispose),
18614         (gst_system_clock_async_thread),
18615         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18616         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18617         * gst/gstsystemclock.h:
18618         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18619         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18620         * gst/gsttaginterface.c:
18621         * gst/gstthread.c: (gst_thread_dispose),
18622         (gst_thread_release_children_locks), (gst_thread_change_state),
18623         (gst_thread_main_loop):
18624         * gst/gsttrashstack.h:
18625         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18626         * gst/gsttypes.h:
18627         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18628         (gst_element_request_pad), (gst_element_get_pad_from_template),
18629         (gst_element_request_compatible_pad),
18630         (gst_element_get_compatible_pad_filtered),
18631         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18632         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18633         (gst_element_link_many), (gst_element_link),
18634         (gst_element_link_pads), (gst_element_unlink_pads),
18635         (gst_element_unlink_many), (gst_element_unlink),
18636         (gst_pad_can_link_filtered), (gst_pad_can_link),
18637         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18638         (gst_object_default_error), (gst_bin_add_many),
18639         (gst_bin_remove_many), (gst_element_populate_std_props),
18640         (gst_element_class_install_std_props), (gst_buffer_merge),
18641         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18642         (link_fold_func), (gst_pad_proxy_setcaps):
18643         * gst/gstutils.h:
18644         * gst/gstvalue.c: (gst_value_deserialize_string):
18645         * gst/parse/grammar.y:
18646         * gst/schedulers/gstbasicscheduler.c:
18647         (gst_basic_scheduler_cothreaded_chain),
18648         (gst_basic_scheduler_chain_recursive_add),
18649         (gst_basic_scheduler_pad_link):
18650         * gst/schedulers/gstoptimalscheduler.c:
18651         (get_group_schedule_function),
18652         (gst_opt_scheduler_state_transition),
18653         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18654         * libs/gst/bytestream/bytestream.c:
18655         * libs/gst/dataprotocol/dataprotocol.c:
18656         (gst_dp_header_from_buffer):
18657         * po/nb.po:
18658         * po/ru.po:
18659         * tests/threadstate/threadstate2.c: (eos):
18660         * tools/gst-compprep.c: (main):
18661         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18662         (print_pad_info), (print_children_info):
18663         * tools/gst-launch.c: (idle_func), (main):
18664         * tools/gst-md5sum.c: (idle_func), (main):
18665         * tools/gst-xmlinspect.c: (print_element_info):
18666         First THREADED backport attempt, focusing on adding locks and
18667         making sure the API is threadsafe. Needs more work. More docs
18668         follow this week.
18669
18670 2005-02-24  Andy Wingo  <wingo@pobox.com>
18671
18672         * tests/bench-complexity.scm:
18673         * tests/complexity.gnuplot: New files, good for running complexity
18674         benchmarks.
18675
18676         * tests/Makefile.am:
18677         * tests/complexity.c: New test, sets up N elements, at each level
18678         teeing into M streams per element. Eeeenteresting.
18679
18680         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18681         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18682         running bench-mass_elements.scm.
18683
18684         * tests/bench-mass_elements.scm: New script, runs mass_elements
18685         for various numbers of identities, outputting the results to a
18686         file. Requires guile 1.6. Just for testing.
18687
18688 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18689
18690         * gst/schedulers/fairscheduler.c:
18691           compile with debug disabled
18692
18693 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18694
18695         * configure.ac:
18696           hunting season on 0.9 is now OPEN