gst/gstregistry.c: Move big documentation comment into class section header, so that...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstregistry.c:
4           Move big documentation comment into class section header, so that it
5           appears in the API docs.
6
7 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8
9         * docs/gst/gstreamer-sections.txt:
10         Oops. Commit the docs additions too for new API.
11         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12
13 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
14
15         * gst/gststructure.c: (gst_structure_id_set),
16         (gst_structure_id_set_valist):
17         * gst/gststructure.h:
18         Add API for setting values into structures without performing
19         a quark lookup, if the appropriate quark is already known.
20
21         API: gst_structure_id_set
22         API: gst_structure_id_set_valist
23
24         * gst/parse/grammar.y:
25         * gst/parse/parse.l:
26         Remove some dead code shown by the coverage information.
27         Don't throw a critical g_warning when encountering a syntax error,
28         just warn and let the normal error path handle it.
29
30         * plugins/elements/gstelements.c:
31         Bump the rank of filesink up to PRIMARY so that it is preferred over
32         gnomevfssink for file:// sink uri's
33
34         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
35         (GST_START_TEST), (run_delayed_test),
36         (gst_parse_test_element_base_init),
37         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
38         (gst_parse_test_element_change_state),
39         (gst_register_parse_element), (parse_suite):
40         Beef up the tests for parse syntax to check that more error cases
41         fail as they are supposed to. Increases the test coverage a bit.
42
43 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
44
45         * docs/manual/basics-elements.xml:
46           Fix gst_element_link() example.
47
48         * gst/gstutils.c:
49           Mention in API docs that one should usually gst_bin_add()
50           elements to a bin or pipeline before doing the linking.
51           
52 2006-07-26  Wim Taymans  <wim@fluendo.com>
53
54         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
55         (gst_subbuffer_get_type), (gst_buffer_create_sub):
56         Avoid function call for known types by keeping the buffer and
57         subbuffer GType global.
58
59         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
60         Random silly optimisations in read() path.
61
62 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
63
64         * tools/gst-launch.c: (main):
65           If the top-level of the parse is a normal bin, it doesn't do the
66           right logic to run as a top-level element, so place it inside a
67           pipeline.
68
69 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
70
71         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
72           Remove superfluous g_object_notify() calls, GObject does
73           that for us automatically.
74
75 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
76
77         * gst/gstinfo.h:
78           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
79           here.
80
81 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
82
83         * gst/gsttaglist.c: (_gst_tag_initialize):
84           Allow more than one GST_TAG_IMAGE per taglist.
85
86 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
87
88         * gst/gstminiobject.c:
89           update docs
90         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
91         (gst_fd_src_create):
92           log recurring events at LOG level
93           add more debug for when the fd gets set
94
95 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
96
97         * gst/gstparse.c: (gst_parse_launch):
98           Also remove reentrance checks if flex is MT save (#348179)
99          Fix my empty ChangeLog entry below
100
101 2006-07-21  Andy Wingo  <wingo@pobox.com>
102
103         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
104
105         * libs/gst/check/Makefile.am
106         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
107         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
108         * libs/gst/check/gstbufferstraw.h:
109         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
110         functions, thus proving I am still a GStreamer haxor. OK I wrote
111         them a long time ago, but anyways.
112
113 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
114
115         * configure.ac:
116         * gst/gstparse.c: (gst_parse_launch):
117           Check for flex version and omit mutex if we have a MT save flex
118           (fixes #348179)
119
120 2006-07-21  Wim Taymans  <wim@fluendo.com>
121
122         * gst/gstparse.c: (gst_parse_launch):
123         Protect recursive calls to _parse with a recursive mutex
124         and busy flag.
125
126 2006-07-21  Wim Taymans  <wim@fluendo.com>
127
128         * tests/check/gst/gstpad.c: (GST_START_TEST):
129         Fix leak in test.
130
131 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
132
133         * gst/gstparse.c: (gst_parse_launch):
134           Do not hange on recursive uasge of gst_parse_launch()
135
136 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/gsttaglist.c:
139           Add some more docs, comments and FIXME 0.11s here and there
140           and  also fix some typos.
141
142 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
143
144         * gst/gstsegment.h:
145           Convert tabs to spaces for better readability. 
146
147 2006-07-20  Edward Hervey  <edward@fluendo.com>
148
149         * tests/check/libs/gdp.c: (gst_dp_suite):
150         the test_buffer test fails at line 140 on ppc64 at the following
151         check:
152         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
153                 "GST_BUFFER_IN_CAPS flag should have been copied !");
154         See bug #348114 for more details.
155
156 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
157
158         * docs/pwg/advanced-scheduling.xml:
159         * gst/gstpad.c:
160           Fix typos (#348000).
161
162 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
163
164         * docs/pwg/intro-basics.xml:
165           Fix wrong links (#347927).
166
167 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
168
169         * gst/gstregistry.h:
170         * gst/gstregistryxml.c: (load_feature),
171         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
172         * win32/common/config.h:
173         make --disable-index work (#342564)
174
175 2006-07-18  Wim Taymans  <wim@fluendo.com>
176
177         Patch by: Peter Kjellerstedt <pkj at axis dot com>
178
179         * gst/Makefile.am:
180         * gst/gsttrace.h:
181         The attached patch adds two missing defines to gsttrace.h when tracing
182         is disabled.  It also corrects one existing define.
183         Fixes #347756.
184
185 2006-07-17  Wim Taymans  <wim@fluendo.com>
186
187         * docs/gst/gstreamer-sections.txt:
188         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
189         * gst/gst.h:
190         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
191         Add two functions to check and change the SIGSEGV behaviour
192         when loading plugins.
193         Don't mess with the SIGSEGV handler when we were told not to.
194         Fixes #347794.
195         API: gst_segtrap_is_enabled
196         API: gst_segtrap_set_enabled
197
198 2006-07-14  Wim Taymans  <wim@fluendo.com>
199
200         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
201         * tests/check/elements/filesrc.c: (GST_START_TEST):
202         Revert fix for regression in #347408 after release.
203
204 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
205
206         Patch by: Antoine Tremblay <hexa00 at gmail com>
207
208         * gst/gstutils.c: (gst_element_unlink):
209           Free iterator when done (#347311).
210
211         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
212           And add a test case for this.
213
214 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
215
216         * configure.ac:
217         Bump nano back to CVS
218
219 === release 0.10.9 ===
220
221 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
222
223         * configure.ac:
224           releasing 0.10.9, "On the road again"
225
226 2006-07-13  Wim Taymans  <wim@fluendo.com>
227
228         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
229         * tests/check/elements/filesrc.c: (GST_START_TEST):
230         Revert pull-0 fix for release. Disable check. Fixes #347408.
231
232 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
233
234         * libs/gst/dataprotocol/dataprotocol.c:
235         (gst_dp_event_from_packet_1_0):
236           Fixes #347337: failure to deserialize event packets with
237           empty payload (only event type)
238
239 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         * gst/Makefile.am:
242           do not install a .c file in the header directory
243
244 2006-07-13  Edward Hervey  <edward@fluendo.com>
245
246         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
247         GhostPad no longer implicitely use the padtemplates of the targets.
248         Fixes #347384
249
250 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
251
252         * gst/gstvalue.c: (gst_value_compare_list),
253         (gst_value_compare_array), (_gst_value_initialize):
254         * tests/check/gst/gstvalue.c: (GST_START_TEST):
255         Make GstValueArray comparison be order dependent as designed.
256         Add checks for value lists and value array comparisons.
257         Fixes #347221
258
259 2006-07-11  Edward Hervey  <edward@fluendo.com>
260
261         * gst/gstbin.c: (activate_pads),
262         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
263         (gst_bin_change_state_func):
264         (de)activate src pads before calling state_change on the childs.
265         This is to avoid the case where a src ghostpad is blocked (holding the
266         stream lock), which would block the deactivation of the ghostpad's
267         target pad.
268         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
269         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
270         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
271         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
272         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
273         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
274         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
275         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
276         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
277         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
278         (gst_ghost_pad_class_init),
279         (gst_ghost_pad_internal_do_activate_push),
280         (gst_ghost_pad_internal_do_activate_pull),
281         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
282         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
283         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
284         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
285         GhostPads now create their internal GstProxyPad at creation (and not
286         when they're linked, as it was being done previously).
287         The internal and target pads are linked straight away.
288         The data will also travel through the other pad in order to make
289         pad blocking and probes non-hackish (the probe/block now really happens
290         on the GhostPad and not on the target).
291         * gst/gstpad.c: (gst_pad_set_blocked_async),
292         (gst_pad_link_prepare), (gst_pad_push_event):
293         Remove previous ghostpad cruft.
294         * gst/gstutils.c: (gst_pad_add_data_probe),
295         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
296         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
297         (gst_pad_remove_buffer_probe):
298         Remove previous ghost pad cruft.
299         Added more detailed debug statements.
300         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
301         Fix the testsuite for refcounting changes.
302         The comments about who has references were correct, but the refcount
303         being checked wasn't the same (!?!).
304
305         Fixes #341029
306
307 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
308
309         * docs/gst/gstreamer-sections.txt:
310         * gst/gstconfig.h.in:
311         More docs for configuration options, add docs to gtk-doc.
312
313 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
314
315         * gst/Makefile.am:
316         * gst/gstconfig.h.in:
317         * win32/common/config.h:
318         Fix build when disabling tracing (fixes #344016). Also start to document
319         the defines that disable the sub-systems.
320
321 2006-07-10  Edward Hervey  <edward@fluendo.com>
322
323         * gst/gst.c: (ensure_current_registry_forking):
324         let's make valgrind happy...
325
326 2006-07-09  Wim Taymans  <wim@fluendo.com>
327
328         * gst/gstelement.c: (activate_pads),
329         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
330         Better pad activation code: Reset the collect value too on resync.
331         Add some comments.
332
333 2006-07-09  Wim Taymans  <wim@fluendo.com>
334
335         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
336         (gst_pad_activate_push):
337         Use some more macros where it makes sense.
338         Allow pad mode switching instead of asserting. When a pad
339         is activated in one mode and we activate it in another, 
340         deactivate it first before activating it in a different mode.
341         Fixes #329198.
342
343 2006-07-08  Andy Wingo  <wingo@pobox.com>
344
345         * tools/gst-launch.c (main): Handle err == NULL.
346
347         * gst/gst.c (init_post, ensure_current_registry)
348         (ensure_current_registry_forking)
349         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
350         factoring out the registry scanning into separate functions. Don't
351         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
352         Better environment var name/interface suggestions accepted.
353
354 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
355
356         * gst/gstobject.c: (gst_object_set_name_default),
357         (gst_object_set_name):
358           Random micro-optimisation: don't use a hash table
359           with strings as keys and the usual strdup/strcmp
360           involved, but rather just use the GQuark of the
361           type name as key, since it needs to be looked up
362           anyway to get the type name string.
363
364         * tests/check/gst/gstobject.c: (GST_START_TEST):
365           Fix various leaks.
366
367 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
368
369         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
370         (gst_bin_iterate_all_by_interface):
371           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
372           GTypes are gulongs and thus the top 4 bytes might be cut
373           off on some platforms when doing GPOINTER_TO_INT, leading
374           to invalid GTypes and bad things happening (see RH bug #179654).
375           Also add a check to make sure the type passed in is really
376           an interface type.
377
378 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
379
380         * .cvsignore:
381           Ignore more.
382
383 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
384
385         * Makefile.am:
386         * configure.ac:
387         * gst-element-check.m4:
388         * gst-element-check.m4.in:
389           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
390           instead of the unversioned gst-inspect (#324176, #168659).
391
392 2006-07-06  Wim Taymans  <wim@fluendo.com>
393
394         * gst/gstmessage.h:
395         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
396         warnings.
397
398 2006-07-06  Wim Taymans  <wim@fluendo.com>
399
400         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
401         (gst_base_src_wait), (gst_base_src_update_length),
402         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
403         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
404         (gst_base_src_loop), (gst_base_src_start),
405         (gst_base_src_activate_pull):
406         Update docs.
407         blocksize == 0 now means the default blocksize when working in push
408         based mode.
409         Remove some pointless asserts in _wait function.
410         Fix offset/length calculations and EOS handling. We can now pull 0
411         bytes as well, which is allowed.
412         use _check_get_range() to decide if we can operate in _pull based
413         mode.
414         Fix refcounting leak when check_get_range function was not 
415         implemented.
416         API GstBaseSrc::blocksize range can be 0 too now (default)
417
418         * tests/check/elements/filesrc.c: (GST_START_TEST),
419         (filesrc_suite):
420         Added check to test _get_range() behaviour.
421
422 2006-07-06  Wim Taymans  <wim@fluendo.com>
423
424         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
425         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
426         (gst_pad_pull_range):
427         * gst/gstpad.h:
428         Lots of comments and docs added to the pad functions.
429         Flesh out the expected behaviour of the get_range() functions.
430
431 2006-07-06  Wim Taymans  <wim@fluendo.com>
432
433         * gst/gstbus.h:
434         * gst/gstclock.h:
435         * gst/gstevent.h:
436         * gst/gstiterator.h:
437         * gst/gstpad.h:
438         * gst/gstplugin.h:
439         * gst/gsttask.h:
440         Remove comma at end of enumerator list. 
441
442 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
443
444         * win32/common/libgstbase.def:
445         * win32/common/libgstdataprotocol.def:
446         * win32/common/libsgtreamer.def:
447         Add new exported functions.
448
449 2006-07-05  Wim Taymans  <wim@fluendo.com>
450
451         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
452         Add some more docs here and there.
453
454 2006-07-05  Wim Taymans  <wim@fluendo.com>
455
456         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
457         (gst_base_sink_loop), (gst_base_sink_get_position):
458         When operating in pull mode update the offset so that we
459         read sequentially.
460
461 2006-07-05  Wim Taymans  <wim@fluendo.com>
462
463         * gst/gstregistryxml.c: (read_string):
464         Avoid strdup. (will happen in libxml, but hey!)
465
466         * gst/gsturi.c:
467         Add some more docs.
468
469 2006-07-05  Wim Taymans  <wim@fluendo.com>
470
471         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
472         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
473         (gst_buffer_suite):
474         No point in checking if the size of the subbuffer > 0, the
475         code handles it correclty as demonstrated by unit test.
476         Also add a unit test for the zero sized _new_and_alloc and
477         _copy. Fixes #346663.
478
479 2006-07-05  Wim Taymans  <wim@fluendo.com>
480
481         * libs/gst/base/gstbasetransform.c:
482         (gst_base_transform_prepare_output_buffer),
483         (gst_base_transform_buffer_alloc),
484         (gst_base_transform_handle_buffer):
485         Make sure the buffer we pass to transform_ip has a refcount of
486         1 and thus is writable. Fixes #343196
487
488 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
489
490         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
491         (gst_file_src_init), (gst_file_src_set_property),
492         (gst_file_src_get_property), (gst_file_src_map_region):
493         * plugins/elements/gstfilesrc.h:
494         Add "sequential" property, off by default, to use madvise and hint
495         to the kernel that sequential access is desired.
496         Touch all retrieved pages by default to ensure they are pulled
497         into memory. (Closes #345720)
498
499 2006-07-03  Wim Taymans  <wim@fluendo.com>
500
501         * docs/design/part-block.txt:
502         * docs/design/part-dynamic.txt:
503         Small docs updates.
504
505 2006-07-03  Wim Taymans  <wim@fluendo.com>
506
507         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
508         (gst_caps_unref), (gst_static_caps_get),
509         (gst_caps_append_structure):
510         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
511         Use GSlice when the glib we build against is >= 2.10
512
513 2006-07-03  Wim Taymans  <wim@fluendo.com>
514
515         * gst/gstelement.c: (gst_element_pads_activate):
516         Small cleanup in pad activation code.
517
518 2006-07-03  Wim Taymans  <wim@fluendo.com>
519
520         Patch by: Peter Kjellerstedt <pkj at axis dot com>
521
522         * gst/gst-i18n-app.h:
523         * gst/gst-i18n-lib.h:
524         * tools/gst-inspect.c: (print_signal_info):
525         The attached patch will make the inclusion of gettext.h unconditional in
526         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
527         libintl.h in tools/gst-inspect.c.
528         This allows use of --disable-nls again and fixes #344642.
529
530 2006-07-03  Edward Hervey  <edward@fluendo.com>
531
532         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
533         Implement pad blocking on events according to part-block.txt.
534         More comments on behaviour.
535         * tests/check/gst/gstevent.c: (test_event):
536         Send event to peer pad of blocked pad (else it will block).
537
538 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
539
540         * libs/gst/check/gstcheck.c: (gst_check_message_error),
541         (gst_check_run_suite):
542           if we get the wrong message, give us the types as string
543         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
544           Fix a translatable
545         * tests/check/elements/filesrc.c: (GST_START_TEST):
546           add a test for trying to open a non-existing file
547
548 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
549
550         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
551           add a test for adding self
552
553 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * libs/gst/check/gstcheck.h:
556           add some assert_ as alias for fail_unless_*
557         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
558           increase test coverage
559
560 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
561
562         * Makefile.am:
563           include lcov.mak for lcov coverage generation
564         * tools/Makefile.am:
565           add to CLEANFILES
566
567 2006-07-02  Edward Hervey  <edward@fluendo.com>
568
569         * tests/check/elements/.cvsignore:
570         moaping
571
572 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
573
574         * configure.ac:
575           don't set CFLAGS and friends for gcov, done from GST_GCOV now
576         * tests/check/Makefile.am:
577           clean up gcov files
578
579 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
582           remove gst_caps_simplify; it was not declared and not used
583           and deprecated in 0.8
584
585 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
586
587         * docs/faq/gst-uninstalled:
588           don't put empty paths on PYTHONPATH
589         * docs/gst/gstreamer-sections.txt:
590           remove some symbols that are not there
591
592 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
593
594         * gst/gstcaps.c: (gst_caps_compare_structures):
595           whitespace fixes
596         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
597         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
598           add more tests
599
600 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
601
602         * libs/gst/dataprotocol/Makefile.am:
603           build dataprotocol test by linking to the lib, instead of
604           compiling the source, so we get coverage
605         * tests/check/Makefile.am:
606         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
607         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
608           add a test for filesrc
609
610 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * tests/check/gst/gststructure.c: (GST_START_TEST),
613         (gst_structure_suite):
614           Push coverage from 59.04% to 70.00%
615
616 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * tests/check/Makefile.am:
619           gst-inspect every element; this makes sure that we also get
620           coverage on element's get/set functions
621
622 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * configure.ac:
625           set CFLAGS and friends to -O0 if gcov is being used
626           add GCOV LIBS
627         * gst/Makefile.am:
628         * libs/gst/base/Makefile.am:
629         * libs/gst/check/Makefile.am:
630         * libs/gst/controller/Makefile.am:
631         * libs/gst/dataprotocol/Makefile.am:
632         * libs/gst/net/Makefile.am:
633         * plugins/elements/Makefile.am:
634         * plugins/indexers/Makefile.am:
635           add makefile rules to generate gcov data and clean up
636         * tests/check/Makefile.am:
637           add a coverage target that generates an html overview
638           of coverage data
639
640 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
641
642         * tests/check/elements/fakesink.c:
643         * tests/check/elements/fakesrc.c:
644         * tests/check/elements/fdsrc.c:
645         * tests/check/elements/identity.c:
646         * tests/check/generic/sinks.c: (gst_sinks_suite):
647         * tests/check/generic/states.c:
648         * tests/check/gst/gst.c:
649         * tests/check/gst/gstabi.c:
650         * tests/check/gst/gstbin.c:
651         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
652         * tests/check/gst/gstbus.c: (gst_bus_suite):
653         * tests/check/gst/gstcaps.c: (GST_START_TEST):
654         * tests/check/gst/gstelement.c:
655         * tests/check/gst/gstevent.c: (gst_event_suite):
656         * tests/check/gst/gstghostpad.c:
657         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
658         * tests/check/gst/gstmessage.c: (gst_message_suite):
659         * tests/check/gst/gstminiobject.c:
660         * tests/check/gst/gstobject.c:
661         * tests/check/gst/gstpad.c:
662         * tests/check/gst/gstpipeline.c:
663         * tests/check/gst/gstplugin.c:
664         * tests/check/gst/gstquery.c: (gst_query_suite):
665         * tests/check/gst/gstsegment.c: (gst_segment_suite):
666         * tests/check/gst/gststructure.c:
667         * tests/check/gst/gstsystemclock.c:
668         * tests/check/gst/gsttag.c:
669         * tests/check/gst/gsttask.c: (gst_task_suite):
670         * tests/check/gst/gstutils.c:
671         * tests/check/gst/gstvalue.c:
672         * tests/check/libs/adapter.c:
673         * tests/check/libs/basesrc.c:
674         * tests/check/libs/collectpads.c:
675         * tests/check/libs/controller.c:
676         * tests/check/libs/gdp.c: (gst_dp_suite):
677         * tests/check/libs/gstnetclientclock.c:
678         * tests/check/libs/gstnettimeprovider.c:
679         * tests/check/libs/libsabi.c: (libsabi_suite):
680         * tests/check/libs/typefindhelper.c:
681         * tests/check/pipelines/cleanup.c:
682         * tests/check/pipelines/parse-launch.c:
683         * tests/check/pipelines/simple-launch-lines.c:
684         * tests/check/pipelines/stress.c: (stress_suite):
685           use the new macro
686
687 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
690         * libs/gst/check/gstcheck.h:
691           create a macro and function so that the simple unit test
692           case can be just one macro to create main()
693
694 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
695
696         * gst/gstbin.c: (gst_bin_restore_thyself):
697         * gst/gstxml.c: (gst_xml_make_element):
698           Fix deserialisation from XML. Set parent manually
699           instead of using gst_bin_add(), since gst_bin_add()
700           will unlink all pads of the element being added.
701           Fixes #341667.
702
703 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
704
705         Patch by: Peter Kjellerstedt <pkj at axis com>
706
707         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
708           Fix missing g_strdup() and double free when using the
709           --gst-plugin-load command line option (#346097).
710
711 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
712
713         * gst/gstinfo.c:
714           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
715
716         * libs/gst/net/gstnetclientclock.c:
717         * libs/gst/net/gstnettimeprovider.c:
718           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
719
720 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
721
722         * docs/manual/advanced-dataaccess.xml:
723           Fix buffer probe example compilation in
724           ADM (#345708).
725         
726 2006-06-22  Edward Hervey  <edward@fluendo.com>
727
728         * gst/gstelement.c: (gst_element_pads_activate):
729         We need to deactivate src pads first and then sink pads.
730         The reason is the src pads might be blocking while holding the streaming
731         lock, so we need to deactivate them first so that deactivating the sink
732         pads doesn't block (since it will require the streaming lock).
733
734 2006-06-22  Wim Taymans  <wim@fluendo.com>
735
736         * libs/gst/base/gstbasetransform.c:
737         (gst_base_transform_buffer_alloc):
738         Forgot to remove two unneeded unrefs.
739         Simplify a check _is_equal allready checks the obvious case.
740
741 2006-06-22  Wim Taymans  <wim@fluendo.com>
742
743         * docs/design/part-block.txt:
744         Some docs about what pad_block should do.
745
746 2006-06-22  Wim Taymans  <wim@fluendo.com>
747
748         * gst/gstcaps.c: (gst_caps_replace):
749         Fix crasher when passed NULL. Doc clarification.
750         Optimize for the trivial case.
751
752         * gst/gstpipeline.c: (gst_pipeline_change_state):
753         Small cleanups.
754
755         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
756         Small documentation cleanup.
757
758         * libs/gst/base/gstbasetransform.c:
759         (gst_base_transform_buffer_alloc):
760         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
761         is what we need and it avoids a whole lot of redundant 
762         refcount operations.
763
764 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
765
766         Patch by: Philip Jägenstedt  <philip at lysator liu se>
767
768         * docs/manual/advanced-dataaccess.xml:
769           Fix 'Embedding static elements' section to use
770           GST_PLUGIN_DEFINE_STATIC (#345607).
771
772 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
773
774         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
775           Attempt to 'fix' spuriously failing test case: it seems like the
776           timeout of half a second is simply too small when the system is under
777           load otherwise, and the timeout doesn't really seem to serve any
778           particular purpose here. Give the pipeline a few seconds to preroll
779           first, and then give it another half a second to go from PAUSED to
780           PLAYING and marshal the message into the main thread.
781
782 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
783
784         * tools/gst-feedback-m.m:
785           Don't only use unversioned tools, try versioned tools as well
786           (#345086).
787
788 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
789
790         * gst/gstbus.c: (gst_bus_class_init):
791           Fix some typos, make docs more explicit.
792
793 2006-06-20  Wim Taymans  <wim@fluendo.com>
794
795         * tests/check/gst/gstghostpad.c: (block_callback),
796         (GST_START_TEST), (gst_ghost_pad_suite):
797         Added some more ghostpad tests, mainly blocking
798         and probes.
799
800 2006-06-16  Wim Taymans  <wim@fluendo.com>
801
802         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
803         (gst_file_sink_close_file), (gst_file_sink_do_seek),
804         (gst_file_sink_event), (gst_file_sink_render):
805         * plugins/elements/gstfilesink.h:
806         Check if we can seek in the file instead of assuming
807         we always can. Post an error when we are asked to seek in a
808         non-seekable file (like a fifo). Fixes #343312.
809         Some cleanups.
810
811 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * tools/gst-launch.1.in:
814           Un-garble (fourcc) bit in filtered caps section.
815
816 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
817
818         * docs/manual/advanced-autoplugging.xml:
819         * docs/manual/basics-helloworld.xml:
820         * docs/manual/highlevel-components.xml:
821           Don't leak bus reference in sample code.
822
823 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
824
825         * autogen.sh:
826           Add default for new --enable-plugin-docs switch.
827
828         * configure.ac:
829           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
830           Fixes #344039.
831
832         * docs/Makefile.am:
833           Use new ENABLE_PLUGIN_DOCS conditional.
834
835 2006-06-14  Wim Taymans  <wim@fluendo.com>
836
837         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
838         Make it clear with a FIXME and a real define what the #if 0
839         previously disabled.
840
841 2006-06-14  Wim Taymans  <wim@fluendo.com>
842
843         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
844         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
845         * libs/gst/base/gstbasetransform.c:
846         (gst_base_transform_sink_eventfunc):
847         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
848         Don't randomly and silently reset a segment when the format 
849         changes as this is a bug somewhere upstream. Fixes #330379.
850
851 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
852
853         Patch by: Wouter Paesen  <wouter at kangaroot net>
854
855         * libs/gst/controller/gstcontroller.c:
856         (gst_controlled_property_new):
857           Fix controlling of float properties (#344849).
858
859         * tests/check/libs/controller.c:
860         (gst_test_mono_source_get_property),
861         (gst_test_mono_source_set_property),
862         (gst_test_mono_source_class_init), (GST_START_TEST):
863           While we're at it, add some float stuff to unit test.
864
865 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
866
867         * docs/README:
868         * docs/images/gdp-header.svg:
869           add a gdp image
870         * docs/libs/Makefile.am:
871         * docs/libs/gdp-header.png:
872         * libs/gst/dataprotocol/dataprotocol.c:
873           add it to the API docs
874         * docs/manual/intro-motivation.xml:
875           fix typo
876
877 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
878
879         * gst/gst.c: (scan_and_update_registry), (init_post):
880           If the fork()'ed child process can't write the updated registry cache
881           file to disk for some reason, make it exit with a failure exit code,
882           so that the parent can then re-scan the plugins itself and update the
883           registry structures in memory and work with that (rather than failing
884           when creating elements because seemingly no plugins are available).
885           Refactor registry scanning code into separate function for this and
886           also separate fork() and non-fork() code paths. Fixes #344748.
887
888 2006-06-13  Wim Taymans  <wim@fluendo.com>
889
890         * docs/manual/advanced-dataaccess.xml:
891         Fix wrong PluginDesc. Fixes #344755.
892
893 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
894
895         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
896           Fix silly bug that prevented us from creating
897           ~/.gstreamer-0.10 and writing the registry in one
898           go (the first call to g_mkstemp() would overwrite the
899           placeholder in the template string, so the second call
900           to g_mkstemp() after creating the missing directory
901           would then error out with 'invalid argument').
902
903 2006-06-13  Edward Hervey  <edward@fluendo.com>
904
905         * gst/gst.c: (init_post):
906         Free string.
907
908 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * gst/glib-compat-private.h:
911         * gst/glib-compat.c:
912         * gst/glib-compat.h:
913         * gst/gstvalue.c: (gst_value_serialize_flags):
914           remove GLib 2.6 compatibility code
915
916 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
917
918         * gst/parse/Makefile.am:
919           Fix build with 'make -j N' even more (#340016).
920
921 2006-06-12  Wim Taymans  <wim@fluendo.com>
922
923         * docs/gst/gstreamer-sections.txt:
924         Fix docs.
925
926 2006-06-12  Wim Taymans  <wim@fluendo.com>
927
928         * gst/gstsegment.c: (gst_segment_set_duration),
929         (gst_segment_set_last_stop), (gst_segment_set_seek),
930         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
931         (gst_segment_to_running_time), (gst_segment_clip):
932         Use G_UNLIKELY to help the compiler a bit.
933
934 2006-06-12  Wim Taymans  <wim@fluendo.com>
935
936         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
937
938         * gst/gstevent.c: (gst_event_get_type):
939         * gst/gstmessage.c:
940         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
941         (gst_pad_push):
942         constify quark registration strings. Fixes #344115
943         Avoid unneeded type checking is _pad_push() by internally
944         calling gst_pad_chain_unchecked().
945
946 2006-06-12  Wim Taymans  <wim@fluendo.com>
947
948         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
949         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
950         (gst_subbuffer_finalize), (gst_buffer_create_sub),
951         (gst_buffer_is_span_fast), (gst_buffer_span):
952         Init _type for consistency.
953         Use _FLAGS macro to avoid type check.
954         Avoid unneeded type checks in subbufer code.
955
956 2006-06-12  Wim Taymans  <wim@fluendo.com>
957
958         * gst/gst.c: (gst_debug_help):
959         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
960         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
961         (gst_plugin_feature_list_free):
962         * gst/gstregistry.c: (gst_registry_add_plugin),
963         (gst_registry_add_feature), (gst_registry_plugin_filter),
964         (gst_registry_feature_filter), (gst_registry_find_plugin),
965         (gst_registry_find_feature), (gst_registry_get_plugin_list),
966         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
967         * gst/gstregistryxml.c: (load_feature),
968         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
969         * gst/gstminiobject.c: (gst_mini_object_unref),
970         (gst_mini_object_replace), (gst_value_mini_object_free),
971         (gst_value_mini_object_copy):
972         Use _CAST macros to avoid unneeded type checking.
973         Added some more G_UNLIKELY.
974
975 2006-06-12  Wim Taymans  <wim@fluendo.com>
976
977         * gst/gstbuffer.h:
978         Avoid unneeded type checking.
979         API: GST_BUFFER_IS_DISCONT
980
981         * gst/gstminiobject.h:
982         Avoid type check in flag accessor.
983
984         * gst/gstelementfactory.h:
985         * gst/gstplugin.h:
986         * gst/gstpluginfeature.h:
987         Add _CAST macros.
988         API: GST_ELEMENT_FACTORY_CAST
989         API: GST_PLUGIN_CAST
990         API: GST_PLUGIN_FEATURE_CAST
991
992 2006-06-12  Wim Taymans  <wim@fluendo.com>
993
994         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
995         (gst_object_unref):
996         Add G_UNLIKELY in type registration.
997         Avoid type check in _ref/_unref since that is also
998         done in glib.
999
1000 2006-06-12  Wim Taymans  <wim@fluendo.com>
1001
1002         * gst/gsterror.c: (gst_g_error_get_type):
1003         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1004         (gst_static_pad_template_get_type):
1005         * gst/gsttaglist.c: (gst_tag_list_get_type):
1006         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1007         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1008         * gst/gsturi.c: (gst_uri_handler_get_type):
1009         * gst/gstvalue.c: (gst_date_get_type):
1010         * gst/gstxml.c: (gst_xml_get_type):
1011         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1012         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1013         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1014         Add G_UNLIKELY in type registration.
1015
1016 2006-06-12  Wim Taymans  <wim@fluendo.com>
1017
1018         * tools/gst-inspect.c: (print_signal_info):
1019         Properly print enum values.
1020
1021 2006-06-12  Wim Taymans  <wim@fluendo.com>
1022
1023         * gst/gstinfo.c: (gst_debug_set_active),
1024         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1025         * gst/gstinfo.h:
1026         Add some G_[UN]LIKELY.
1027         Maintain __gst_debug_min to avoid formatting the arguments of
1028         debug messages that will be dropped anyway to avoid a lot of 
1029         overhead from the debugging system.
1030
1031 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1032
1033         * po/POTFILES.in:
1034         * po/POTFILES.skip:
1035           add missing files containing translatable strings, tell intltool about
1036           one exception
1037
1038 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * tests/check/libs/.cvsignore:
1041         add test-binary to ignore list
1042
1043 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1044
1045         * docs/libs/gstreamer-libs-docs.sgml:
1046         reorder (put dp into a chapter) and indent
1047
1048 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1049
1050         * configure.ac:
1051           back to HEAD
1052
1053 === release 0.10.8 ===
1054
1055 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1056
1057         * configure.ac:
1058           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1059
1060 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1061
1062         * gst/gst.c: (init_post):
1063           move pid declaration to declaration block
1064
1065 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         * gst/gst.c: (init_post):
1068           use _exit() instead of exit() in our forked child; this ensures
1069           that none of the registered exit handlers from whatever is using
1070           GStreamer get executed.  This fixes gnome-mixer-applet failing
1071           to load, because ORBit would shut down.
1072           Spotted by: Edward Hervey  <edward@fluendo.com>
1073           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1074           Fixes #344474
1075
1076 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1077
1078         * configure.ac:
1079           back to TRUNK
1080
1081 === release 0.10.7 ===
1082
1083 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1084
1085         * configure.ac:
1086           releasing 0.10.7, "Soepeke, ik zie ou"
1087
1088 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1089
1090         * configure.ac:
1091         * po/af.po:
1092         * po/az.po:
1093         * po/bg.po:
1094         * po/ca.po:
1095         * po/cs.po:
1096         * po/de.po:
1097         * po/en_GB.po:
1098         * po/fr.po:
1099         * po/it.po:
1100         * po/nb.po:
1101         * po/nl.po:
1102         * po/ru.po:
1103         * po/sq.po:
1104         * po/sr.po:
1105         * po/sv.po:
1106         * po/tr.po:
1107         * po/uk.po:
1108         * po/vi.po:
1109         * po/zh_CN.po:
1110         * po/zh_TW.po:
1111         * win32/common/config.h:
1112           0.10.6.2 prerelease
1113
1114 2006-06-07  Wim Taymans  <wim@fluendo.com>
1115
1116         * gst/gstindex.c: (gst_index_gtype_resolver):
1117         * tools/gst-xmlinspect.c: (print_plugin_info):
1118         Fix leak spotted by coverity checker. Fixes #343827
1119         Fix another other leak found by paolo borelli.
1120
1121 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         * libs/gst/dataprotocol/dataprotocol.c:
1124         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1125         (gst_dp_version_get_type), (gst_dp_init),
1126         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1127         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1128         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1129         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1130         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1131         (gst_dp_packetizer_free):
1132         * libs/gst/dataprotocol/dataprotocol.h:
1133           API: add a GstDPPacketizer object, and create/free functions
1134           API: add GstDPVersion enum
1135           Add 1.0 event function that uses the string serialization
1136           Serialize more useful buffer flags
1137           Fixes #343988
1138
1139 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * tests/check/Makefile.am:
1142         * tests/check/gst/gstabi.c:
1143         * tests/check/gst/struct_ppc64.h:
1144         * tests/check/libs/libsabi.c:
1145         * tests/check/libs/struct_ppc64.h:
1146           add ppc64 structure sizes
1147
1148 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1149
1150         * tests/check/Makefile.am:
1151         * tests/check/gst/gstabi.c:
1152         * tests/check/gst/struct_x86_64.h:
1153         * tests/check/libs/libsabi.c:
1154         * tests/check/libs/struct_x86_64.h:
1155           generate and add structure size lists for x86_64
1156
1157 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1158
1159         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1160         * libs/gst/check/gstcheck.h:
1161           factor out the method from tests that checks size of structures,
1162           and add code to generate the header containing these sizes
1163         * tests/check/gst/gstabi.c: (GST_START_TEST):
1164         * tests/check/gst/struct_i386.h:
1165         * tests/check/libs/libsabi.c: (GST_START_TEST):
1166         * tests/check/libs/struct_i386.h:
1167           use it
1168
1169 2006-06-06  Michael Smith  <msmith@fluendo.com>
1170
1171         * gst/gstsegment.h:
1172           Don't use c++-style comments, fixes #343929
1173
1174 2006-06-05  Edward Hervey  <edward@fluendo.com>
1175
1176         * gst/gst.c:
1177         plugin_paths is not used if we build without registry support.
1178
1179         * gst/gstsegment.c: (gst_segment_copy): 
1180         _copy() was always returning NULL...
1181
1182 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1183
1184         * libs/gst/dataprotocol/dataprotocol.c:
1185         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1186         (gst_dp_packet_from_event):
1187           factor out CRC code
1188
1189 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1190
1191         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1192           make sure we unset caps
1193
1194 2006-06-02  Michael Smith  <msmith@fluendo.com>
1195
1196         * libs/gst/check/gstcheck.c: (gst_check_init),
1197         (gst_check_chain_func):
1198         * libs/gst/check/gstcheck.h:
1199           Add a cond/mutex to the check support lib, signal this whenever we
1200           add to the buffers list. This will allow tests to not busy-wait on
1201           the buffer-list.
1202
1203 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * libs/gst/dataprotocol/dataprotocol.c:
1206         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1207         (gst_dp_packet_from_event):
1208           factor out some common header init code
1209
1210 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1211
1212         * docs/libs/gstreamer-libs-sections.txt:
1213         * docs/libs/tmpl/gstdataprotocol.sgml:
1214         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1215         * libs/gst/dataprotocol/dataprotocol.h:
1216           API: make gst_dp_crc() public
1217
1218 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1219
1220         * plugins/indexers/gstindexers.c: (plugin_init):
1221         conditionally register fileindexer (fixes #343598)
1222
1223 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1224
1225         * gst/gsttagsetter.h:
1226         Can't cast ifaces to a class
1227
1228         * libs/gst/net/gstnetclientclock.h:
1229         * libs/gst/net/gstnettimeprovider.h:
1230         * plugins/elements/gstfakesink.h:
1231         * plugins/elements/gstfakesrc.h:
1232         * plugins/elements/gstfdsink.h:
1233         * plugins/elements/gstfdsrc.h:
1234         * plugins/elements/gstfilesink.h:
1235         * plugins/elements/gstfilesrc.h:
1236         * plugins/elements/gstidentity.h:
1237         * plugins/elements/gstqueue.h:
1238         * plugins/elements/gsttee.h:
1239         * plugins/indexers/gstfileindex.c:
1240         * plugins/indexers/gstmemindex.c:
1241         * tests/old/examples/plugins/example.h:
1242         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1243
1244 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * libs/gst/dataprotocol/dataprotocol.c:
1247         (gst_dp_header_from_buffer):
1248           make sure we zero the whole ABI-compatible area
1249
1250 2006-06-01  Wim Taymans  <wim@fluendo.com>
1251
1252         Patch by: Alessandro Decina <alessandro at nnva dot org>
1253
1254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1255         Make sure the EOS flag is cleared from pads after a flush
1256         or stop. Fixes #343538.
1257
1258         * tests/check/libs/collectpads.c: (GST_START_TEST),
1259         (gst_collect_pads_suite):
1260         Added test for collectpads reusage after EOS.
1261
1262 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1263
1264         * gst/gst.c:
1265          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1266         * win32/common/libgstbase.def:
1267          export gst_collect_pads_set_flushing
1268         * win32/common/libgstreamer.def:
1269          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1270          gst_value_fraction_multiply
1271         * win32/vs6/gst_inspect.dsp:
1272          add a link to intl.lib
1273
1274 2006-05-30  Wim Taymans  <wim@fluendo.com>
1275
1276         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1277         (gst_collect_pads_chain):
1278         Handle the case where a pad is removed from the collection
1279         that could cause the other pads to become collectable.
1280
1281 2006-05-30  Wim Taymans  <wim@fluendo.com>
1282
1283         * gst/gstelement.c:
1284         Clarify the use of _release_request_pad() and
1285         _get_request_pad() a bit better.
1286
1287         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1288         (gst_adapter_take_buffer):
1289         Fix some doc and comment typos.
1290
1291 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1292
1293         * docs/gst/gstreamer-sections.txt:
1294         * docs/libs/gstreamer-libs-sections.txt:
1295           add declared symbols
1296
1297 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1298
1299         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1300         Add debug that can be enabled using a #define at the top of the file,
1301         for dumping stats about how late/early we were when waking up from
1302         waiting on the clock.
1303
1304 2006-05-30  Wim Taymans  <wim@fluendo.com>
1305
1306         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1307         When rebuilding the pad list, don't leak the previous list.
1308
1309 2006-05-30  Wim Taymans  <wim@fluendo.com>
1310
1311         Patch by: Lutz Mueller <lutz at topfrose dot de>
1312
1313         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1314         (gst_base_src_get_query_types), (gst_base_src_update_length):
1315         Publish supported query types.
1316         Update last_stop field in get_range mode so the position
1317         query works. Fixes #342321.
1318
1319 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1320
1321         * docs/gst/gstreamer-sections.txt:
1322         * gst/gsttaglist.c: (_gst_tag_initialize):
1323         * gst/gsttaglist.h:
1324           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1325
1326 2006-05-30  Wim Taymans  <wim@fluendo.com>
1327
1328         Patch by: Alessandro Decina <alessandro at nnva dot org>
1329
1330         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1331         Unlock mutex when removing an unknown pad.
1332         Fixes #343334.
1333
1334         * tests/check/Makefile.am:
1335         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1336         (push_event), (setup), (teardown), (GST_START_TEST),
1337         (gst_collect_pads_suite), (main):
1338         Added collecpads check, disabled for now as check crashes for
1339         some reason.
1340
1341 2006-05-29  Wim Taymans  <wim@fluendo.com>
1342
1343         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1344         Don't leak pads lists.
1345
1346 2006-05-29  Wim Taymans  <wim@fluendo.com>
1347
1348         * docs/libs/gstreamer-libs-sections.txt:
1349         * libs/gst/base/gstcollectpads.c:
1350         (gst_collect_pads_set_flushing_unlocked),
1351         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1352         (gst_collect_pads_stop):
1353         * libs/gst/base/gstcollectpads.h:
1354         API: gst_collect_pads_set_flushing()
1355         Added api to set the pads to flushing, useful for seeking
1356         code in elements using collectpads.
1357         Clear segment when receiving a flush.
1358
1359 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1360
1361         * gst/gst.c: (add_path_func), (init_post):
1362           Don't scan registry paths passed via --gst-plugin-path immediately
1363           (will crash, because absolutely nothing is set up and no types are
1364           registered etc.); do this later in init_post(). Fixes #343057.
1365
1366 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1367
1368         * gst/gst.c: (init_post):
1369           if we have fork, fork while reading/rebuilding the registry
1370           so the parent doesn't take the hit of having all plugins loaded
1371           in memory.  Fixes #342777.
1372         * configure.ac:
1373           Check if we have fork()
1374         * win32/common/config.h.in:
1375           no fork() on win32
1376
1377 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1378
1379         * plugins/elements/gstelements.c:
1380         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1381         (gst_file_src_init), (gst_file_src_set_property),
1382         (gst_file_src_get_property), (gst_file_src_start):
1383         * plugins/elements/gstfilesrc.h:
1384           API: GstFileSrc::use-mmap
1385
1386         Add a use-mmap property to enable easier testing of all code paths.
1387         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1388         in the absence of gnomevfssrc. (Closes #340501)
1389
1390 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1391
1392         * tools/gst-inspect.c:
1393         Add missing include, removes warning of ngettext not being defined on
1394         some arches.
1395
1396 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1397
1398         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1399         Handle NULL input and output pointers silently as a failed conversion,
1400         rather than g_warnings.
1401
1402 2006-05-25  Wim Taymans  <wim@fluendo.com>
1403
1404         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1405         Initialize variable before using. Fixes #342820.
1406
1407 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1408
1409         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1410           Fix off-by-one bug that would only allow peeks of N-1 bytes
1411           from the start even if the buffer to typefind on contains
1412           in fact N bytes of data (makes vorbis typefinding from a
1413           vorbis identification header buffer work).
1414
1415         * tests/check/Makefile.am:
1416         * tests/check/libs/.cvsignore:
1417         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1418         (gst_typefindhelper_suite), (main), (foobar_typefind),
1419         (plugin_init):
1420           Add very basic unit test for gst_type_find_helper_for_buffer()
1421           that checks for the problem fixed above.
1422
1423 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1424
1425         * tools/gst-inspect.c: (print_interfaces),
1426         (print_element_properties_info), (print_element_list), (main):
1427           add more translatable strings
1428
1429 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1430
1431         Patch by: Julien Moutte  <julien at moutte net>
1432
1433         * docs/gst/gstreamer-sections.txt:
1434           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1435           
1436         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1437         (gst_fake_sink_preroll):
1438         * plugins/elements/gstfakesink.h:
1439           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1440
1441 2006-05-23  Wim Taymans  <wim@fluendo.com>
1442
1443         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1444         * gst/gstpad.h:
1445         Added _CUSTOM error and success GstFlowReturn that can be
1446         used be elements internally. 
1447         Added macro to check for SUCCESS flowreturns.
1448         API: GST_FLOW_CUSTOM_SUCCESS
1449         API: GST_FLOW_CUSTOM_ERROR
1450         API: GST_FLOW_IS_SUCCESS
1451
1452         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1453         Added check for GstFlowReturn sanity.
1454
1455 2006-05-23  Wim Taymans  <wim@fluendo.com>
1456
1457         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1458
1459         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1460         (gst_collect_pads_event):
1461         clear/reset segment info in FLUSH_STOP.
1462         Fixes #336929.
1463
1464 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1465
1466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1467         (gst_collect_pads_check_collected):
1468         Flush queued buffer on _stop(), fixes playing again (#342454)
1469
1470 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1471
1472         * tests/check/gst/gststructure.c: (GST_START_TEST),
1473         (gst_structure_suite):
1474           add a test for a complete structure
1475
1476 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1477
1478         * docs/faq/developing.xml:
1479         * docs/faq/faq.xml:
1480         * docs/faq/troubleshooting.xml:
1481         * docs/faq/using.xml:
1482           Some minor FAQ updates that won't change the fact that
1483           our FAQ is badly structured, full of information hardly
1484           anyone new to GStreamer needs to know and lacking lots
1485           of information people constantly ask for.
1486           
1487 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1488
1489         * gst/gstpad.c: (gst_pad_set_caps):
1490           Short-circuit gst_pad_set_caps if setting the existing
1491           caps pointer again, and avoid printing debug and 
1492           reffing/unreffing the caps.
1493
1494         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1495           There's actually no need to set the caps before pushing -
1496           the acceptcaps method will handle it anyway.
1497
1498 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1499
1500         * docs/gst/gstreamer-sections.txt:
1501         * win32/common/libgstreamer.def:
1502         * gst/gstutils.c: (gst_element_seek_simple):
1503         * gst/gstutils.h:
1504           API: add gst_element_seek_simple() (#342238).
1505
1506 2006-05-18  Edward Hervey  <edward@fluendo.com>
1507
1508         * gst/gsttypefind.c: (gst_type_find_get_type):
1509         * gst/gsttypefind.h:
1510         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1511         registered for GstTypeFind pointers. This allows wrapping the structure
1512         in bindings (i.e. gst-python).
1513
1514 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1515
1516         * gst/gsttagsetter.c:
1517           Docs additions and fixes (see #339918).
1518
1519 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1520
1521         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1522         The caps intersection algorithm can produce multiple copies of the
1523         caps. Until that is fixed, we need to simplify the result to be
1524         sure whether the allowed caps are fixed or not.
1525
1526         * plugins/elements/gstqueue.c: (gst_queue_init),
1527         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1528         (gst_queue_push_one):
1529         Proxied buffer alloc should not set the caps on the source pad.
1530         When pushing buffers, we always accept the caps change that triggers.
1531         This prevents negotiation errors caused by caps changing mid-stream 
1532         and then being refused on our source pad (because upstream is now
1533         refusing those caps).
1534
1535 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1536
1537         * tests/examples/helloworld/helloworld.c: (main):
1538           Must plug audioconvert and audioresample between decoder
1539           and audio sink.
1540
1541 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1542
1543         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1544         (load_feature), (load_plugin):
1545         Allow empty strings for some of the plugin fields so we don't 
1546         drop valid plugin entries that were written out correctly
1547         (Fixes #341479)
1548
1549 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1550         
1551         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1552           Use g_remove and g_rename instead of remove and rename that don't 
1553           handle utf8 characters. rename was failing for users who had specific
1554           characters in their name then the registry was built at each 
1555           gstreamer init.
1556         * win32/vs6/gst_inspect.dsp:
1557         * win32/vs6/gst_launch.dsp:
1558         * win32/vs6/libgstbase.dsp:
1559         * win32/vs6/libgstcoreelements.dsp:
1560         * win32/vs6/libgstreamer.dsp:
1561           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1562           build of libgstreamer and clean unused libraries in projects link 
1563           settings.
1564
1565 2006-05-17  Edward Hervey  <edward@fluendo.com>
1566
1567         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1568         The queue is not responsible for pushing an EOS when receiving a fatal
1569         flow error. It's up to the real element driving the pipeline to do that.
1570
1571 2006-05-16  Edward Hervey  <edward@fluendo.com>
1572
1573         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1574         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1575         buffer returned a fatal error. It should just send an EOS and stop
1576         its task.
1577         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1578         when pushing buffers on the queue and will be able to handle the event.
1579
1580 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1581
1582         * docs/manual/basics-bins.xml:
1583         * docs/manual/basics-init.xml:
1584           Fix typos and minor errors in sample code (#341856).
1585
1586 2006-05-16  Wim Taymans  <wim@fluendo.com>
1587
1588         * docs/design/part-qos.txt:
1589         Fix indexes in formulas to make more sense.
1590
1591 2006-05-15  Wim Taymans  <wim@fluendo.com>
1592
1593         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1594         Don't report POSITION based on clock time if sync is
1595         disabled in a sink.
1596
1597 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1598
1599         * gst/gstobject.h:
1600           Add cast to make compiler happy - refcount variable was a gint
1601           in GstObject but is a guint in GObject and g_atomic_int_get()
1602           wants a gint *.
1603
1604 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * gst/parse/Makefile.am:
1607           chain commands using &&, which also makes parallel make work
1608
1609 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1610
1611         * docs/gst/gstreamer-sections.txt:
1612         * gst/gstevent.c:
1613         * gst/gstevent.h:
1614         * gst/gstmessage.h:
1615           Minor docs fixes.
1616
1617 === release 0.10.6 ===
1618
1619 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1620
1621         * configure.ac:
1622           releasing 0.10.6, "Take the cannoli"
1623
1624 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1625
1626         * tools/gst-launch.c: (print_tag):
1627           Fix use of uninitialized variable in the hypothetical
1628           case that some broken plugin creates a GST_TAG_IMAGE
1629           tag containing a NULL buffer (#341667).
1630
1631 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * tools/gst-launch.c: (print_tag):
1634           Print something more intelligible for image tags when
1635           using the -t switch (#341556).
1636
1637 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1638
1639         * Makefile.am:
1640           updates for win32
1641         * configure.ac:
1642           define GST_MAJORMINOR so we have it available in win32/common/config.h
1643           Possibly remove it from our Makefile.am files later
1644         * win32/common/config.h:
1645         * win32/common/config.h.in:
1646           added GST_MAJORMINOR
1647         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1648         * win32/common/gstversion.h:
1649           updated
1650
1651 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1652
1653         * win32/MANIFEST:
1654           Update win32 files listing.
1655         * win32/common/gstversion.h:
1656           Add GST_MAJORMINOR definition.
1657         * win32/common/libgstreamer.def:
1658           Add new exported functions.
1659           
1660 2006-05-12  Michael Smith  <msmith@fluendo.com>
1661
1662         * gst/gstplugin.c: (gst_plugin_load_file):
1663           If an so file has no plugin entry point, unload the module.
1664
1665 2006-05-11  Wim Taymans  <wim@fluendo.com>
1666
1667         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1668         (gst_queue_set_property):
1669         Don't forget to signal the _chain or _loop function 
1670         when the queue size or thresholds change since that might
1671         cause them to make progres again.
1672
1673 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1674
1675         * gst/gstclock.c: (gst_clock_class_init):
1676         * gst/gstindex.c: (gst_index_class_init):
1677         * gst/gstobject.c: (gst_object_class_init):
1678         * gst/gstpad.c: (gst_pad_class_init):
1679         * gst/gstpipeline.c: (gst_pipeline_class_init):
1680         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1681         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1682         * libs/gst/base/gstbasetransform.c:
1683         (gst_base_transform_class_init):
1684         * libs/gst/net/gstnetclientclock.c:
1685         (gst_net_client_clock_class_init):
1686         * libs/gst/net/gstnettimeprovider.c:
1687         (gst_net_time_provider_class_init):
1688         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1689         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1690         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1691         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1692         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1693         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1694         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1695         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1696         * plugins/elements/gsttee.c: (gst_tee_class_init):
1697         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1698         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1699           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1700
1701 2006-05-11  Wim Taymans  <wim@fluendo.com>
1702
1703         * gst/gstbuffer.c: (_gst_buffer_initialize):
1704         Register subbufer along with the buffer type so that
1705         it does not accidentally gets registered from N
1706         different streaming threads in a non threadsafe way.
1707
1708 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * gst/gstbuffer.h:
1711         * gst/gstevent.h:
1712         * gst/gstmessage.h:
1713           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1714           gst_event_ref() and gst_message_ref() functions again
1715           (ugly hack, please do fix if there's a better way besides
1716           overrides.txt, which doesn't seem to work).
1717
1718 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         * libs/gst/check/gstcheck.h:
1721           add an assert for setting state to avoid lots of repetitive code
1722           in the future
1723
1724 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * gst/gstvalue.c: (gst_value_serialize_flags):
1727           fix a leak if no flags are set
1728         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1729           fix leak in tests
1730
1731 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1732
1733         * docs/manual/basics-pads.xml:
1734           Expand a bit on caps and filtered links and update
1735           examples that were still using the no longer existing
1736           gst_pad_link_filtered() (#338206).
1737
1738 2006-05-10  Wim Taymans  <wim@fluendo.com>
1739
1740         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1741         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1742         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1743         (gst_collect_pads_stop):
1744         * libs/gst/base/gstcollectpads.h:
1745         No need to call _stop in _finalize.
1746         Iterate the main pad list in _finalize.
1747         Added some more debug.
1748         Free lists and data in the right order.
1749         Also free data whem doing _remove_pad when stopped for
1750         backward compatibility protect ::started with PAD_LOCK as
1751         well.
1752
1753 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1754
1755         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1756         (gst_structure_parse_value):
1757           add some comments
1758           rename a method so that it actually says what it does better
1759
1760 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1761
1762         * gst/gstevent.c: (_gst_event_initialize):
1763         * gst/gstformat.c: (_gst_format_initialize):
1764           make sure some essential types used by events are registered
1765           as part of gst_init()
1766         * gst/gstvalue.c: (gst_value_serialize_flags):
1767           if no flags are set, serialize them to a value that represents NONE
1768           so that deserializing them works
1769         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1770           add tests for serialization and deserialization of flags
1771
1772 2006-05-10  Wim Taymans  <wim@fluendo.com>
1773
1774         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1775         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1776         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1777         (gst_collect_pads_event), (gst_collect_pads_chain):
1778         Update docs.
1779         Better debug info.
1780         Catch and return errors from the collect function
1781         Refuse data on eos pads.
1782
1783 2006-05-10  Edward Hervey  <edward@fluendo.com>
1784
1785         * gst/gstinterface.h:
1786         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1787         GInterface type checking.
1788         They were previously using non-defined macros.
1789
1790 2006-05-09  Wim Taymans  <wim@fluendo.com>
1791
1792         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1793         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1794         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1795         (gst_collect_pads_start), (gst_collect_pads_stop),
1796         (gst_collect_pads_peek), (gst_collect_pads_pop),
1797         (gst_collect_pads_available), (gst_collect_pads_read),
1798         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1799         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1800         (gst_collect_pads_chain):
1801         * libs/gst/base/gstcollectpads.h:
1802         Clean up the mess that is collectpads, add comments and
1803         FIXMEs where needed.
1804         Maintain a separate pad list so we can add pads while
1805         collecting the other ones. For this we need a new separate 
1806         lock (see comics).
1807         Fix memory leak in finalize.
1808         Refactor some weird code to set/unset pad flushing flags, mark
1809         with comments.
1810         Don't crash in _available, _read, _flush when we're EOS.
1811
1812         * tests/check/libs/.cvsignore:
1813         Ignore adapter check binary.
1814
1815 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1816
1817         * gst/gstindex.c: (gst_index_resolver_get_type):
1818         * plugins/elements/gstfakesink.c:
1819         (gst_fake_sink_state_error_get_type):
1820         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1821         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1822         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1823           Const-ify GEnumValue arrays.
1824
1825 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1826
1827         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1828           Add test case for flags + gst_buffer_make_metadata_writable().
1829
1830 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1831
1832         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1833           gst_buffer_make_metadata_writable() should maintain the
1834           buffer flags (those that make sense at least) (see #340859).
1835
1836 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1837
1838         * tools/gst-inspect.c:
1839         * tools/gst-launch.c:
1840         * tools/gst-typefind.c:
1841         * tools/gst-xmlinspect.c:
1842         * tools/tools.h:
1843           Fix up includes: need to include stdlib.h in tools.h for exit().
1844
1845 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1846
1847         * gst/gsttaglist.c: (_gst_tag_initialize):
1848         * gst/gsttaglist.h:
1849           API: add GST_TAG_IMAGE tag (#340721).
1850
1851 2006-05-08  Wim Taymans  <wim@fluendo.com>
1852
1853         * gst/gstquery.c:
1854         Added some docs for the segment query.
1855
1856 2006-05-08  Wim Taymans  <wim@fluendo.com>
1857
1858         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1859         (gst_base_src_loop), (gst_base_src_change_state):
1860         Always push non-flushing serialized events in the streaming 
1861         thread.
1862
1863 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1864
1865         * gst/gsterror.c: (_gst_stream_errors_init):
1866           Add a missing error string.
1867
1868 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1869
1870         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1871         Add applied_rate to the debug
1872
1873         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1874         Copy applied_rate into the outgoing NEWSEGMENT event
1875
1876 2006-05-08  Wim Taymans  <wim@fluendo.com>
1877
1878         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1879
1880         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1881         (gst_base_sink_change_state):
1882         call ::unlock before taking the PREROLL_LOCK so we can safely
1883         handle elements that lock in ::render.
1884         Fixes #340174.
1885
1886 2006-05-08  Edward Hervey  <edward@fluendo.com>
1887
1888         * autogen.sh: (CONFIGURE_DEF_OPT): 
1889         Darwin's libtoolize is in fact called glibtoolize.
1890         Adding glibtoolize to the list of accepted names for libtoolize.
1891
1892 2006-05-08  Wim Taymans  <wim@fluendo.com>
1893
1894         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1895         Unify error handling, don't post an error message
1896         when a push() returns EOS but perform our normal EOS
1897         handling code. Fixes #340772.
1898
1899 2006-05-08  Wim Taymans  <wim@fluendo.com>
1900
1901         * docs/design/part-overview.txt:
1902         Make upsteam/downstream concepts more clear.
1903         Give an example of serialized/non-serialized events.
1904
1905         * docs/design/part-events.txt:
1906         * docs/design/part-streams.txt:
1907         Mention applied_rate.
1908
1909         * docs/design/part-trickmodes.txt:
1910         Mention applied rate, flesh out some more use cases.
1911
1912         * gst/gstevent.c: (gst_event_new_new_segment),
1913         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1914         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1915         (gst_event_parse_tag), (gst_event_new_buffer_size),
1916         (gst_event_parse_buffer_size), (gst_event_new_qos),
1917         (gst_event_parse_qos), (gst_event_parse_seek),
1918         (gst_event_new_navigation):
1919         * gst/gstevent.h:
1920         Add applied_rate field to NEWSEGMENT event.
1921         API: gst_event_new_new_segment_full()
1922         API: gst_event_parse_new_segment_full()
1923
1924         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1925         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1926         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1927         * gst/gstsegment.h:
1928         Add applied_rate to GstSegment structure.
1929         Make calculation of stream_time and running_time more correct
1930         wrt rate/applied_rate.
1931         Add some more docs.
1932         API: GstSegment::applied_rate field
1933         API: gst_segment_set_newsegment_full();
1934
1935         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1936         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1937         * libs/gst/base/gstbasetransform.c:
1938         (gst_base_transform_sink_eventfunc),
1939         (gst_base_transform_handle_buffer):
1940         Parse and use applied_rate in the GstSegment field.
1941
1942         * tests/check/gst/gstevent.c: (GST_START_TEST):
1943         Add check for applied_rate field.
1944
1945         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1946         (gstsegments_suite):
1947         Add more checks for various GstSegment operations.
1948
1949 2006-05-08  Wim Taymans  <wim@fluendo.com>
1950
1951         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1952         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1953         (gst_base_sink_get_position), (gst_base_sink_change_state):
1954         Store the sync time of the buffer end position separatly in a
1955         new variable eos_rtime so we can properly sync the EOS event.
1956         Fixes #340697.
1957         Fix the docs for gst_base_sink_set_qos_enabled().
1958         Don't set segment start to invalid value when we receive a 
1959         non TIME newsegment.
1960         get closer to handling position reporting for negative rates 
1961         correctly.
1962
1963 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1964
1965         * gst/gstcaps.c:
1966         Docs about how to print caps for debug purposes.
1967
1968         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1969         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1970
1971 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1972
1973         * gst/gstelement.c:
1974           use full enum names and preprend a '%' in docs strings to make recent 
1975           gtk-doc turn that into a link
1976
1977 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1978
1979         * docs/manual/basics-bins.xml:
1980         * docs/manual/basics-bus.xml:
1981         * docs/manual/basics-pads.xml:
1982           Some typo fixes, some additions, some clarifications. 
1983
1984 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1985
1986         * tools/gst-inspect.c: (main):
1987         * tools/gst-launch.c: (main):
1988         * tools/gst-run.c: (main):
1989         * tools/gst-typefind.c: (main):
1990         * tools/gst-xmlinspect.c: (main):
1991           Use the string passed to g_option_context_new() for
1992           what it's intended for - the program name is already
1993           printed elsewhere.
1994
1995 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1996
1997         * tools/Makefile.am:
1998         * tools/gst-inspect.c: (main):
1999         * tools/gst-launch.c: (main):
2000         * tools/gst-xmlinspect.c: (main):
2001         * tools/tools.h:
2002           Add back --version command line option (#340460).
2003
2004         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2005           Add --version option and use GOption for argument parsing; refactor a
2006           bit; accept directories as arguments and recurse into them; lastly,
2007           print a decent error message when things go wrong.
2008
2009 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2010
2011         * docs/manual/basics-bins.xml:
2012         Don't mention GstThread (#340611)
2013         * docs/manual/basics-elements.xml:
2014         Update link to GObject tutorial (#340607)
2015         
2016 2006-05-05  Wim Taymans  <wim@fluendo.com>
2017
2018         * gst/gstbuffer.h:
2019         * gst/gstminiobject.c:
2020         Add note about refcounting and miniobject/buffer writeability
2021         to docs. Fixes #340604
2022
2023         * gst/gstelementfactory.h:
2024         Added some explanation about @klass.
2025
2026 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2027
2028         * docs/manual/intro-motivation.xml:
2029         * docs/manual/manual.xml:
2030         Avoid CORBA & Bonobo references (#340598)
2031
2032 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2033
2034         * docs/manual/basics-bus.xml:
2035         * docs/manual/basics-pads.xml:
2036         Fix up some inaccuracies and omissions (#340609)
2037         
2038 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2039
2040         * gst/gstghostpad.c:
2041           Small typo in docs (#340625)
2042
2043 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2044
2045         * gst/parse/Makefile.am:
2046           Make 'make -j' proof (see #340698).
2047
2048 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2049
2050         * configure.ac:
2051           Require GLib-2.8 here as well.
2052
2053 2006-05-05  Wim Taymans  <wim@fluendo.com>
2054
2055         * gst/glib-compat.c:
2056         * gst/gst.c: (init_pre):
2057         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2058         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2059         (gst_object_dispatch_properties_changed):
2060         * gst/gstobject.h:
2061         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2062         * gst/gststructure.c: (gst_structure_set_valist):
2063         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2064         Remove pre glib2.8 compatibility, fixes #340508
2065
2066 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * gst/gsttaglist.h:
2069           Mention type of tags in doc blurbs.
2070
2071 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2072
2073         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2074         (gst_pad_configure_src), (gst_pad_push):
2075         Restore acceptcaps checking behaviour now that good plugins have
2076         been released.
2077
2078 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2079
2080         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2081
2082         * gst/gst.c:
2083         * gst/gstbus.c:
2084         * gst/gstclock.c:
2085         * gst/gstevent.c:
2086         * gst/gstformat.c:
2087         * gst/gstmessage.c:
2088         * gst/gstparse.c:
2089         * gst/gstquery.c:
2090         * gst/gstutils.c:
2091         * gst/parse/Makefile.am:
2092         * libs/gst/base/gstadapter.c:
2093         * libs/gst/base/gstbasesrc.c:
2094         * libs/gst/base/gstpushsrc.c:
2095         * libs/gst/base/gsttypefindhelper.c:
2096         * plugins/elements/gstfakesrc.c:
2097         * plugins/elements/gstidentity.c:
2098           Make sure gstprivate.h and/or config.h are
2099           always included first, otherwise some of our
2100           defines (like _FILE_OFFSET_BITS) might be
2101           redefined in the system headers. Fixes build
2102           on opensolaris (#340016).
2103
2104 2006-05-04  Wim Taymans  <wim@fluendo.com>
2105
2106         * docs/libs/gstreamer-libs-sections.txt:
2107         API: addition: gst_adapter_take_buffer()
2108         
2109         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2110         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2111         (gst_adapter_available_fast):
2112         * libs/gst/base/gstadapter.h:
2113         Prepare for optimizing the hell out of this hugely inefficient
2114         piece of code. 
2115         Added gst_adapter_take_buffer() so we can at least start thinking
2116         about subbuffering and merging.
2117         Added some comments.
2118
2119         * tests/check/Makefile.am:
2120         * tests/check/libs/adapter.c: (GST_START_TEST),
2121         (gst_adapter_suite), (main):
2122         Added GstAdapter check.
2123
2124 2006-05-04  Wim Taymans  <wim@fluendo.com>
2125
2126         * docs/design/part-overview.txt:
2127         Fix some typos, add blurb about buffer flags.
2128
2129 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2130
2131         * docs/libs/gstreamer-libs-sections.txt:
2132           make sure GstBaseTransformClass shows up in the docs
2133         * libs/gst/base/gstbasetransform.c:
2134         * libs/gst/base/gstbasetransform.h:
2135           move docs so gtk-doc picks it up now
2136
2137 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2138
2139         * docs/libs/gstreamer-libs-sections.txt:
2140           add missing symbols to docs
2141
2142 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2143
2144         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2145           back out the newsegment handling change, see #340060 for ongoing
2146           discussion
2147
2148 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2149
2150         * tools/gst-run.c: (get_candidates), (main):
2151           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2152           work); fix typo in error message. Fixes #340079.
2153
2154 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2155
2156         * common/Makefile.am:
2157         * docs/Makefile.am:
2158         * docs/faq/Makefile.am:
2159         * docs/gst/Makefile.am:
2160         * docs/libs/Makefile.am:
2161         * docs/manual/Makefile.am:
2162         * docs/plugins/Makefile.am:
2163         * docs/pwg/Makefile.am:
2164         * docs/slides/Makefile.am:
2165         * docs/upload.mak:
2166         * common/upload.mak:
2167           move upload.mak to common
2168
2169 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2170
2171         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2172           add more asserts on refcounts
2173           do more cleanup at end of tests
2174           fix test leaks showing in FC5
2175
2176 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2177
2178         * plugins/elements/gsttypefindelement.c:
2179         (gst_type_find_element_handle_event):
2180         reverted wrong change and reflowed code to avoid others falling into
2181         this trap
2182
2183 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2186           fix changelog entry about last collectpads change,
2187           add notes about proper fix
2188
2189 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2190
2191         * gst/gst.c:
2192         * gst/gstregistry.c: (gst_registry_scan_path_level),
2193         (gst_registry_scan_path):
2194         * gst/gstregistry.h:
2195           only write out registry if it has changed, fixes #338339
2196
2197 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2198
2199         * gst/gstbin.c:
2200         * gst/gstpipeline.c:
2201         * plugins/elements/gstcapsfilter.c:
2202         * plugins/elements/gstfakesink.c:
2203         * plugins/elements/gstfakesrc.c:
2204         * plugins/elements/gstfdsink.c:
2205         * plugins/elements/gstfdsrc.c:
2206         * plugins/elements/gstfilesink.c:
2207         * plugins/elements/gstfilesrc.c:
2208         * plugins/elements/gstidentity.c:
2209         * plugins/elements/gstqueue.c:
2210         * plugins/elements/gsttee.c:
2211         * plugins/elements/gsttypefindelement.c:
2212         (gst_type_find_element_handle_event):
2213           make GstElementDetails const
2214
2215 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2216
2217         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2218         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2219         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2220           more detailed debug and formatting cleanup,
2221           forward newsegments to src-pad (so that e.g. adder not eats them)
2222
2223 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2224
2225         * gst/gstutils.c: (gst_element_link_pads):
2226           cleanup double code
2227
2228 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2229
2230         * libs/gst/controller/gstcontroller.c:
2231         (gst_controller_sync_values):
2232           some little tuning
2233         * tests/check/libs/controller.c: (GST_START_TEST),
2234         (gst_controller_suite):
2235           a new test for live value handling
2236
2237 2006-04-28  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/gstutils.c: (push_and_ref):
2240         Added some more docs.
2241         Fix refcount issue whith gst_element_found_tags() helper 
2242         function. Fixes #338335
2243
2244         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2245         Added testsuite for gst_element_found_tags().
2246
2247 2006-04-28  Michael Smith  <msmith@fluendo.com>
2248
2249         * gst/gstvalue.c: (gst_value_serialize_flags):
2250           Avoid NULL dereference when trying to serialize flags containing
2251           invalid values.
2252
2253 2006-04-28  Michael Smith  <msmith@fluendo.com>
2254
2255         * plugins/elements/gsttypefindelement.c:
2256         (gst_type_find_element_handle_event):
2257           If we get EOS before any data is accumulated, don't use
2258           uninitialised local variables.
2259
2260 2006-04-28  Michael Smith  <msmith@fluendo.com>
2261
2262         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2263         (gst_dp_event_from_packet):
2264           Fixes in reading/writing events over GDP (not currently used?) - 
2265           dereferencing NULL events for unknown/invalid event types, memory
2266           leak, and change g_warning to GST_WARNING.
2267
2268 2006-04-28  Wim Taymans  <wim@fluendo.com>
2269
2270         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2271         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2272         (gst_base_sink_get_position), (gst_base_sink_change_state):
2273         When frame dropping is enabled, we should not ignore frames
2274         without a duration.
2275         Update some documentation.
2276
2277 2006-04-28  Wim Taymans  <wim@fluendo.com>
2278
2279         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2280         (gst_base_src_send_event), (gst_base_src_change_state):
2281         Documentation updates.
2282
2283 2006-04-28  Wim Taymans  <wim@fluendo.com>
2284
2285         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2286         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2287         handle EAGAIN, EINTR and short writes correctly. Also clean
2288         up some error cases, avoid a deadlock on bad file descriptors and
2289         use GST_DEBUG_OBJECT.
2290         Fixes #339843
2291
2292 2006-04-28  Wim Taymans  <wim@fluendo.com>
2293
2294         * gst/gstvalue.c: (gst_value_serialize_buffer),
2295         (gst_value_deserialize_buffer):
2296         Don't try to serialize a GValue with a NULL buffer. 
2297         Fixes #339821.
2298
2299         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2300         Added check for serialisation of NULL buffers.
2301
2302 2006-04-28  Wim Taymans  <wim@fluendo.com>
2303
2304         * gst/gstminiobject.c: (gst_value_take_mini_object):
2305         Taking a NULL miniobject is valid, fix the case where
2306         we try to unref the NULL miniobject.
2307
2308 2006-04-28  Wim Taymans  <wim@fluendo.com>
2309
2310         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2311
2312         * gst/gstbin.c: (gst_bin_handle_message_func):
2313         Update docs.
2314         Don't leak bin refcount when a state recalc is
2315         in progress and we delay another one #339808.
2316
2317 2006-04-28  Wim Taymans  <wim@fluendo.com>
2318
2319         * docs/design/part-TODO.txt:
2320         Mention QoS as an ongoing work item.
2321
2322         * docs/design/part-buffering.txt:
2323         New doc about buffering that needs to be fleshed out
2324         at some point.
2325
2326         * docs/design/part-qos.txt:
2327         More QoS policy for decoders/demuxers/transforms
2328
2329         * docs/design/part-trickmodes.txt:
2330         Small update.
2331
2332 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2333
2334         * configure.ac:
2335           back to HEAD
2336
2337 === release 0.10.5 ===
2338
2339 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2340
2341         * configure.ac:
2342           releasing 0.10.5, "Fogo"
2343
2344 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2345
2346         patch by: Wim Taymans
2347
2348         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2349         (gst_pad_configure_src), (gst_pad_push):
2350         * gst/gstpipeline.c: (gst_pipeline_init):
2351           Fix internal data flow errors.  Fixes #338711.
2352
2353 2006-04-12  Wim Taymans  <wim@fluendo.com>
2354
2355         * tests/check/gst/gstelement.c: (GST_START_TEST):
2356         Don't leak the factory.
2357
2358 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2359
2360         * configure.ac:
2361         * win32/common/config.h:
2362           prerelease
2363
2364 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2365
2366         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2367         (gst_controller_unset_all):
2368           Free allocated GstTimedValues when freeing list nodes.
2369           Should fix leaks 'make check-valgrind' complains about.
2370
2371         * win32/common/libgstcontroller.def:
2372           Add gst_controller_unset_all.
2373
2374 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2375
2376         * docs/libs/gstreamer-libs-sections.txt:
2377         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2378         (gst_controller_unset_all):
2379         * libs/gst/controller/gstcontroller.h:
2380         API: Added new method gst_controller_unset_all()
2381         fixed gst_controller_unset()
2382         * tests/check/libs/controller.c: (GST_START_TEST),
2383         (gst_controller_suite):
2384         Added two testcases for new and fixed method
2385
2386 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2389           MSG_DONTWAIT is not defined on Cygwin, so work
2390           around that (fixes #317048).
2391           
2392 2006-04-11  Wim Taymans  <wim@fluendo.com>
2393
2394         * gst/gstelementfactory.c: (gst_element_register),
2395         (gst_element_factory_create), (gst_element_factory_make):
2396         Some cleanups.
2397         Fixed a FIXME.
2398         Updated docs (Fixes #131079)
2399
2400         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2401         Small cleanups.
2402
2403         * tests/check/gst/gstelement.c: (GST_START_TEST),
2404         (gst_element_suite):
2405         Added testcase for elementfactory class field.
2406
2407 2006-04-10  Wim Taymans  <wim@fluendo.com>
2408
2409         * gst/gstsegment.c:
2410         Added some more docs.
2411
2412         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2413         (gst_base_sink_reset_qos):
2414         Calculate more accurate rate values.
2415
2416 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2417
2418         * gst/gst_private.h:
2419           add a new #ifdef to use __declspec(dllimport) only for
2420           other modules and not for gstreamer core
2421         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2422           use gst_guint64_to_gdouble for conversion
2423         * win32/common/libgstreamer.def:
2424           add new exported functions
2425         * win32/vs6/gst_inspect.dsp:
2426         * win32/vs6/gst_launch.dsp:
2427         * win32/vs6/libgstbase.dsp:
2428         * win32/vs6/libgstcontroller.dsp:
2429         * win32/vs6/libgstcoreelements.dsp:
2430         * win32/vs6/libgstdataprotocol.dsp:
2431         * win32/vs6/libgstnet.dsp:
2432           update project files
2433
2434 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2435
2436         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2437         * gst/gstclock.c: (gst_clock_class_init):
2438         * gst/gstelement.c: (gst_element_class_init):
2439         * gst/gstindex.c: (gst_index_class_init):
2440         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2441         * gst/gstobject.c: (gst_object_class_init),
2442         (gst_signal_object_class_init):
2443         * gst/gstpad.c: (gst_pad_class_init):
2444         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2445         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2446         * gst/gstregistry.c: (gst_registry_class_init):
2447         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2448         * gst/gsttask.c: (gst_task_class_init):
2449         * gst/gstxml.c: (gst_xml_class_init):
2450         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2451         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2452         (gst_base_src_loop):
2453         * libs/gst/controller/gstcontroller.c:/
2454         (_gst_controller_class_init):
2455         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2456         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2457         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2458         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2459         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2460         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2461
2462 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * gst/gstpad.c: (gst_pad_link):
2465           Must set peer pads before calling the link function, otherwise
2466           a task started from a link function might get a flow-not-linked
2467           result when trying to push because the other thread where the
2468           linking happens hasn't had a chance to set the peers yet. This
2469           might happen for example when a queue gets linked to a downstream
2470           element, as queue starts a streaming task when its source pad
2471           gets linked. Happens in real life when playing back flac/musepack
2472           files in playbin (#332390).
2473           
2474 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2475
2476         * gst/gstindex.h:
2477         * gst/gstxml.h:
2478         * libs/gst/base/gstadapter.h:
2479         * libs/gst/base/gstbasesink.h:
2480         * libs/gst/base/gstbasesrc.h:
2481         * libs/gst/base/gstbasetransform.h:
2482         * libs/gst/base/gstcollectpads.h:
2483         * libs/gst/base/gstpushsrc.h:
2484         Fix broken GObject macros
2485
2486 2006-04-07  Wim Taymans  <wim@fluendo.com>
2487
2488         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2489         Initialize start and stop times, thanks valgrind.
2490
2491 2006-04-07  Wim Taymans  <wim@fluendo.com>
2492
2493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2494         Be a bit nicer to badly behaving upstream elements that expect
2495         us to deal with non TIME segments and timestamps (such as fakesrc
2496         in the testsuite).
2497
2498 2006-04-07  Wim Taymans  <wim@fluendo.com>
2499
2500         * gst/gstbus.c:
2501         Small documentation clarification about the signal watch.
2502
2503         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2504         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2505         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2506         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2507         (gst_base_sink_get_position_last),
2508         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2509         Convert and store timestamps in stream time and running time, the
2510         raw timestamps are not usefull, also document this better.
2511         Use different window sizes for good and bad QoS observations so
2512         we react to badness a little quicker.
2513         Keep track of the amount of rendered and dropped buffers.
2514         Send QoS timestamps in running time.
2515
2516         * libs/gst/base/gstbasetransform.c:
2517         (gst_base_transform_sink_eventfunc),
2518         (gst_base_transform_handle_buffer):
2519         Compare QoS timestamps against running time.
2520
2521 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2522
2523         * gst/gstpad.c:
2524           Typo fixes in docs.
2525
2526 2006-04-06  Michael Smith  <msmith@fluendo.com>
2527
2528         * gst/gstpad.c: (gst_pad_set_property):
2529           Use g_value_get_object() instead of g_value_dup_gst_object(),
2530           to avoid double-reffing the pad template (which we then sink,
2531           so this worked previously if (and only if) the pad template
2532           was floating.
2533
2534         * gst/gstpadtemplate.c: (gst_pad_template_init),
2535         (gst_pad_template_pad_created):
2536           Never return floating references to pad templates, create
2537           them as initially-sunken.
2538
2539           Document an extra function (and make this stop sinking our
2540           pad template, since that is now guaranteed to do nothing,
2541           since we created it sunken).
2542
2543         * gst/gstghostpad.c:
2544           Fix docs typo.
2545
2546 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2547
2548         * gst/gstinfo.c: (__gst_in_valgrind):
2549           Add some newlines.
2550
2551         * plugins/elements/gsttypefindelement.c:
2552         (gst_type_find_element_chain):
2553           Don't leak buffer caps.
2554
2555 2006-04-06  Michael Smith  <msmith@fluendo.com>
2556
2557         * gst/parse/grammar.y:
2558           Fix a leak in parse-launch for any source-or-sink named element 
2559           references used.
2560
2561         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2562           Unref the pipeline if it exists after we've failed parsing.
2563
2564 2006-04-05  Michael Smith  <msmith@fluendo.com>
2565
2566         * gst/gstpipeline.c: (gst_pipeline_init):
2567           When we create a pipeline bus, initially create it in flushing mode.
2568           Fixes leaks in at least one test, and makes a new pipeline work the
2569           same as one that has gone to READY and then back to NULL.
2570
2571         * gst/gstelement.c:
2572           Typo fix in docs.
2573
2574 2006-04-05  Michael Smith  <msmith@fluendo.com>
2575
2576         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2577           Unref a pad we reffed.
2578         * tests/check/gst/gstutils.c: (GST_START_TEST):
2579           Unref bins
2580
2581 2006-04-05  Michael Smith  <msmith@fluendo.com>
2582
2583         * gst/gstquery.c: (gst_query_set_formats),
2584         (gst_query_set_formatsv):
2585           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2586
2587 2006-04-05  Michael Smith  <msmith@fluendo.com>
2588
2589         * tests/check/generic/sinks.c: (GST_START_TEST):
2590           Fix a variety of memleaks in sinks check, which are only sometimes 
2591           shown by running the tests under valgrind (weird?).
2592
2593 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2594
2595         * docs/version.entities.in:
2596           Fix the substituted entity name after thomas' changes on the
2597           weekend.
2598
2599 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2600
2601         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2602         VALGRIND_PRINTF
2603         
2604 2006-04-05  Andy Wingo  <wingo@pobox.com>
2605
2606         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2607
2608         * libs/gst/base/gstbasetransform.c
2609         (gst_base_transform_sink_eventfunc): When resetting our segment on
2610         FLUSH_STOP, also update the flag saying we haven't seen a
2611         newsegment.
2612
2613 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2614
2615         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2616
2617         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2618         (gst_plugin_check_license):
2619           minor clean-ups: G_DEFINE_TYPE already takes care of the
2620           parent_class stuff, no need to do it twice. Mark array of
2621           license strings as constant. (#337103)
2622           
2623 2006-04-04  Michael Smith  <msmith@fluendo.com>
2624
2625         * tools/gst-inspect.c: (print_element_list):
2626           Free the right plugin list; fixes a memory leak.
2627
2628 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2631
2632         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2633           Don't error out on empty buffers (#336945).
2634           
2635 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2636
2637         * docs/libs/gstreamer-libs-sections.txt:
2638         * gst/gsttaglist.c:
2639         * libs/gst/base/gstbasesink.c:
2640         * libs/gst/base/gstbasesink.h:
2641         * libs/gst/base/gstbasesrc.c:
2642         * libs/gst/base/gstbasesrc.h:
2643           Documentation updates. Make BaseSink and BaseSrc docs contain the
2644           class structure so that people can actually see the prototypes for
2645           virtual functions they're supposed to be overriding.
2646
2647 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * plugins/elements/gsttypefindelement.c:
2650         (gst_type_find_element_chain):
2651           More debug info; when skipping typefinding, send cached
2652           events in all cases.
2653
2654 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * configure.ac:
2657           use new AS_VERSION and AS_NANO macros
2658         * gst/gst-i18n-lib.h:
2659         * gst/gst.c:
2660         * gst/gsterror.c:
2661         * gst/gstversion.h.in:
2662         * win32/common/config.h:
2663         * win32/common/config.h.in:
2664           update accordingly
2665
2666 2006-03-31  Michael Smith  <msmith@fluendo.com>
2667
2668         * plugins/elements/gsttypefindelement.c:
2669         (gst_type_find_element_chain):
2670           Do not typefind content if the buffers already have caps.
2671           Neccesary for icydemux (#333657), and the right thing to do anyway.
2672
2673 2006-03-30  Wim Taymans  <wim@fluendo.com>
2674
2675         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2676         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2677         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2678         (gst_base_sink_record_qos_observation),
2679         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2680         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2681         (gst_base_sink_change_state):
2682         More QoS measurements as described in the design doc.
2683         Get rid of ringbuffer with observations, running average is
2684         more simple and equally good.
2685         Calculates valid proportion now.
2686         Added beginning of flood measurement.
2687
2688 2006-03-29  Wim Taymans  <wim@fluendo.com>
2689
2690         * docs/design/part-qos.txt:
2691         * gst/gstclock.c:
2692         Small documentation updates and additions.
2693
2694 2006-03-29  Wim Taymans  <wim@fluendo.com>
2695
2696         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2697         (gst_base_src_send_event), (gst_base_src_loop),
2698         (gst_base_src_change_state):
2699         Perform the EOS logic when we reach the segment stop position.
2700         Fix compilation on gcc4.1
2701
2702 2006-03-29  Wim Taymans  <wim@fluendo.com>
2703
2704         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2705
2706         * plugins/elements/gstqueue.c: (gst_queue_init),
2707         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2708         (gst_queue_set_property):
2709         * plugins/elements/gstqueue.h:
2710         In queue, when EOS is received, if minimum threshold > max_size -
2711         current_level, there is chance that queue blocks forever in conditional
2712         item del wait. This is because the queue is not emptied completely due
2713         to minimum threshold.  Here is another approach. Instead of setting
2714         cur_levels to max in EOS, just zero all minimum threshold levels. This
2715         should make sure that queue gives out all data. When going to READY
2716         (stop) state, just reset the original minimum threshold levels.
2717         Fixes #336336.
2718
2719 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2720
2721         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2722         (gst_type_find_element_handle_event),
2723         (gst_type_find_element_send_cached_events),
2724         (gst_type_find_element_change_state):
2725         * plugins/elements/gsttypefindelement.h:
2726           When typefinding is done in push mode, we should cache
2727           events we receive during typefinding instead of just
2728           dropping them (e.g. newsegment, custom events from
2729           dvdreadsrc etc.) and then send them out once we've
2730           determined the type of the stream (and decodebin
2731           has had a chance to plug in a decoder/demuxer).
2732           
2733 2006-03-27  Wim Taymans  <wim@fluendo.com>
2734
2735         * docs/design/part-qos.txt:
2736         First QoS ideas.
2737
2738 2006-03-27  Wim Taymans  <wim@fluendo.com>
2739
2740         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2741
2742         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2743         (gst_base_src_send_event), (gst_base_src_change_state):
2744         Handle element seek correctly when we are streaming.
2745         Fixes #326998.
2746
2747 2006-03-24  Michael Smith  <msmith@fluendo.com>
2748
2749         * docs/faq/gst-uninstalled:
2750           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2751           allow you to correctly run intalled applications built against old 
2752           core, using plugins that require updated core (e.g. running
2753           installed totem against a full uninstalled gstreamer stack)
2754
2755 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2756
2757         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2758         more debug details
2759
2760 2006-03-24  Wim Taymans  <wim@fluendo.com>
2761
2762         * docs/gst/gstreamer-sections.txt:
2763         Rearrange the order of the methods so that related methods
2764         are grouped together in sections.
2765
2766 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2767
2768         * gst/gstelement.c:
2769           Little clarification in the docs
2770
2771 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2772
2773         * docs/README:
2774         formatting fix
2775         * plugins/elements/gstidentity.c:
2776         * plugins/elements/gstqueue.c:
2777         * plugins/elements/gsttee.c:
2778         * plugins/elements/gsttypefindelement.c:
2779         GST_ELEMENT_DETAILS formatting
2780
2781 2006-03-24  Wim Taymans  <wim@fluendo.com>
2782
2783         * libs/gst/base/gstbasesink.h:
2784         Only add fields, not insert or we break ABI.
2785
2786 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2787
2788         * win32/common/libgstbase.def:
2789         * win32/common/libgstreamer.def:
2790           Update, add recently added functions.
2791
2792 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gstutils.c: (gst_pad_query_peer_position),
2796         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2797         * gst/gstutils.h:
2798           API: add some new utility functions:
2799            - gst_pad_query_peer_position()
2800            - gst_pad_query_peer_duration()
2801            - gst_pad_query_peer_convert()
2802           
2803 2006-03-23  Wim Taymans  <wim@fluendo.com>
2804
2805         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2806         (gst_base_sink_init), (gst_base_sink_finalize),
2807         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2808         (gst_base_sink_set_property), (gst_base_sink_get_property),
2809         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2810         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2811         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2812         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2813         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2814         (gst_base_sink_preroll_object), (gst_base_sink_event),
2815         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2816         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2817         (gst_base_sink_query), (gst_base_sink_change_state):
2818         Decouple max-lateness and the fact that QoS messages are generated
2819         with a new property (qos).
2820         added API: GstBaseSink::async_play()
2821         Add vmethod so subclasses can be notified of ASYNC playing
2822         state changes.
2823         Collect timestamp start and stop to report better current
2824         position in EOS/PLAYING/PAUSED/READY/NULL.
2825         Refactor QoS/frame dropping and other measurements.
2826         API: GstBaseSrc::qos
2827         Fixes #326311
2828
2829         * libs/gst/base/gstbasesink.h:
2830         Added Private struct.
2831         API: gst_base_sink_set_qos_enabled()
2832         API: gst_base_sink_is_qos_enabled()
2833
2834 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2835
2836         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2837           If compiling against GLib-2.8 or newer, try to read the
2838           registry file using GMappedFile first before falling back
2839           to fopen() + fread() (#332151).
2840
2841 2006-03-22  Wim Taymans  <wim@fluendo.com>
2842
2843         * gst/gstinfo.c: (gst_debug_set_active),
2844         (gst_debug_category_set_threshold):
2845         Disable debugging unless explicitly activated.
2846         Fixes #335480.
2847
2848 2006-03-22  Wim Taymans  <wim@fluendo.com>
2849
2850         * gst/gstelement.c: (gst_element_set_locked_state),
2851         (gst_element_dispose):
2852         Cleanup the error case.
2853
2854         * gst/gstobject.c: (gst_object_dispose):
2855         print a critical when some object was disposed with
2856         a parent, also revive the object since it might
2857         crash the parent.
2858
2859 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2860
2861         * tools/gst-launch.1.in:
2862           Fix another typo.
2863
2864 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2865
2866         * configure.ac:
2867         * tests/check/Makefile.am:
2868           disable some tests when we don't have a registry
2869         * tests/check/gst/gstutils.c: (gst_utils_suite):
2870           don't build the part that needs parsing
2871
2872 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * gst/Makefile.am
2875         * tests/examples/Makefile.am:
2876           fix --disable-parse build
2877
2878 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2879
2880         * tools/gst-feedback.1.in:
2881           Fix typo: s/feeback/feedback/ (#133494).
2882
2883 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2884
2885         * tools/Makefile.am:
2886         * tools/gst-launch.1.in:
2887           Add FILES section and correct entry about GST_REGISTRY_PATH
2888           environment variable (#133495; #133494).
2889
2890 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2891
2892         * tools/Makefile.am:
2893         * tools/gst-md5sum.1.in:
2894         * tools/gst-md5sum.c:
2895           Remove gst-md5sum and man page (the md5sink element
2896           required was removed ages ago)
2897
2898 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2899
2900         * gst/gststructure.c: (gst_structure_id_set_value):
2901           Make sure that string fields in structures/taglists
2902           contain valid UTF-8 - we don't want to pass rubbish to
2903           applications because of a buggy plugin (cp. #334167).
2904
2905 2006-03-21  Edward Hervey  <edward@fluendo.com>
2906
2907         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2908         (gst_bin_handle_message_func):
2909         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2910         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2911         (gst_element_set_bus_func):
2912         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2913         * gst/gstminiobject.c: (gst_value_set_mini_object),
2914         (gst_value_take_mini_object):
2915         * gst/gstpad.c: (gst_pad_set_pad_template):
2916         * gst/gstpipeline.c: (gst_pipeline_dispose),
2917         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2919         (gst_collect_pads_chain):
2920         * libs/gst/net/gstnettimeprovider.c:
2921         (gst_net_time_provider_set_property):
2922         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2923         It's in fact all issues with gst_*object_replace().
2924
2925 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2928         
2929         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2930         * pkgconfig/gstreamer-check.pc.in:
2931           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2932
2933 2006-03-21  Edward Hervey  <edward@fluendo.com>
2934
2935         * gst/gstbuffer.h:
2936         * gst/gstevent.h:
2937         * gst/gstmessage.h:
2938         gst_[buffer|event|message]_ref() macros are replaced by a static
2939         inline functions because gcc-4.1 will about if the return value
2940         isn't used.
2941         * tests/check/gst/gstevent.c: (event_probe):
2942         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2943
2944 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2945
2946         * gst/gstutils.h:
2947         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2948         the type' case. (Closes: #335195 for now). In the future, when we
2949         depend on GLib 2.10, we could also intern the type name using
2950         g_intern_static_string()
2951
2952 2006-03-20  Wim Taymans  <wim@fluendo.com>
2953
2954         * gst/gstbin.c: (gst_bin_handle_message_func),
2955         (bin_query_max_init), (bin_query_position_fold),
2956         (bin_query_position_done), (gst_bin_query):
2957         Position query should also take max of all streams.
2958
2959 2006-03-20  Wim Taymans  <wim@fluendo.com>
2960
2961         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2962         (gst_fake_src_finalize):
2963         Fix leaks in fakesrc.
2964
2965         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2966         Fix leaks in the testcase.
2967
2968 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2969
2970         * gst/gst_private.h:
2971           add win32 specific import decoration(__declspec(dllimport)) 
2972           for all extern GstDebugCategory * variables
2973         * win32/common/libgstbase.def:
2974         * win32/common/libgstcontroller.def:
2975         * win32/common/libgstreamer.def:
2976           Add some exports, remove empty lines
2977         * win32/common/libgstdataprotocol.def:
2978         * win32/common/libgstdataprotocol.dsp:
2979         * win32/common/libgstnet.def:
2980         * win32/common/libgstnet.dsp:
2981           new project files and exportation files added
2982         
2983 2006-03-19  Wim Taymans  <wim@fluendo.com>
2984
2985         * tests/check/libs/basesrc.c: (eos_event_counter):
2986         Use proper return value for probe.
2987
2988 2006-03-17  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2991         (gst_pad_push):
2992         Don't leak buffers, caps and pads on negotiation errors.
2993
2994 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2995
2996         * docs/faq/cvs.xml:
2997         * docs/faq/dependencies.xml:
2998         * docs/faq/developing.xml:
2999         * docs/faq/faq.xml:
3000         * docs/faq/general.xml:
3001         * docs/faq/getting.xml:
3002         * docs/faq/legal.xml:
3003         * docs/faq/troubleshooting.xml:
3004         * docs/faq/using.xml:
3005         Faq review and update.
3006
3007 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3008
3009         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3010         (gst_pad_push):
3011         Don't pound the cpu to pieces by checking get_caps when accept_caps
3012         is called with the same caps as the pad already has.
3013         Use GST_DEBUG_OBJECT when outputting caps change information.
3014
3015 2006-03-15  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstclock.c: (gst_clock_class_init):
3018         Fix docs.
3019
3020 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3021
3022         * gst/gstbuffer.h:
3023         Documentation fix.
3024
3025         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3026         (gst_pad_accept_caps), (gst_pad_configure_sink),
3027         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3028         Make the default acceptcaps behaviour be to check the requested 
3029         caps against the gst_pad_get_caps output. 
3030
3031         Ensure that gst_pad_accept_caps is used to check caps when a pad
3032         doesn't have a setcaps function, so that pads automatically refuse 
3033         caps that they don't allow in their pad template. (Fixes #332986)
3034
3035         When a buffer with attached caps is pushed, ensure that the source 
3036         pad receives those caps even if the element didn't call
3037         gst_pad_set_caps first.
3038
3039 2006-03-15  Wim Taymans  <wim@fluendo.com>
3040
3041         * libs/gst/base/gstadapter.c:
3042         Add some docs.
3043
3044 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3045
3046         * win32/common/libgstbase.def:
3047         * win32/common/libgstcontroller.def:
3048         * win32/common/libgstreamer.def:
3049           Add a whole bunch of missing functions (#334434).
3050
3051 2006-03-14  Wim Taymans  <wim@fluendo.com>
3052
3053         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3054         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3055         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3056         Better debug info when we receive a segment event.
3057         Reorganize a bit so we can pass the get_times() results around.
3058         Use the segment format when calculating the running time.
3059         Don't do QoS is sync is disabled or we have no clock or the
3060         element does not want us to sync to the clock.
3061         Don't drop buffers if QoS is disabled for now.
3062
3063 2006-03-14  Wim Taymans  <wim@fluendo.com>
3064
3065         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3066         Marked the stats property as unimplemented so people don't get
3067         wild ideas.
3068         Add debug message when regression goes wrong.
3069         Added some more docs.
3070
3071 2006-03-14  Wim Taymans  <wim@fluendo.com>
3072
3073         * gst/gstsegment.c: (gst_segment_to_stream_time):
3074         Return correct return type in case of errors.
3075
3076 2006-03-14  Wim Taymans  <wim@fluendo.com>
3077
3078         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3079           Don't segfault on invalid formats.
3080
3081 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3082
3083         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3084           Can't use gst_segment_to_running_time() when the segment
3085           is not in GST_TIME_FORMAT (like with filesink, for example).
3086           Stops flac encoding pipelines from spewing critical warnings
3087           at EOS (#331248).
3088           
3089 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3090
3091         * gst/gstpipeline.c: (gst_pipeline_class_init):
3092           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3093
3094         * plugins/elements/gsttypefindelement.c:
3095         (gst_type_find_element_handle_event):
3096           Don't try to typefind empty streams.
3097
3098 2006-03-14  Wim Taymans  <wim@fluendo.com>
3099
3100         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3101         (gst_base_sink_do_qos):
3102         Separate QoS calculation.
3103         Only drop buffers when lateness is bigger than the 
3104         duration of the buffer.
3105
3106 2006-03-13  Wim Taymans  <wim@fluendo.com>
3107
3108         * gst/gstpipeline.c: (gst_pipeline_set_property),
3109         (gst_pipeline_get_property), (do_pipeline_seek),
3110         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3111         (gst_pipeline_get_delay):
3112         Don't deadlock when reading properties.
3113
3114 2006-03-13  Wim Taymans  <wim@fluendo.com>
3115
3116         * libs/gst/base/gstbasetransform.c:
3117         (gst_base_transform_class_init), (gst_base_transform_init),
3118         (gst_base_transform_sink_event),
3119         (gst_base_transform_sink_eventfunc),
3120         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3121         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3122         (gst_base_transform_set_property),
3123         (gst_base_transform_get_property),
3124         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3125         (gst_base_transform_set_qos_enabled),
3126         (gst_base_transform_is_qos_enabled):
3127         * libs/gst/base/gstbasetransform.h:
3128         Make basetransform virtual method for src events too.
3129         Handle QOS in basetransform.
3130         API: gst_base_transform_update_qos()
3131         API: gst_base_transform_set_qos_enabled()
3132         API: gst_base_transform_is_qos_enabled()
3133
3134 2006-03-13  Wim Taymans  <wim@fluendo.com>
3135
3136         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3137         (gst_base_sink_do_sync):
3138         Small cleanups.
3139         Use QOS debug category.
3140
3141 2006-03-13  Wim Taymans  <wim@fluendo.com>
3142
3143         * plugins/elements/gstqueue.c:
3144         Very small doc update.
3145
3146 2006-03-13  Wim Taymans  <wim@fluendo.com>
3147
3148         * gst/gst_private.h:
3149         * gst/gstinfo.c: (_gst_debug_init):
3150         Added QOS debug category
3151
3152 2006-03-13  Wim Taymans  <wim@fluendo.com>
3153
3154         * docs/gst/gstreamer-sections.txt:
3155         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3156         * gst/gstbin.h:
3157         * gst/gstbus.c: (gst_bus_class_init):
3158         * gst/gstbus.h:
3159         * gst/gstclock.c:
3160         * gst/gstelement.c: (gst_element_set_locked_state):
3161         * gst/gstsegment.c:
3162         Documentation updates.
3163
3164         * gst/gstpipeline.c: (gst_pipeline_get_type),
3165         (gst_pipeline_class_init), (gst_pipeline_init),
3166         (gst_pipeline_dispose), (gst_pipeline_set_property),
3167         (gst_pipeline_get_property), (do_pipeline_seek),
3168         (gst_pipeline_send_event), (gst_pipeline_change_state),
3169         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3170         (gst_pipeline_get_delay):
3171         * gst/gstpipeline.h:
3172         Added methods for setting the delay.
3173         API: gst_pipeline_set_delay()
3174         API: gst_pipeline_get_delay()
3175         Add pipeline debug category
3176         Various cleanups.
3177         Updated docs.
3178         Don't reset stream time when seek failed.
3179
3180 2006-03-13  Wim Taymans  <wim@fluendo.com>
3181
3182         * docs/design/draft-klass.txt:
3183         * docs/design/part-clocks.txt:
3184         * docs/design/part-events.txt:
3185         * docs/design/part-gstbin.txt:
3186         * docs/design/part-gstpipeline.txt:
3187         * docs/design/part-messages.txt:
3188         * docs/design/part-negotiation.txt:
3189         * docs/design/part-overview.txt:
3190         * docs/design/part-preroll.txt:
3191         * docs/design/part-seeking.txt:
3192         * docs/design/part-states.txt:
3193         * docs/design/part-streams.txt:
3194         Documentation updates.
3195
3196 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3197
3198         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3199         us to leak strings...
3200
3201 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3202
3203         * libs/gst/net/gstnettimeprovider.c:
3204           fix docs
3205         * win32/common/config.h:
3206           update
3207
3208 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3209
3210         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3211
3212         * configure.ac:
3213           Don't check for libgnomeui (leftover from old examples
3214           that aren't built or disted any longer) (#334303).
3215           
3216 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3217
3218         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3219         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3220           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3221           there's no space left on the device.
3222
3223 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * gst/gstclock.h:
3226           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3227           to cast the input to GstClockTime before comparing with
3228           another GstClockTime value.
3229
3230 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * configure.ac:
3233           back to trunk
3234
3235 === release 0.10.4 ===
3236
3237 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3238
3239         * configure.ac:
3240           releasing 0.10.4, "Light"
3241
3242 2006-03-10  Michael Smith  <msmith@fluendo.com>
3243
3244         * libs/gst/dataprotocol/dataprotocol.c:
3245           Fix docs for dataprocotol to not get the return types completely
3246           wrong for a few functions.
3247
3248 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3249
3250         * docs/gst/gstreamer-sections.txt:
3251         * gst/gstpipeline.c: (gst_pipeline_class_init),
3252         (gst_pipeline_init), (gst_pipeline_set_property),
3253         (gst_pipeline_get_property), (gst_pipeline_change_state),
3254         (gst_pipeline_set_auto_flush_bus),
3255         (gst_pipeline_get_auto_flush_bus):
3256         * gst/gstpipeline.h:
3257           Add new API: gst_pipeline_set_auto_flush_bus() and
3258           gst_pipeline_get_auto_flush_bus() to disable automatic
3259           flushing of the pipeline's GstBus when going from READY
3260           to NULL state (#332045).
3261
3262 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3263
3264         * docs/gst/gstreamer-sections.txt:
3265         * gst/gsturi.c: (gst_uri_has_protocol):
3266         * gst/gsturi.h:
3267            Add new API: gst_uri_has_protocol() (#333779).
3268
3269 2006-03-09  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/gstclock.c: (gst_clock_entry_new),
3272         (gst_clock_id_compare_func), (gst_clock_id_wait),
3273         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3274         (gst_clock_init), (gst_clock_get_internal_time),
3275         (gst_clock_set_master), (do_linear_regression),
3276         (gst_clock_add_observation), (gst_clock_set_property):
3277         * gst/gstclock.h:
3278         Review docs.
3279         Small cleanups.
3280         Fix a possible segfault when the window-size is made smaller.
3281         Calculate jitter before performing the clock wait. Ideally
3282         the clock implementation should calculate jitter but we need
3283         API breakage for that.
3284
3285         * gst/gstsystemclock.c: (gst_system_clock_init):
3286         Docs review.
3287         
3288         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3289         Remove leftover else
3290
3291         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3292         (gst_systemclock_suite):
3293         Added check to test GST_CLOCK_DIFF.
3294
3295 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3298         (gst_type_find_helper_get_range):
3299           If we are provided with the size, we should implement
3300           GstTypeFind::get_length, so that typefind functions who
3301           want to can actually peek at the middle of a file.
3302
3303 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3304
3305         * docs/manual/advanced-dataaccess.xml:
3306           Add some very very basic error checking.
3307
3308         * docs/pwg/appendix-checklist.xml:
3309           Some updates to the list of things to check when writing an element.
3310
3311 2006-03-08  Wim Taymans  <wim@fluendo.com>
3312
3313         * docs/design/part-element-transform.txt:
3314         Added some docs about the design of tranform elements.
3315
3316         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3317         (gst_base_src_loop), (gst_base_src_change_state):
3318         Mark buffers with the DISCONT flag.
3319
3320 2006-03-08  Michael Smith  <msmith@fluendo.com>
3321
3322         * gst/gstregistry.h:
3323         * gst/gstregistryxml.c: (gst_registry_save),
3324         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3325         (gst_registry_xml_save_pad_template),
3326         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3327         (gst_registry_xml_write_cache):
3328           Rewrite registry-saving to avoid race conditions and check for
3329           failed writes.
3330
3331 2006-03-08  Wim Taymans  <wim@fluendo.com>
3332
3333         * libs/gst/base/gstbasetransform.c:
3334         (gst_base_transform_transform_caps),
3335         (gst_base_transform_transform_size),
3336         (gst_base_transform_prepare_output_buffer),
3337         (gst_base_transform_get_unit_size),
3338         (gst_base_transform_buffer_alloc),
3339         (gst_base_transform_handle_buffer),
3340         (gst_base_transform_change_state):
3341         Cleanups, separate normal flow from errors, add sensible
3342         DEBUG lines.
3343         Don't try to renegotiate when allocating an output buffer.
3344         Also copy DISCONT buffer flag when copying a buffer.
3345         Reset the transform after we finish streaming, not during.
3346
3347 2006-03-08  Wim Taymans  <wim@fluendo.com>
3348
3349         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3350         Use last buffer timestamp in qos message.
3351
3352 2006-03-07  Wim Taymans  <wim@fluendo.com>
3353
3354         Patch by: Christophe Fergeau
3355
3356         * docs/pwg/advanced-tagging.xml:
3357         * docs/pwg/building-pads.xml:
3358           fixes #333416
3359
3360 2006-03-07  Wim Taymans  <wim@fluendo.com>
3361
3362         * docs/libs/gstreamer-libs-sections.txt:
3363         Added basesink new methods.
3364
3365         * gst/gstevent.c:
3366         * gst/gstevent.h:
3367         Docs updates. Flesh out the QoS docs.
3368
3369         * libs/gst/base/gstadapter.c:
3370         Small doc clarification about ownership and flushing.
3371
3372         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3373         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3374         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3375         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3376         * libs/gst/base/gstbasesink.h:
3377         API additions: 
3378         Added new methods to allow subclass to control max-lateness 
3379         and sync.
3380         Generate very basic QoS events based on last sync observation.
3381         Updated docs, fix typo, added some QoS blurb.
3382
3383         * libs/gst/base/gstbasesrc.c:
3384         Remove obsolete _get_state() calls from docs.
3385
3386 2006-03-07  Wim Taymans  <wim@fluendo.com>
3387
3388         * docs/libs/gstreamer-libs-sections.txt:
3389         * libs/gst/base/gstbasetransform.h:
3390         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3391         Fix docs for GstBaseSrc.
3392
3393 2006-03-07  Wim Taymans  <wim@fluendo.com>
3394
3395         * docs/gst/gstreamer-sections.txt:
3396         * gst/gstbuffer.h:
3397         * gst/gstvalue.c:
3398         * libs/gst/base/gstbasetransform.h:
3399         Small documentation fixes.
3400
3401 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         * gst/gstvalue.c:
3404           Document thread-unsafety of gst_value_register_foo_func()
3405           when used at the same time as gst_value_foo() (#322628).
3406
3407 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3408
3409         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3410         (gst_push_src_check_get_range):
3411           Push sources don't support pull mode by default.
3412
3413 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3414
3415         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3416         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3417         (gst_base_src_default_check_get_range):
3418         * libs/gst/base/gstbasesrc.h:
3419           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3420           provide default implementation, and rename
3421           gst_base_src_check_get_range() to
3422           gst_base_src_pad_check_get_range() for clarity.
3423
3424 2006-03-06  Wim Taymans  <wim@fluendo.com>
3425
3426         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3427         Make property overridable.
3428
3429 2006-03-06  Wim Taymans  <wim@fluendo.com>
3430
3431         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3432         (gst_base_sink_init), (gst_base_sink_set_property),
3433         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3434         * libs/gst/base/gstbasesink.h:
3435         API addition: Make max-lateness a property.
3436
3437 2006-03-06  Wim Taymans  <wim@fluendo.com>
3438
3439         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3440         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3441         Don't ever draw a frame that is >10ms late.
3442
3443 2006-03-06  Michael Smith  <msmith@fluendo.com>
3444
3445         * gst/gstmessage.c: (_gst_message_copy):
3446           When copying a message, set the parent_refcount of the enclosed
3447           structure to point at the copy, not the original message.
3448
3449 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3450
3451         Patch by: Christophe Fergeau
3452
3453         * gst/gstutils.h:
3454           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3455           usable in c++ code (#333417)
3456
3457 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3458
3459         * gst/gstclock.h:
3460           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3461
3462 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3463
3464         * libs/gst/base/gstbasetransform.c:
3465         (gst_base_transform_transform_caps):
3466           Make sure caps are writable before passing them to
3467           gst_caps_append().
3468
3469 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3470
3471         * gst/gsterror.h:
3472           Fix some minor docs errors.
3473
3474 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3475
3476           Patch by: Ross Burton <ross at burtonini dot com>
3477
3478         * gst/gsterror.c: (_gst_resource_errors_init):
3479         * gst/gsterror.h:
3480           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3481
3482 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3483
3484         * gst/gst.c:
3485         Add a check and output a g_warning when GStreamer is built
3486         against GLib 2.6 but running against 2.8 or higher, and vice 
3487         versa. (Closes: #323542)
3488
3489 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3490
3491         * gst/parse/parse.l:
3492           Commit patch for parse_launch syntax from #331255. Removes 
3493           support for quoted strings and mimetypes when writing filtered 
3494           caps. See the bug report for more details - I'm pretty sure this
3495           obscure feature is not in use by _anyone_ anywhere.
3496
3497           With this simple change, the size of the gstreamer.so here 
3498           drops from 2193KB to 1565KB.
3499
3500 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3501
3502         * plugins/elements/gsttypefindelement.h:
3503         * plugins/elements/gsttypefindelement.c:
3504         (gst_type_find_element_src_event), (start_typefinding),
3505         (stop_typefinding), (gst_type_find_element_handle_event),
3506         (gst_type_find_element_chain),
3507         (gst_type_find_element_chain_do_typefinding):
3508           Use gst_type_find_helper_for_buffer() for chain-based
3509           typefinding.
3510
3511 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * plugins/elements/gsttypefindelement.c:
3514         (gst_type_find_element_class_init),
3515         (gst_type_find_element_set_property),
3516         (gst_type_find_element_get_property):
3517           Deprecate "maximum" property (not only was it only taken into
3518           account for typefinding in push-mode anyway, it also was never
3519           actually possible to set it in the first place because the
3520           property was registered with the numeric property ID for the
3521           "minimum" property). Register "maximum" property correctly,
3522           for the sake of future copy'n'pasters. Remove some cruft
3523           from property get/set functions.
3524
3525 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527         * plugins/elements/gsttypefindelement.c:
3528         (gst_type_find_element_activate):
3529           Use gst_type_find_helper_get_range() here, so we
3530           can honour the "minimum" property and also emit
3531           the signal with the correct probability of the found caps.
3532
3533 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         * docs/libs/gstreamer-libs-sections.txt:
3536         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3537         (helper_find_suggest), (gst_type_find_helper_get_range),
3538         (gst_type_find_helper):
3539         * libs/gst/base/gsttypefindhelper.h:
3540           New API: gst_type_find_helper_get_range() (#333042).
3541
3542 2006-03-02  Michael Smith  <msmith@fluendo.com>
3543
3544         * gst/gstregistryxml.c: (load_feature):
3545           Asserting on a failure to read part of the registry is Not Cool.
3546           Just log a warning and return NULL (which is already handled)
3547
3548 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3549
3550         * win32/common/libgstbase.def:
3551           added export of gst_type_find_helper_for_buffer
3552         * win32/common/libgstbase.def:
3553           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3554           gst_ghost_pad_get_target
3555
3556 2006-02-28  Wim Taymans  <wim@fluendo.com>
3557
3558         * docs/design/draft-klass.txt:
3559         We use Filter now.
3560         Added Connector to mark elements that are only used to
3561         allow pipeline connections.
3562         Moved Debug to extra feature since most of them are 
3563         functionally something else.
3564
3565 2006-02-28  Wim Taymans  <wim@fluendo.com>
3566
3567         * docs/design/draft-klass.txt:
3568         Some updates and clarifications.
3569
3570 2006-02-28  Wim Taymans  <wim@fluendo.com>
3571
3572         * docs/design/draft-klass.txt:
3573         Proposal for klass field values.
3574
3575         * docs/design/part-streams.txt:
3576         Start of a doc describing stream anatomy.
3577
3578 2006-02-28  Wim Taymans  <wim@fluendo.com>
3579
3580         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3581         Help the compiler a bit with type registration.
3582         Use existing forward cod path instead of duplicating it when 
3583         handling a message.
3584         
3585         * gst/gstbus.c: (gst_bus_get_type):
3586         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3587         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3588         * gst/gstclock.c: (gst_clock_get_type):
3589         * gst/gstelement.c: (gst_element_get_type),
3590         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3591         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3592         * gst/gstminiobject.c: (gst_mini_object_get_type):
3593         * gst/gstpad.c: (gst_pad_get_type):
3594         * gst/gstsegment.c: (gst_segment_get_type):
3595         * gst/gststructure.c: (gst_structure_get_type):
3596         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3597         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3598         * gst/gstvalue.c:
3599         Help compiler with type registration.
3600
3601         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3602         Small doc update.
3603
3604 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3605
3606         * plugins/elements/gsttypefindelement.c:
3607         (gst_type_find_element_handle_event):
3608           When we get an EOS event and have not found a type yet
3609           (most likely because we had not yet accumulated
3610           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3611           type given the data we have so far. Fixes typefinding
3612           for very short streams again, most notably quicktime
3613           redirections as used on Apple's trailer site (#331701).
3614
3615 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3618         (gst_type_find_helper):
3619           Try typefinding factories with the highest rank first.
3620
3621 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3622
3623         * docs/libs/gstreamer-libs-docs.sgml:
3624         * docs/libs/gstreamer-libs-sections.txt:
3625         * libs/gst/base/gsttypefindhelper.c:
3626           Add section for typefind helper and add documentation
3627           for the old and the new function.
3628
3629 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3630
3631         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3632         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3633         (gst_type_find_helper_for_buffer):
3634         * libs/gst/base/gsttypefindhelper.h:
3635           New API: gst_type_find_helper_for_buffer() (#332723).
3636           
3637 2006-02-27  Michael Smith  <msmith@fluendo.com>
3638
3639         Patch by: Loïc Minier
3640
3641         * configure.ac:
3642         * docs/Makefile.am:
3643         * docs/slides/Makefile.am:
3644           prevent CVS directories getting disted.
3645
3646 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3647
3648         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3649           Use the REFCOUNTING category for caps refcounting.
3650           
3651 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3652
3653         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3654           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3655
3656 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3657
3658         * plugins/elements/gsttypefindelement.c:
3659         (gst_type_find_element_activate):
3660           Use gst_pad_check_pull_range() before _activate_pull()
3661           to avoid unnecessary open/close (see #331690).
3662
3663 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3664
3665         * gst/gstutils.c:
3666           Docs enhancement: make it crystal clear what the
3667           gst_pad_add_*_probe() callbacks should look like.
3668
3669 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3670
3671         * libs/gst/base/gstbasesrc.c:
3672           Document how applications can stop recording from
3673           live sources (see #330996).
3674
3675 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         * tests/check/Makefile.am:
3678         * tests/check/libs/basesrc.c: (eos_event_counter),
3679         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3680         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3681         (gst_basesrc_suite), (main):
3682           ... and add some tests for the base source EOS stuff.
3683
3684 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3687           Test case originally showed the problem fixed below,
3688           but was then amended. Add checks back at the place
3689           where they used to be.
3690
3691 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3692
3693         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3694         (gst_base_src_init), (gst_base_src_loop),
3695         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3696         (gst_base_src_change_state):
3697         * libs/gst/base/gstbasesrc.h:
3698           Don't unconditionally send EOS when going from PAUSED to
3699           READY state, esp. make sure we don't send two EOS events
3700           in some cases (e.g. one when reaching EOS and one when
3701           going from PAUSED to READY). Also, we don't want to send
3702           EOS events when operating in pull mode. However, we do
3703           want to send an EOS event when shutting down a live
3704           source explicitly, for example (fixes #330996).
3705           
3706 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3707
3708         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3709           Update src->read_position after a seek when not using mmap.
3710           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3711
3712 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3713
3714         * gst/Makefile.am:
3715         * gst/gstparse.h:
3716         * gst/gstutils.c:
3717         * gst/gstutils.h:
3718         Make things work with --disable-parse as they do with 
3719         --disable-load-save - the symbols involved disappear, but the
3720         header is still installed and GST_DISABLE_PARSE is included via
3721         gstconfig.h
3722
3723 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3724
3725         * libs/gst/base/gstbasetransform.c:
3726         (gst_base_transform_change_state): Fix a stupid bug. I was 
3727         sure I compiled that.
3728
3729 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3730
3731         * gst/gstpad.c: (gst_pad_set_blocked_async):
3732         * gst/gstutils.c: (gst_pad_add_data_probe),
3733         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3734         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3735         (gst_pad_remove_buffer_probe): Make those function act on the
3736         ghostpad target when it's a ghostpad. (Closes #331727)
3737
3738 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3739
3740         * libs/gst/base/gstbasetransform.c:
3741         (gst_base_transform_change_state): Make basetransform reusable.
3742         (Closes #331898)
3743
3744 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3745
3746         * docs/random/release:
3747         Move the current documentation of how to do a release to the top
3748         of the file.
3749
3750         * gst/gstbin.c: (gst_bin_class_init),
3751         (gst_bin_handle_message_func):
3752         Allow multiple state-recalculation threads. (Closes #328873)
3753
3754 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3755
3756         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3757         * gst/gstpad.c: (gst_pad_set_event_function),
3758         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3759         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3760         2 strings. You can't use the STR_NULL macro on that.
3761
3762 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3763
3764         * gst/gstpad.c: (gst_pad_set_event_function),
3765         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3766         (gst_pad_set_getcaps_function)
3767         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3768           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3769           So now, we can use --gst-debug-level=5 on Windows
3770         * win32/common/libgstcontroller.def:
3771           Added export of gst_controller_init
3772         * win32/vs6/libgstcontroller.dsp:
3773           Fixed Release post build configuration
3774
3775 2006-02-17  Wim Taymans  <wim@fluendo.com>
3776
3777         * tests/check/gst/gstquery.c: (GST_START_TEST):
3778         Added another check.
3779
3780 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * plugins/elements/gsttypefindelement.c: (find_peek):
3783           We can do peeks at non-zero offsets, as long as they
3784           fall within the buffer we have.
3785
3786 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3787
3788         * tests/check/Makefile.am:
3789         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3790         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3791         (parse_suite), (main):
3792           Add testsuite for parse launch syntax
3793
3794 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3795
3796         * plugins/elements/gsttypefindelement.c:
3797         (gst_type_find_element_chain):
3798           When typefinding is unsuccessful in the chain function, don't
3799           error out immediately. Only error out with NO_CAPS_FOUND if
3800           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3801           otherwise simply wait for more data so we can try typefinding
3802           again with more data later. Also, don't attempt to typefind
3803           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3804           this should improve typefinding from network sources where the
3805           size of the first buffer can be somewhat random.
3806
3807 2006-02-14  Wim Taymans  <wim@fluendo.com>
3808
3809         * docs/gst/gstreamer-sections.txt:
3810         * gst/gstpadtemplate.c:
3811         * gst/gstpadtemplate.h:
3812         Fix padtemplate docs, fixes #328805.
3813
3814 2006-02-14  Wim Taymans  <wim@fluendo.com>
3815
3816         * tools/gst-launch.c: (main):
3817         NO_PREROLL is not an ERROR so don't send confusing messages
3818         to the user.
3819
3820 2006-02-14  Wim Taymans  <wim@fluendo.com>
3821
3822         Patch by: Torsten Schoenfeld
3823
3824         * gst/gstregistry.c: (gst_registry_get_default),
3825         (_gst_registry_cleanup):
3826         Protect default registry with lock and ref/sink it.
3827         Fixes #324818
3828
3829 2006-02-14  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/gstbuffer.c:
3832         * gst/gstquery.c: (gst_query_list_add_format),
3833         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3834         (gst_query_parse_formats_nth):
3835         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3836         Docs fixes.
3837
3838 2006-02-14  Wim Taymans  <wim@fluendo.com>
3839
3840         * docs/gst/gstreamer-sections.txt:
3841         Reworked query docs.
3842
3843         * gst/gstquery.c: (gst_query_new_formats),
3844         (gst_query_list_add_format), (gst_query_set_formats),
3845         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3846         (gst_query_parse_formats_nth):
3847         * gst/gstquery.h:
3848         Flesh out formats query, added some new methods.
3849         Fix part of #324398.
3850
3851         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3852         Added query creation tests.
3853
3854 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3855
3856         * gst/gstpad.c: (fixate_value):
3857         Add a default fixation for fraction lists.
3858
3859 2006-02-13  Wim Taymans  <wim@fluendo.com>
3860
3861         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3862         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3863         (gst_task_join):
3864         * gst/gsttask.h:
3865         Detect and warn for obvious deadlocks. fixes #320340
3866         Fix error case where lock was not released.
3867
3868         * tests/check/Makefile.am:
3869         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3870         (task_func), (gst_element_suite), (main):
3871         Add task check.
3872
3873 2006-02-13  Wim Taymans  <wim@fluendo.com>
3874
3875         * docs/gst/gstreamer-sections.txt:
3876         * gst/gstbus.c:
3877         Add new functions to docs.
3878
3879 2006-02-13  Wim Taymans  <wim@fluendo.com>
3880
3881         * docs/design/part-TODO.txt:
3882         Updated TODO list, basesrc supports seeking to non-bytes
3883         formats.
3884
3885         * docs/design/part-element-sink.txt:
3886         Update docs.
3887
3888         * gst/gstbin.c: (bin_replace_message),
3889         (gst_bin_handle_message_func):
3890         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3891         * gst/gstevent.c: (gst_event_finalize):
3892         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3893         (gst_pad_send_event):
3894         Use shiny new _TYPE_NAME macros.
3895
3896         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3897         Move debug statement up.
3898
3899         * gst/gstelement.c: (gst_element_set_locked_state):
3900         Add some debugging.
3901
3902 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3903
3904         * docs/gst/gstreamer-sections.txt:
3905         * gst/gstmessage.h:
3906         * gst/gstquery.h:
3907           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3908           macros (#330906). Also, document the already existing
3909           GST_QUERY_TYPE macro.
3910
3911 2006-02-13  Wim Taymans  <wim@fluendo.com>
3912
3913         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3914         (event_probe), (GST_START_TEST):
3915         Only events up to the pipeline EOS are counted, there are
3916         some more when going to NULL currently which we don't care
3917         about for now.
3918
3919 2006-02-13  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/gstpad.c: (gst_pad_send_event):
3922         Correctly check flushing and emit probes. fixes #330125
3923
3924 2006-02-10  Andy Wingo  <wingo@pobox.com>
3925
3926         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3927         structure.
3928         (gst_bus_init): Cache the location of the private data in the
3929         instance structure.
3930         (gst_bus_enable_sync_message_emission) 
3931         (gst_bus_disable_sync_message_emission): Implement new public
3932         functions.
3933         (gst_bus_post): Emit the sync-message signal if the user asked for
3934         it. Fixes #330684.
3935
3936         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3937         location of the bus-private structure.
3938         (gst_bus_enable_sync_message_emission)
3939         (gst_bus_disable_sync_message_emission): API addition
3940
3941 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3942
3943         Patch by: Vincent Torri
3944
3945         * docs/pwg/building-boiler.xml:
3946         PWG patch from #326800
3947
3948 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * configure.ac:
3951         * docs/Makefile.am:
3952         * docs/design/Makefile.am:
3953           Dist design docs.
3954
3955 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3956
3957         * configure.ac:
3958           back to CVS
3959
3960 === release 0.10.3 ===
3961
3962 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3963
3964         * configure.ac:
3965           releasing 0.10.3, "Like a virgin"
3966
3967 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3968
3969         * configure.ac:
3970           2nd prerelease of 0.10.3
3971           Bump libtool versioning.
3972
3973 2006-02-07  Andy Wingo  <wingo@pobox.com>
3974
3975         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3976         update last_stop if we're in TIME format and the timestamp is
3977         valid.
3978
3979         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3980         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3981         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3982         If we get a new newsegment with a different format, adapt
3983         accordingly.
3984
3985         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3986         of 0. Not a problem, really.
3987
3988         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3989         warn if sync=true.
3990
3991 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3992
3993         * configure.ac:
3994           Prelease of 0.10.3
3995
3996 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3997
3998         * win32/vs7:
3999           project files updated to the default vs7 configuration
4000         * win32/common/libgstbase.def:
4001         * win32/common/libgstreamer.def:
4002           added new symbols,
4003           removed empty lines,
4004           sorted all exported symbols alphabetically
4005         * win32/common/dirent.c:
4006         * win32/common/dirent.h:
4007         * win32/common/gchar.h:
4008           use windows line end.
4009           
4010 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4013           Send EOS event when stopping.
4014
4015 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4016
4017         * docs/README:
4018           Tell folks what to do if the plugin-foobar.xml file
4019           hasn't been generated for a newly-added plugin.
4020
4021 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4022
4023         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4024         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4025         (gst_collect_pads_start), (gst_collect_pads_stop),
4026         (gst_collect_pads_event): Collectpads now holds a reference
4027         to the GstPad that was added. Indeed we don't want to look
4028         at pads that might just go away with no warning...
4029
4030 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4031
4032         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4033         (gst_collect_pads_start), (gst_collect_pads_stop),
4034         (gst_collect_pads_event), (gst_collect_pads_chain):
4035         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4036         Mark Nauwelaerts's patch on bug #328491.
4037
4038 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4039
4040         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4041         (gst_utils_suite):
4042           Add some simple tests for gst_parse_bin_from_description() and
4043           gst_bin_find_unconnected_pad() (#329069).
4044
4045 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4046
4047         * tools/gst-launch.c: (event_loop), (main):
4048           Catch errors during preroll (#320084).
4049
4050 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4051
4052         * plugins/elements/gsttypefindelement.c:
4053         (gst_type_find_element_activate):
4054           Post TYPE_NOT_FOUND error message when typefinding
4055           is unsuccessful in the activate function as well.
4056
4057 2006-02-02  Wim Taymans  <wim@fluendo.com>
4058
4059         * docs/design/part-element-sink.txt:
4060         Updated doc.
4061
4062 2006-02-02  Wim Taymans  <wim@fluendo.com>
4063
4064         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4065         (gst_base_sink_render_object),
4066         (gst_base_sink_queue_object_unlocked):
4067         Only keep track of prerollable items when we are 
4068         prerolling.
4069         Before rendering after preroll, always check if we
4070         have queued items.
4071         Added some more debugging.
4072
4073 2006-02-02  Wim Taymans  <wim@fluendo.com>
4074
4075         * gst/gstelement.c: (gst_element_continue_state),
4076         (gst_element_set_state_func), (gst_element_change_state):
4077         Fixed #326576, been running this for quite some time with
4078         no regressions at all.
4079
4080 2006-02-02  Wim Taymans  <wim@fluendo.com>
4081
4082         * common/gst.supp:
4083         Added more suppressions
4084
4085 2006-02-02  Wim Taymans  <wim@fluendo.com>
4086
4087         * docs/design/part-element-sink.txt:
4088         Updated document.
4089
4090         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4091         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4092         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4093         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4094         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4095         (gst_base_sink_preroll_object),
4096         (gst_base_sink_queue_object_unlocked),
4097         (gst_base_sink_queue_object), (gst_base_sink_event),
4098         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4099         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4100         (gst_base_sink_get_position), (gst_base_sink_change_state):
4101         * libs/gst/base/gstbasesink.h:
4102         Totally refactored matching the design doc.
4103         Use two segments, one to clip incomming buffers and another to
4104         perform sync.
4105         Handle queueing correctly, bypass the queue when playing.
4106         Make EOS cancelable.
4107         Handle errors correctly when operating in pull based mode.
4108
4109         * tests/check/elements/fakesink.c: (GST_START_TEST),
4110         (fakesink_suite):
4111         Added new check for sinks.
4112
4113 2006-02-02  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/gstsegment.c: (gst_segment_clip):
4116         No reason to refuse to clip when start == -1
4117
4118 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4119
4120         * docs/README:
4121         * docs/manual/intro-basics.xml:
4122         * docs/manual/intro-preface.xml:
4123         * docs/manual/manual.xml:
4124         * docs/pwg/advanced-dparams.xml:
4125         * docs/pwg/intro-basics.xml:
4126         * docs/pwg/intro-preface.xml:
4127         * docs/pwg/pwg.xml:
4128           describe dparams (controller) for plugins
4129           unify docs a little more
4130
4131 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4132
4133         * docs/gst/gstreamer-sections.txt:
4134         * gst/gstutils.c: (element_find_unconnected_pad),
4135         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4136         * gst/gstutils.h:
4137           Add new API: gst_parse_bin_from_description() and
4138           gst_bin_find_unconnected_pad() (#329069).
4139
4140 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4141
4142         * docs/manual/README:
4143           uncover a nasty detail of the docs build
4144
4145 2006-01-31  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4148         Don't cache duration messages if we're not going to use or
4149         free them.
4150
4151 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4152
4153         * docs/manual/advanced-dparams.xml:
4154         * docs/pwg/advanced-dparams.xml:
4155           more dparam docs
4156         * gst/gstindex.c:
4157           fix docs
4158         * libs/gst/controller/lib.c: (gst_controller_init):
4159           init just once
4160
4161 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4162
4163         * gst/gstelement.c: (gst_element_message_full):
4164           also show file/line/func if no additional debug was given
4165
4166 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4167         
4168         * win32/vs7/grammar.vcproj:
4169           activate copy of autogenerated files for Release mode
4170
4171 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4172         
4173         * win32/common/libgstreamer.def:
4174           export gst_value_compare
4175
4176 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4177
4178         * plugins/elements/Makefile.am:
4179         * plugins/elements/gstelements.c:
4180         * plugins/elements/gstfdsink.c: (_do_init),
4181         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4182         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4183         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4184         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4185         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4186         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4187         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4188         * plugins/elements/gstfdsink.h:
4189         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4190
4191 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4192
4193         * docs/manual/advanced-dparams.xml:
4194           describe controller
4195         * docs/manual/advanced-position.xml:
4196         * docs/manual/basics-init.xml:
4197         * docs/manual/manual.xml:
4198         * docs/manual/titlepage.xml:
4199         * docs/pwg/pwg.xml:
4200         * docs/pwg/titlepage.xml:
4201           cleanup xml (more to come)
4202         * libs/gst/controller/gstcontroller.c:
4203           fix typo
4204
4205 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4206         
4207         * win32/vs6/grammar.dsp:
4208           add autogen of gstmarshal.c,h for Release mode
4209                 
4210 2006-01-30  Wim Taymans  <wim@fluendo.com>
4211
4212         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4213         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4214         (gst_base_sink_handle_object), (gst_base_sink_event),
4215         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4216         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4217         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4218         (gst_base_sink_deactivate), (gst_base_sink_activate),
4219         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4220         (gst_base_sink_query), (gst_base_sink_change_state):
4221         Basesink cleanups, remove some old code.
4222         Handle the case where a subclass can preroll in the render
4223         method (mostly audiosinks).
4224         Handle more events.
4225         Remove some locks around variables that are now protected
4226         with the PREROLL_LOCK (clock_id, flushing, ..).
4227         Optimize position query some more, do correct locking.
4228         Remove old code to push queue in state change, this is not
4229         needed anymore since preroll blocks on all prerollable items 
4230         now.
4231         Almost implemented as described in design doc.
4232
4233 2006-01-30  Wim Taymans  <wim@fluendo.com>
4234
4235         * tests/check/gst/gstbin.c: (GST_START_TEST):
4236         Wait for refcount to settle down before checking.
4237
4238 2006-01-30  Wim Taymans  <wim@fluendo.com>
4239
4240         * docs/design/part-element-sink.txt:
4241         Pseudo code overview of desired sink behaviour regarding
4242         preroll.
4243
4244 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4245         * win32/vs6/grammar.dsp:
4246           fix some bugs in Release mode for autogenerated files
4247                 
4248 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4249         * win32/common/libgstbase.def:
4250         * win32/common/libgstreamer.def:
4251           export some new symbols: gst_base_src_set_format,
4252           gst_iterator_next, gst_structure_set_valist
4253
4254 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4255
4256         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4257         Set pad functions unconditionally. Fixes #329105.
4258
4259 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4260         * win32/vs8:
4261           add vs8 project files created by Sergey Scobich
4262
4263 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4264
4265         * gst/gstutils.c: (gst_element_unlink_pads):
4266         Don't leak pad references.
4267
4268         * tests/check/elements/fakesink.c: (GST_START_TEST):
4269         * tests/check/generic/sinks.c: (GST_START_TEST):
4270         * tests/check/generic/states.c: (GST_START_TEST):
4271         * tests/check/gst/gstbin.c: (GST_START_TEST):
4272         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4273         * tests/check/gst/gstelement.c: (GST_START_TEST):
4274         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4275         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4276         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4277         Fix a bunch of leaks. Make generic/sinks.c
4278         use a bit less cpu by slowing the buffer rate
4279         between fakesrc and fakesink.
4280         
4281 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4282         * gst/gstcaps.c:
4283         * gst/gstelement.c: (gst_element_send_event):
4284         * gst/gstevent.c:
4285         * gst/gstinfo.c:
4286         * gst/gstiterator.c:
4287         * gst/gstiterator.h:
4288         * gst/gstpad.c: (gst_pad_send_event):
4289         * gst/gststructure.c:
4290         * gst/gsturi.c:
4291         * gst/gstutils.c:
4292         * gst/gstvalue.c:
4293         * libs/gst/base/gstadapter.c:
4294           doc fixes, to link to function, just write gst_cool_function(), don't
4295           prefix with '#'
4296
4297 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4298
4299         * plugins/elements/gsttee.c: (gst_tee_do_push),
4300         (gst_tee_handle_buffer):
4301         Always prefer an actual return value from a src
4302         pad in place of NOT_LINKED. This means we return
4303         WRONG_STATE when all src pads are WRONG_STATE
4304         instead of NOT_LINKED.
4305
4306         Lock when replacing the last message to prevent
4307         racing with the get_property method.
4308
4309         Add debug output
4310
4311 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4312
4313         * tests/check/Makefile.am:
4314         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4315         (main):
4316         Add a very simple check that should have caught the memleak I fixed
4317         last night (if not for the slice allocator hiding it)
4318
4319 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4320
4321         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4322         (gst_bin_remove_func), (gst_bin_handle_message_func),
4323         (bin_query_duration_fold), (bin_query_generic_fold):
4324         Clean up references to the clock provider when disposed or when
4325         handling a clock-lost message from it.
4326
4327         Unref sinks when performing a query via gst_iterator_fold, as the
4328         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4329
4330         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4331         (gst_clock_set_master):
4332         Drop our reference to the master clock, if any, when we are disposed.
4333
4334         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4335         Chain up in dispose. 
4336
4337 2006-01-26  Wim Taymans  <wim@fluendo.com>
4338
4339         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4340         Add some debugging.
4341
4342 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4343
4344         * plugins/elements/gsttee.c: (gst_tee_do_push),
4345         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4346         handles pad being NOT_LINKED or in WRONG_STATE.
4347
4348 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4349
4350         * win32/MANIFEST:
4351           more updating
4352
4353 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * win32/MANIFEST:
4356           remove obsolete entry
4357
4358 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4359
4360         * docs/gst/gstreamer-sections.txt:
4361         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4362         (gst_bin_iterate_sources), (gst_bin_send_event):
4363         * gst/gstbin.h:
4364         * gst/gstelement.c: (gst_element_send_event):
4365         * gst/gstevent.c:
4366         * gst/gstpad.c: (gst_pad_send_event):
4367           added code for downstream events, reviewed docs in gstevent.c
4368
4369 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4370
4371         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4372         We only query position using the clock in the playing state.
4373         Query peer in the other cases.
4374         * win32/common/config.h: Updates.
4375
4376 2006-01-24  Wim Taymans  <wim@fluendo.com>
4377
4378         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4379         A clock entry that is scheduled for the exact time of the
4380         clock is still in time.
4381
4382         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4383         (gst_base_sink_do_sync):
4384         Add some more debug info.
4385
4386 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4387
4388         * win32/vs7:
4389           Add new vs7 project files and solution.
4390
4391 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4392
4393         * win32/vs7:
4394           all files removed as they were out-dated.
4395
4396 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4397
4398         * docs/random/release:
4399           update notes
4400         * gst/gstbin.c: (gst_bin_init):
4401         * gst/gstbus.c: (gst_bus_new):
4402         * gst/gstbus.h:
4403         * gst/gstpipeline.c: (gst_pipeline_init):
4404           use gst_bus_new(), improve logging, fix docs
4405         * win32/common/config.h:
4406           update for cvs build
4407
4408 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * autogen.sh:
4411           up required version of automake to 1.7
4412
4413 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4414
4415         * win32/common/libgstreamer.def:
4416           export gst_buffer_is_metadata_writable
4417
4418 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4419
4420         * docs/gst/gstreamer-sections.txt:
4421         * gst/gstevent.h:
4422           Add gst_event_replace() (#327001)
4423
4424 2006-01-20  Wim Taymans  <wim@fluendo.com>
4425
4426         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4427         Make it actually compile too..
4428
4429 2006-01-20  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstcaps.c:
4432         Clarify behaviour of _is_equal() when passing NULL parameters.
4433
4434         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4435         (gst_pad_set_caps):
4436         Cleanups. Don't unref NULL caps.
4437         When setting the same caps, protect caps of the pad with
4438         proper lock.
4439         Use full functionality of _is_equal() when comparing caps.
4440
4441 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4442
4443         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4444         Don't loop infinitely if there are no buffers to present. Partially
4445         fixes #327197, but collectpads is just broken for reusing elements
4446         to do multiple encodes atm.
4447
4448 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4449
4450         * tools/gst-inspect.c: (print_element_features):
4451         * tools/gst-xmlinspect.c: (main):
4452         URL_HANDLER is not a plugin feature we can search for in
4453         the registry.
4454
4455 2006-01-19  Edward Hervey  <edward@fluendo.com>
4456
4457         * gst/gstelement.c: (gst_element_pads_activate): 
4458         When activating, do src pads first, then sink pads.
4459         When de-activating, do sink pads first, then src pads.
4460
4461 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4462
4463         * docs/gst/gstreamer-sections.txt:
4464         Add gst_index_add_associationv to the docs
4465
4466 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4467
4468         * gst/gstevent.c:
4469           Fix docs typo
4470
4471         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4472         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4473           Do some refactoring. Doesn't actually change functionality,
4474           but makes landing the DRAIN event easier later.
4475
4476 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4477
4478         * docs/pwg/advanced-scheduling.xml:
4479           Update from 0.9.x to 0.10 API and make example a bit
4480           clearer.
4481
4482 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4483
4484         * docs/gst/gstreamer-sections.txt:
4485         Add gst_buffer_(is|make)_metadata_writable methods.
4486
4487 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4488
4489         * docs/design/part-sparsestreams.txt:
4490         Update sparse streams doc, hopefully for greater clarity
4491
4492 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4493
4494         * docs/design/part-events.txt:
4495         Remove mention of FILLER events.
4496         Add DRAIN event.
4497
4498         * docs/design/part-sparsestreams.txt:
4499         Write some things about using NEWSEGMENT to keep sparse streams
4500         flowing.
4501
4502 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/gstbin.c: (gst_bin_dispose):
4505           Guard gst_object_unref call against a NULL object (dispose
4506           can theoretically be called multiple times).
4507           
4508 2006-01-18  Wim Taymans  <wim@fluendo.com>
4509
4510         * gst/gstbin.c: (gst_bin_element_set_state):
4511         * gst/gstclock.c: (gst_clock_id_wait):
4512         Added some more debug info.
4513
4514         * libs/gst/base/gstadapter.c:
4515         Added more docs.
4516
4517         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4518         (gst_base_sink_do_sync), (gst_base_sink_chain):
4519         Added some comments.
4520
4521 2006-01-18  Wim Taymans  <wim@fluendo.com>
4522
4523         * tests/check/Makefile.am:
4524         * tests/check/elements/fakesink.c: (chain_async_buffer),
4525         (chain_async), (chain_async_return), (GST_START_TEST),
4526         (fakesink_suite), (main):
4527         Added fakesink test that checks prerolling and clipping
4528         behaviour.
4529
4530         * tests/check/gst/gstutils.c: (GST_START_TEST):
4531         Make check run faster so that buildbots don't timeout.
4532
4533 2006-01-18  Wim Taymans  <wim@fluendo.com>
4534
4535         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4536         (gst_base_sink_do_sync):
4537         Some cleanups.
4538         When the sink finishes blocking on the preroll buffer, it can
4539         immediatly render it instead of rendering when the next buffer
4540         arrives.
4541
4542 2006-01-18  Wim Taymans  <wim@fluendo.com>
4543
4544         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4545         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4546         (gst_base_sink_chain):
4547         Small cleanups.
4548         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4549         Don't store _last_stop if the buffer is dropped.
4550
4551 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4552
4553         * plugins/elements/gsttypefindelement.c:
4554         (gst_type_find_element_class_init):
4555           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4556           object method handler that sets the caps on the pad and we want
4557           that to happen before we emit the signal (fixes e.g. feeding a
4558           plain text file to decodebin).
4559
4560 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4561
4562         * gst/gstplugin.c: Add MPL and Proprietary as license options
4563
4564 2006-01-18  Andy Wingo  <wingo@pobox.com>
4565
4566         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4567         symbol was exported before, it appears this was just an oversight.
4568         Fixes #168703.
4569         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4570
4571         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4572         prototype to gint. OK since this prototype was not in the header.
4573
4574 2006-01-17  Andy Wingo  <wingo@pobox.com>
4575
4576         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4577         registry while we remove plugins.
4578
4579         * tools/gst-inspect.c (print_element_info): Don't unref the
4580         factory arg, that should be the responsibility of whatever code
4581         received the ref. Fixes a double-free when called from
4582         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4583         (main): Unref the factory if we have one.
4584         (print_element_list): No change -- relies on the
4585         plugin_feature_list_free to free the list of features.
4586
4587 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4588
4589         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4590         (gst_buffer_make_metadata_writable):
4591         * gst/gstbuffer.h:
4592         * libs/gst/base/gstbasetransform.c:
4593         (gst_base_transform_prepare_output_buf):
4594         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4595         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4596           Replace gst_buffer_(make|is)_metadata_writable patch now
4597           that the release is out.
4598
4599 2006-01-17  Andy Wingo  <wingo@pobox.com>
4600
4601         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4602         in the present tense without reference to versions.
4603
4604         * gst/gstregistry.c (gst_registry_add_plugin)
4605         (gst_registry_remove_plugin, gst_registry_remove_feature)
4606         (gst_registry_find_feature, gst_registry_get_feature_list)
4607         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4608         (gst_registry_lookup, gst_registry_scan_path)
4609         (_gst_registry_remove_cache_plugins)
4610         (gst_registry_get_feature_list_by_plugin): Add argument
4611         validation.
4612
4613 === release 0.10.2 ===
4614
4615 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4616
4617         * configure.ac:
4618           releasing 0.10.2, "If man is five"
4619
4620 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4621
4622         * gst/gstbuffer.c:
4623         * gst/gstbuffer.h:
4624         * libs/gst/base/gstbasetransform.c:
4625         (gst_base_transform_prepare_output_buf):
4626         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4627         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4628           Back out patch until after the release.
4629
4630 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4631
4632         * gst/gstminiobject.c:
4633           Spelling fix in docs.
4634         * ChangeLog - remove conflict indicator
4635
4636 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4637
4638         Reviewed By: Andy Wingo
4639
4640         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4641         (gst_buffer_make_metadata_writable):
4642         * gst/gstbuffer.h:
4643           Add gst_buffer_(is|make)_metadata_writable as analogues of
4644           gst_buffer_(is|make)_writable.
4645
4646         * libs/gst/base/gstbasetransform.c:
4647         (gst_base_transform_prepare_output_buf):
4648         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4649           Use name gst_buffer_(is|make)_metadata_writable functions.
4650
4651         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4652           Test gst_buffer_(is|make)_metadata_writable
4653         
4654           (Closes: #324162)
4655
4656 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         * docs/manual/Makefile.am:
4659           don't do parallel make
4660         * configure.ac:
4661           AC_SUBST HOST_CPU
4662         * win32/common/config.h.in:
4663           add generations for HOST_CPU and GST_MAJORMINOR
4664         * win32/common/config.h:
4665           commit generated result
4666
4667 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * docs/manual/appendix-integration.xml:
4670           Update GNOME integration section to use gst_init_get_option_group()
4671           instead of the old popt stuff (#322911). Also, GNOME applications
4672           should  now use gconf*sink and gconf*src instead of the old gconf
4673           helper lib we had.
4674
4675 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4676
4677
4678         * docs/gst/gstreamer-docs.sgml:
4679         * docs/gst/gstreamer-sections.txt:
4680         * docs/libs/gstreamer-libs-sections.txt:
4681           add new API entries to the docs
4682         * libs/gst/controller/Makefile.am:
4683         * libs/gst/controller/gstcontroller.c:
4684         * libs/gst/controller/gstcontroller.h:
4685         * libs/gst/controller/gstcontrollerprivate.h:
4686         * libs/gst/controller/gsthelper.c:
4687         * libs/gst/controller/gstinterpolation.c:
4688           move private structs to private header
4689         * po/README:
4690           gstreamer-0.7 -> gstreamer-0.10
4691         * tests/check/libs/struct_i386.h:
4692           remove private structs
4693
4694 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4695
4696         * plugins/indexers/Makefile.am:
4697           Fixes as part of #317048
4698
4699 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4700
4701         * plugins/indexers/Makefile.am:
4702           fix #316086 - compilation when mmap is missing
4703
4704 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4705
4706         * libs/gst/base/gstbasesink.c:
4707           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4708           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4709         * win32/common/config.h:
4710           added some defines GST_MAJORMINOR and HOST_CPU
4711         * win32/common/libgstbase.def:
4712         * win32/common/libgstreamer.def:
4713           added some exported functions.
4714
4715 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4716
4717         * libs/gst/controller/gstcontroller.c:
4718         (gst_controlled_property_set_interpolation_mode),
4719         (gst_controlled_property_new):
4720         * libs/gst/controller/gstcontroller.h:
4721         * libs/gst/controller/gstinterpolation.c:
4722         (interpolate_none_get_string_value_array):
4723           make G_TYPE_STRING controlable
4724
4725 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4726
4727         * tools/README:
4728         * tools/gst-feedback.1.in:
4729         * tools/gst-inspect.1.in:
4730         * tools/gst-launch.1.in:
4731         * tools/gst-md5sum.1.in:
4732         * tools/gst-typefind.1.in:
4733         * tools/gst-xmlinspect.1.in:
4734         * tools/gst-xmllaunch.1.in:
4735           cleanup man-pages, remove reference to gst-register, document env-vars
4736
4737 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4738
4739         * gst/gstbuffer.c: (gst_buffer_span):
4740           gst_buffer_span should copy the timestamp of the first buffer
4741           if they were both originally overlapping subbuffers of the 
4742           same parent, using the same logic as the 'slow copy' case.
4743
4744 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4745
4746         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4747           Need to awaken ALL the pads when we pop a buffer, otherwise
4748           collectpads only works when there is 2 input streams.
4749
4750 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4751
4752         * docs/random/ensonic/media-device-daemon.txt:
4753           more ideas (dbus)
4754         * gst/gstbuffer.c:
4755           fix doc example, add clarification
4756         * tools/gst-launch.1.in:
4757           add initial info about GST_PLUGIN_PATH, needs more work
4758
4759 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4760
4761         * docs/manual/basics-bins.xml:
4762         * docs/manual/basics-elements.xml:
4763         * docs/manual/intro-basics.xml:
4764           Some more minor docs additions and updates.
4765
4766 2006-01-11  Wim Taymans  <wim@fluendo.com>
4767
4768         * docs/manual/basics-bins.xml:
4769         * docs/manual/basics-elements.xml:
4770         Some small fixes as pointed out by Ser-ver on IRC.
4771
4772 2006-01-10  Edward Hervey  <edward@fluendo.com>
4773
4774         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4775         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4776         the single-segment mode.
4777
4778 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4779
4780         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4781
4782         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4783         (gst_base_src_perform_seek), (gst_base_src_send_event),
4784         (gst_base_src_set_property), (gst_base_src_get_property),
4785         (gst_base_src_loop), (gst_base_src_start),
4786         (gst_base_src_activate_push):
4787         * libs/gst/base/gstbasesrc.h:
4788           Name (private) union; makes Sun's Forte compiler happy (#324900).
4789
4790 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4791
4792         * README:
4793           gst-register is gone.
4794
4795 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * gst/gstvalue.c: (_gst_value_initialize):
4798           make the G_TYPE_DATE instantiation work if debug is disabled
4799
4800 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4801
4802         * gst/gstmessage.c: (gst_message_parse_tag),
4803         (gst_message_parse_error), (gst_message_parse_warning):
4804           Don't crash when return location for error/warning debug
4805           string is NULL; add fact that return locations can be
4806           NULL to docs where appropriate.
4807
4808 2006-01-05  Wim Taymans  <wim@fluendo.com>
4809
4810         * gst/gstplugin.c: (gst_plugin_load_file):
4811         Replace strdup by g_strdup.
4812
4813 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4814
4815         * docs/pwg/advanced-types.xml:
4816           fix doc borkage
4817
4818 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4819
4820         submitted by: Abel Cheung
4821
4822         * po/LINGUAS:
4823         * po/zh_TW.po:
4824           Added Chinese (traditional) translation
4825
4826 2006-01-04  Wim Taymans  <wim@fluendo.com>
4827
4828         * docs/manual/basics-pads.xml:
4829         * docs/plugins/Makefile.am:
4830         * docs/plugins/gstreamer-plugins-docs.sgml:
4831         * docs/plugins/gstreamer-plugins-sections.txt:
4832         * docs/pwg/advanced-clock.xml:
4833         * docs/pwg/advanced-scheduling.xml:
4834         * docs/pwg/advanced-types.xml:
4835         * plugins/elements/gstfdsink.c:
4836         * plugins/elements/gstfdsrc.c:
4837         * plugins/elements/gstfdsrc.h:
4838         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4839         * plugins/elements/gstidentity.h:
4840         * plugins/elements/gstqueue.h:
4841         * plugins/elements/gsttee.c:
4842         * plugins/elements/gsttee.h:
4843         * plugins/elements/gsttypefindelement.c:
4844         (gst_type_find_element_class_init):
4845         * plugins/elements/gsttypefindelement.h:
4846         Small updates to various docs.
4847         Added core plugins to docs.
4848
4849 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4850
4851         * common/gst.supp:
4852           add a suppression for liboil's uninitialized variable
4853
4854 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4855
4856         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * gst/gstutils.h:
4859           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4860           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4861           compiler switch is being used (#325429).
4862
4863 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * gst/gstbin.c: (gst_bin_query):
4866           Disable duration query caching in bins until it gets
4867           fixed (see #324807).
4868
4869 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4870
4871         * tools/gst-inspect.c: (print_element_properties_info):
4872           Handle properties of POINTER and BOXED type.
4873
4874 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4875
4876         * gst/gst.c: (init_post):
4877           Init tags stuff and some other things before loading
4878           any static plugins (there may be other static plugins
4879           than just the GStreamer ones, and they may want to
4880           register their own tags or formats or whatever, and
4881           preferably without segfaulting).
4882
4883         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4884           Print at least a warning in the debug logs if we drop a
4885           query just because we don't know how to adjust the value
4886           in the particular format.
4887
4888 2005-12-24  David Schleef  <ds@schleef.org>
4889
4890         * tools/gstreamer-completion:
4891           Replacement for gst-complete written in sh and sed.  Only
4892           completes names of features, but that's 90% of what I want
4893           it for.  Properties are not available in registry.xml.  (Maybe
4894           they should be...)
4895
4896 === release 0.10.1 ===
4897
4898 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4899
4900         * configure.ac:
4901           releasing 0.10.1, "Nollaig chridheil"
4902
4903 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4904
4905         * docs/faq/cvs.xml:
4906           Add missing quote, should be make ERROR_CFLAGS="".
4907
4908 2005-12-20  Wim Taymans  <wim@fluendo.com>
4909
4910         * docs/design/part-trickmodes.txt:
4911         More documentation on trickmodes.
4912
4913 2005-12-20  Edward Hervey  <edward@fluendo.com>
4914
4915         * gst/gstcaps.c: (gst_static_caps_get_type):
4916         * gst/gstcaps.h:
4917           API addition: GST_TYPE_STATIC_CAPS
4918         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4919         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4920         * gst/gstpadtemplate.h:
4921           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4922         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4923         bindings.
4924
4925 2005-12-18  Wim Taymans  <wim@fluendo.com>
4926
4927         * libs/gst/base/gstadapter.c:
4928         * libs/gst/base/gstadapter.h:
4929         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4930         (gst_base_sink_get_position):
4931         * libs/gst/base/gstbasesink.h:
4932         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4933         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4934         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4935         (gst_base_src_send_event), (gst_base_src_update_length),
4936         (gst_base_src_get_range), (gst_base_src_loop),
4937         (gst_base_src_start):
4938         * libs/gst/base/gstbasesrc.h:
4939         * libs/gst/base/gstbasetransform.h:
4940         * libs/gst/base/gstcollectpads.h:
4941         * libs/gst/base/gstpushsrc.c:
4942         * libs/gst/base/gstpushsrc.h:
4943         * libs/gst/dataprotocol/dataprotocol.c:
4944         * libs/gst/dataprotocol/dataprotocol.h:
4945         * libs/gst/net/gstnetclientclock.h:
4946         * libs/gst/net/gstnettimeprovider.h:
4947         Documentation updates.
4948
4949 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4950
4951         * docs/manual/basics-helloworld.xml:
4952           Remove superfluous closing bracket in helloworld example.
4953
4954 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * tools/gst-launch.1.in:
4957           Update gst-launch man page; add a section with useful
4958           environment variables. Fixes #323882.
4959
4960 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4961
4962         * gst/gst.c:
4963         * gst/gst_private.h:
4964           change some char* into char[]
4965
4966 2005-12-16  Wim Taymans  <wim@fluendo.com>
4967
4968         * gst/gstregistryxml.c: (load_feature):
4969         Cleanups.
4970         Don't use g_object_unref on GstObjects so that we avoid
4971         leaks on unsafe glibs.
4972
4973 2005-12-16  Wim Taymans  <wim@fluendo.com>
4974
4975         * gst/gstbin.c: (gst_bin_recalc_state):
4976         Small doc updates.
4977
4978 2005-12-16  Wim Taymans  <wim@fluendo.com>
4979
4980         * common/check.mak:
4981         Added make forever target for check.
4982
4983 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * gst/gst.c: (init_post):
4986           make the registry cache file HOST_CPU-dependent
4987
4988 2005-12-16  Andy Wingo  <wingo@pobox.com>
4989
4990         * plugins/elements/gstbufferstore.c
4991         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4992         return value.
4993
4994         * tests/check/gst/gstobject.c
4995         (test_fake_object_name_threaded_unique): Pay attention to
4996         g_list_sort return value.
4997
4998 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4999
5000         * tools/gst-feedback-m.m:
5001           Update for 0.9/0.10 (fixes #323870).
5002
5003 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5004
5005         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5006           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5007           
5008         * tests/check/gst/gstminiobject.c: (my_foo_init),
5009         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5010         (test_value_collection), (gst_mini_object_suite):
5011           Add test to ensure refcounts end up as expected when passing
5012           GstMiniObjects through g_object_get() and g_object_set().
5013
5014 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5015
5016         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5017         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5018         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5019         of collectpads. This version removes a lot of races without
5020         touching API/ABI. Yay !
5021
5022 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5023
5024         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5025           Don't allow activation of a srcpad in pull_range if it has no
5026           getrange function.
5027           Change some debug statements to be a little clearer
5028
5029         * plugins/elements/gsttypefindelement.c:
5030         (gst_type_find_handle_src_query):
5031           Check that we have a peer before executing queries thereupon.
5032
5033         * tests/examples/metadata/read-metadata.c: (message_loop):
5034           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5035           immediately return us any available message with 0 timeout.
5036
5037 2005-12-12  Michael Smith  <msmith@fluendo.com>
5038
5039         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5040           Don't unref factories after calling them.
5041         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5042         * plugins/elements/gsttypefindelement.c:
5043         (gst_type_find_element_chain):
5044           Free lists of factories after using them. Fixing typefinding memory
5045           leaks.
5046
5047 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5048
5049         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5050         (gst_plugin_feature_load):
5051           more meaningful debug output
5052         * configure.ac:
5053         * tests/Makefile.am:
5054         * tests/old/examples/Makefile.am:
5055           make make distcheck happy again
5056
5057 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5058
5059         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5060           Catch the special case where we are operating chain-based,
5061           but the downstream peer pad has no chain function. Emit a
5062           custom error message in this case instead of letting the
5063           core generate one implying that this is some sort of core
5064           bug. It's not, it just means that whatever got plugged
5065           into the pipeline downstream when we announced the type
5066           can only operate pull-based, while our source can only
5067           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5068           Error string has not been marked for translation yet, as
5069           it probably needs some more work first.
5070
5071         (gst_type_find_element_get_best_possibility):
5072           Add helper function to find the best of all available
5073           found possibilities that qualify given the min. threshold.
5074
5075         (gst_type_find_element_handle_event):
5076           Fix the case where we get an EOS while still in TYPEFIND
5077           mode (we want to chose the best of all possible types,
5078           not just the first type that happens to be in our unsorted
5079           list of possible types).
5080
5081         (gst_type_find_element_chain):
5082           Make sure we return GST_FLOW_ERROR when we errored out
5083           in stop_typefinding(); also, don't just find the best of
5084           all found type entries and then use the last examined
5085           type entry, but actually use the best entry.
5086
5087 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5088
5089         * tests/examples/typefind/typefind.c: (type_found):
5090         * tests/examples/xml/runxml.c: (xml_loaded):
5091           More gcc4 fixes and a mem leak fix.
5092
5093 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5094
5095         * tests/examples/xml/createxml.c: (object_saved):
5096           gcc 4 fixes
5097
5098 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5099
5100         * tests/Makefile.am:
5101           enable the examples even more
5102
5103 2005-12-12  Andy Wingo  <wingo@pobox.com>
5104
5105         * libs/gst/net/gstnettimeprovider.c
5106         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5107         (gst_net_time_provider_set_property)
5108         (gst_net_time_provider_get_property):
5109         API addition: Export "active" as a GObject property.
5110         (gst_net_time_provider_thread): Only respond to time queries if
5111         the time provider is active.
5112
5113         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5114         NetTimeProvider, preserving binary compat.
5115
5116 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5117
5118         * tests/examples/controller/audio-example.c: (main):
5119         * tests/examples/launch/Makefile.am:
5120           convert comments again
5121
5122 2005-12-12  Wim Taymans  <wim@fluendo.com>
5123
5124         * libs/gst/base/gstpushsrc.c:
5125         Fix typo.
5126
5127 2005-12-12  Wim Taymans  <wim@fluendo.com>
5128
5129         * docs/libs/gstreamer-libs-sections.txt:
5130         Added new symbol to docs.
5131
5132         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5133         (gst_base_src_init), (gst_base_src_set_format),
5134         (gst_base_src_default_query), (gst_base_src_query),
5135         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5136         (gst_base_src_perform_seek), (gst_base_src_send_event),
5137         (gst_base_src_default_event), (gst_base_src_event_handler),
5138         (gst_base_src_set_property), (gst_base_src_get_property),
5139         (gst_base_src_wait), (gst_base_src_do_sync),
5140         (gst_base_src_update_length), (gst_base_src_get_range),
5141         (gst_base_src_check_get_range), (gst_base_src_loop),
5142         (gst_base_src_default_negotiate), (gst_base_src_start),
5143         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5144         (gst_base_src_change_state):
5145         * libs/gst/base/gstbasesrc.h:
5146         Implement seeking to other formats than _BYTES.
5147         Implement more seeking methods correctly.
5148         Doc updates.
5149         Added query vmethod.
5150         Added do_seek vmethod to make life easier for subclasses
5151         when seeking.
5152         API addition: gst_base_src_set_format()
5153
5154 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5155
5156         * tests/examples/Makefile.am:
5157           added that too
5158
5159 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5160
5161         * configure.ac:
5162         * docs/random/ensonic/media-device-daemon.txt:
5163         * tests/examples/controller/.cvsignore:
5164         * tests/examples/controller/Makefile.am:
5165         * tests/examples/controller/audio-example.c: (main):
5166         * tests/examples/helloworld/.cvsignore:
5167         * tests/examples/helloworld/Makefile.am:
5168         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5169         * tests/examples/launch/.cvsignore:
5170         * tests/examples/launch/Makefile.am:
5171         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5172         * tests/examples/metadata/.cvsignore:
5173         * tests/examples/metadata/Makefile.am:
5174         * tests/examples/metadata/read-metadata.c: (message_loop),
5175         (make_pipeline), (print_tag), (main):
5176         * tests/examples/queue/.cvsignore:
5177         * tests/examples/queue/Makefile.am:
5178         * tests/examples/queue/queue.c: (event_loop), (main):
5179         * tests/examples/typefind/.cvsignore:
5180         * tests/examples/typefind/Makefile.am:
5181         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5182         (main):
5183         * tests/examples/xml/.cvsignore:
5184         * tests/examples/xml/Makefile.am:
5185         * tests/examples/xml/createxml.c: (object_saved), (main):
5186         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5187         * tests/old/examples/Makefile.am:
5188         * tests/old/examples/TODO:
5189         * tests/old/examples/controller/.cvsignore:
5190         * tests/old/examples/controller/Makefile.am:
5191         * tests/old/examples/controller/audio-example.c:
5192         * tests/old/examples/helloworld/.cvsignore:
5193         * tests/old/examples/helloworld/Makefile.am:
5194         * tests/old/examples/helloworld/helloworld.c:
5195         * tests/old/examples/launch/.cvsignore:
5196         * tests/old/examples/launch/Makefile.am:
5197         * tests/old/examples/launch/mp3parselaunch.c:
5198         * tests/old/examples/launch/mp3play:
5199         * tests/old/examples/manual/Makefile.am:
5200         * tests/old/examples/metadata/Makefile.am:
5201         * tests/old/examples/metadata/read-metadata.c:
5202         * tests/old/examples/queue/.cvsignore:
5203         * tests/old/examples/queue/Makefile.am:
5204         * tests/old/examples/queue/queue.c:
5205         * tests/old/examples/typefind/.cvsignore:
5206         * tests/old/examples/typefind/Makefile.am:
5207         * tests/old/examples/typefind/typefind.c:
5208         * tests/old/examples/xml/.cvsignore:
5209         * tests/old/examples/xml/Makefile.am:
5210         * tests/old/examples/xml/createxml.c:
5211         * tests/old/examples/xml/runxml.c:
5212           applied some simple fixing to some examples
5213           re-enabled the working examples
5214
5215 2005-12-12  Wim Taymans  <wim@fluendo.com>
5216
5217         * gst/gstsegment.c: (gst_segment_init),
5218         (gst_segment_set_last_stop), (gst_segment_set_seek),
5219         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5220         (gst_segment_to_running_time):
5221         Added more documentation.
5222         Make sure the last_pos value is updated properly.
5223         Make sure to_stream_time and to_running_time don't
5224         operate on wrong values.
5225
5226         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5227         Update check.
5228
5229 2005-12-12  Michael Smith  <msmith@fluendo.com>
5230
5231         * plugins/elements/gsttypefindelement.c: (free_entry),
5232         (gst_type_find_element_chain):
5233           Now that we're not leaking factories, make sure we keep references
5234           to them while we need them.
5235
5236 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * tests/check/gst/struct_i386.h:
5239           ifdef out the XML structs
5240
5241 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5242
5243         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5244           floor is not needed, F is always positive; this obviates the
5245           need for adding -lm when building without libxml
5246
5247 2005-12-12  Wim Taymans  <wim@fluendo.com>
5248
5249         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5250         Take current playback rate into account when reporting
5251         the position.
5252
5253 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5254
5255         * docs/manual/mime-world.fig:
5256           Let's try this again, this time with a file that is
5257           actually in XFig format.
5258
5259 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * docs/manual/mime-world.fig:
5262           Add audioconvert element to diagram so that it
5263           matches the text and the code (fixes #319526).
5264
5265 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * docs/pwg/building-chainfn.xml:
5268         * docs/pwg/building-pads.xml:
5269         * docs/pwg/building-state.xml:
5270         * docs/pwg/other-source.xml:
5271           Update state change stuff for 0.10 (fixes #322969).
5272
5273 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5274
5275         * docs/manual/advanced-dataaccess.xml:
5276         * docs/manual/appendix-checklist.xml:
5277         * docs/manual/appendix-programs.xml:
5278         * docs/manual/basics-pads.xml:
5279         * docs/manual/highlevel-components.xml:
5280         * docs/manual/manual.xml:
5281           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5282           add converters in front of pipelines; remove curly
5283           brackets for threads stuff, they no longer exist; use
5284           GST_TYPE_FRACTION for framerates; update some pieces of
5285           code to 0.10, but there's plenty more to do.
5286
5287         * docs/manual/appendix-porting.xml:
5288           Expand on asynchroneous state changes; s/0.9/0.10/;
5289           mention disappearance of gst_init_get_popt_table()
5290           (fixes #322916).
5291
5292 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5293
5294         * docs/faq/using.xml:
5295           Spider no longer exists, and neither does gst-launch-ext.
5296           Update examples to use decodebin and playbin and put
5297           converters in front of sinks (fixes #323726).
5298
5299 2005-12-09  Michael Smith  <msmith@fluendo.com>
5300
5301         * plugins/elements/gsttypefindelement.c: (find_peek),
5302         (gst_type_find_element_chain):
5303           Fix leaking element factories in typefinding.
5304           Fix problem where we forgot about a probable type on non-seekable
5305           files, and thus later mis-typefound it.
5306
5307 2005-12-09  Michael Smith  <msmith@fluendo.com>
5308
5309         * common/m4/gst-makecontext.m4:
5310         * common/m4/gst-mcsc.m4:
5311         * configure.ac:
5312         * win32/common/config.h:
5313         * win32/common/config.h.in:
5314           Remove makecontext stuff; not used in 0.10 and causes problems on
5315           HPUX according to bug #322441
5316
5317 2005-12-07  Wim Taymans  <wim@fluendo.com>
5318
5319         * tests/check/Makefile.am:
5320         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5321         (main):
5322         * tests/check/libs/struct_i386.h:
5323         Added ABI check for libs
5324
5325 2005-12-07  Wim Taymans  <wim@fluendo.com>
5326
5327         * tests/check/Makefile.am:
5328         And add the struct_i386.h to dist.
5329
5330 2005-12-07  Wim Taymans  <wim@fluendo.com>
5331
5332         * tests/check/Makefile.am:
5333         * tests/check/gst/.cvsignore:
5334         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5335         (main):
5336         * tests/check/gst/struct_i386.h:
5337         Added check for ABI compatibility.
5338
5339 2005-12-07  Wim Taymans  <wim@fluendo.com>
5340
5341         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5342         (gst_fake_src_get_times), (gst_fake_src_create):
5343         Fix broken sync option, fixes #323259
5344
5345 2005-12-07  Wim Taymans  <wim@fluendo.com>
5346
5347         * gst/gstbuffer.c:
5348         Small docs update.
5349
5350         * gst/gstcaps.c: (gst_caps_is_equal):
5351         Don't assert on NULL <--> X. Fixes #323260
5352
5353         * gst/gstminiobject.c: (gst_mini_object_replace):
5354         If we're doing atomic operations, we might just as well use
5355         the proper way to get an atomic pointer.
5356
5357         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5358         Clean up debugging.
5359
5360 2005-12-07  Michael Smith  <msmith@fluendo.com>
5361
5362         * gst/parse/grammar.y:
5363           Remove handling of { } for threads.
5364
5365 2005-12-06  David Schleef  <ds@schleef.org>
5366
5367         * libs/gst/base/gstbasetransform.c: speling fix.
5368
5369 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5370
5371         * docs/libs/tmpl/gstdataprotocol.sgml:
5372         * docs/random/omega/testing/gstobject.c:
5373         * gst/gst.c:
5374         * gst/gstclock.c:
5375         * gst/gstelement.c:
5376         * gst/gstelementfactory.c:
5377         * gst/gsterror.c:
5378         * gst/gstevent.c:
5379         * gst/gstghostpad.c:
5380         * gst/gstinfo.c:
5381         * gst/gstpadtemplate.c:
5382         * gst/gstregistryxml.c:
5383         * gst/gsttaglist.c:
5384         * gst/gsttagsetter.c:
5385         * gst/gsttypefind.c:
5386         * gst/gstvalue.c:
5387         * libs/gst/base/gstbasesrc.c:
5388         * libs/gst/net/gstnetclientclock.c:
5389         * libs/gst/net/gstnettimeprovider.c:
5390         * plugins/elements/gstfakesrc.c:
5391         * plugins/elements/gstfdsrc.c:
5392         * plugins/elements/gstfilesrc.c:
5393         * plugins/elements/gstidentity.c:
5394         * plugins/elements/gstqueue.c:
5395         * plugins/elements/gsttypefindelement.c:
5396         * plugins/indexers/gstfileindex.c:
5397         * plugins/indexers/gstmemindex.c:
5398         * tests/check/gst/gsttag.c:
5399         * tests/old/examples/cutter/cutter.c:
5400         * tests/old/examples/mixer/mixer.c:
5401         * tests/old/examples/xml/runxml.c: (main):
5402         * tests/old/testsuite/caps/normalisation.c:
5403         * tests/old/testsuite/debug/global.c:
5404         * tests/old/testsuite/parse/parse1.c:
5405         * tools/gst-xmlinspect.c:
5406         * win32/common/dirent.c:
5407           expand tabs
5408
5409 === release 0.10.0 ===
5410
5411 2005-12-05   <thomas (at) apestaart (dot) org>
5412
5413         * configure.ac:
5414           releasing 0.10.0, "Maroilles"
5415
5416 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5417
5418         submitted by: Funda Wang <fundawang@linux.net.cn>
5419
5420         * po/LINGUAS:
5421         * po/zh_CN.po:
5422           added Chinese (Traditional) translation
5423
5424 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * docs/gst/gstreamer-sections.txt:
5427         * docs/libs/tmpl/gstdataprotocol.sgml:
5428         * docs/random/thomasvs/TODO:
5429         * gst/gstutils.c:
5430         * gst/gstutils.h:
5431           fix docs
5432
5433 2005-12-05  Andy Wingo  <wingo@pobox.com>
5434
5435         patch by: Wim Taymans <wim@fluendo.com>
5436
5437         * libs/gst/base/gstbasetransform.c
5438         (gst_base_transform_prepare_output_buf)
5439         (gst_base_transform_buffer_alloc):
5440         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5441         alloc_buffer_and_set_caps.
5442
5443         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5444         set_caps on the source pad.
5445         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5446         alloc_buffer used to do. Fixes #322874.
5447
5448         * docs/gst/gstreamer-sections.txt: 
5449         * docs/design/part-negotiation.txt: 
5450         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5451         changes.
5452
5453 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         patch by: Sebastien Moutte
5456
5457         * win32/MANIFEST:
5458         * win32/common/config.h.in:
5459         * win32/vs6/libgstcontroller.dsp:
5460           win32 build fixes
5461
5462 2005-12-05  Wim Taymans  <wim@fluendo.com>
5463
5464         * gst/gstcaps.c: (gst_caps_is_equal):
5465         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5466         (gst_fake_src_create):
5467         Back out previous code changes, leave doc updates, file bugs 
5468         instead. 
5469
5470 2005-12-05  Wim Taymans  <wim@fluendo.com>
5471
5472         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5473         (gst_fake_src_get_times), (gst_fake_src_create):
5474         * plugins/elements/gstfakesrc.h:
5475         Fix broken sync code.
5476
5477 2005-12-05  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/gstcaps.c: (gst_caps_is_equal):
5480         Comparing NULL against !NULL yields different caps, not a
5481         failure.
5482
5483 2005-12-05  Wim Taymans  <wim@fluendo.com>
5484
5485         * gst/gstpipeline.c:
5486         Fix small typo in docs.
5487
5488 2005-12-05  Andy Wingo  <wingo@pobox.com>
5489
5490         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5491
5492         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5493         registries/plugins with a MAJORMINOR one.
5494         (plugin_desc): Rename library from gstcoreleements to
5495         staticelements. Fixes #323222.
5496
5497 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5498
5499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5500           Change debug category to 'collectpads' from 'collect_pads'
5501           (fixes #323250).
5502
5503 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         patch by: Sebastien Moutte
5506
5507         * libs/gst/controller/gstinterpolation.c:
5508           use convert function for uint64/double
5509         * win32/vs6/libgstcontroller.dsp:
5510           link to GLib
5511
5512 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5515         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5516         * gst/gstutils.h:
5517         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5518           add tests that seem to show that the guint64/gdouble conversions
5519           are correct.
5520
5521 2005-12-02  Wim Taymans  <wim@fluendo.com>
5522
5523         * gst/gstregistry.c: (gst_registry_add_path):
5524         * gst/gstregistry.h:
5525         * gst/gstregistryxml.c:
5526         Fix docs again.
5527
5528 2005-12-02  Wim Taymans  <wim@fluendo.com>
5529
5530         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5531         (gst_util_uint64_scale_int):
5532         Small cleanup.
5533
5534         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5535         Add debug log line.
5536
5537         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5538         Add FIXME.
5539
5540 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5541
5542         * win32/MANIFEST:
5543         * win32/common/config.h:
5544         * win32/vs6/gstreamer.dsw:
5545         * win32/vs6/libgstcoreelements.dsp:
5546         * win32/vs6/libgstelements.dsp:
5547           renamed core elements plugin
5548
5549 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5552         (get_candidates):
5553           do piece-wise major/minor comparison so 0.9 < 0.10
5554           also allow .exe extensions for tools
5555
5556 2005-12-02  Michael Smith  <msmith@fluendo.com>
5557
5558         * gst/gst.c:
5559           Escape a % to make gtkdoc happier; bug 322958.
5560
5561 === release 0.9.7 ===
5562
5563 2005-12-01   <thomas (at) apestaart (dot) org>
5564
5565         * configure.ac:
5566           releasing 0.9.7, "My Dog Has No Nose"
5567
5568 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5569
5570         * common/gst-xmlinspect.py:
5571         * configure.ac:
5572         * docs/libs/tmpl/gstdataprotocol.sgml:
5573         * docs/random/release:
5574         * po/af.po:
5575         * po/az.po:
5576         * po/bg.po:
5577         * po/ca.po:
5578         * po/cs.po:
5579         * po/de.po:
5580         * po/en_GB.po:
5581         * po/fr.po:
5582         * po/it.po:
5583         * po/nb.po:
5584         * po/nl.po:
5585         * po/ru.po:
5586         * po/sq.po:
5587         * po/sr.po:
5588         * po/sv.po:
5589         * po/tr.po:
5590         * po/uk.po:
5591         * po/vi.po:
5592         * win32/common/config.h:
5593         * win32/common/config.h.in:
5594         * win32/vs6/gst_inspect.dsp:
5595         * win32/vs6/gst_launch.dsp:
5596         * win32/vs6/libgstbase.dsp:
5597         * win32/vs6/libgstelements.dsp:
5598         * win32/vs6/libgstreamer.dsp:
5599         * win32/vs7/GStreamer.vcproj:
5600         * win32/vs7/gst-inspect.vcproj:
5601         * win32/vs7/gst-launch.vcproj:
5602         * win32/vs7/libgstbase.vcproj:
5603           bump GST_MAJORMINOR to 0.10
5604           reset libtool version
5605
5606 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5607
5608         * po/LINGUAS:
5609         * po/bg.po:
5610           Added Bulgarian translation by (Alexander Shopov)
5611
5612 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5613
5614         * tests/check/gst/gstplugin.c:
5615           fix test
5616
5617 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5618
5619         * common/gst-xmlinspect.py:
5620         * common/gtk-doc-plugins.mak:
5621         * configure.ac:
5622         * docs/Makefile.am:
5623         * docs/gst/Makefile.am:
5624         * docs/gst/gstreamer-docs.sgml:
5625         * docs/gst/gstreamer-sections.txt:
5626         * docs/gst/gstreamer.types:
5627         * docs/gst/gstreamer.types.in:
5628         * docs/plugins/Makefile.am:
5629         * docs/plugins/gstreamer-plugins-docs.sgml:
5630         * docs/plugins/gstreamer-plugins-sections.txt:
5631         * docs/plugins/gstreamer-plugins.types:
5632         * docs/plugins/inspect.stamp:
5633         * docs/plugins/inspect/plugin-coreelements.xml:
5634         * docs/plugins/inspect/plugin-coreindexers.xml:
5635         * docs/plugins/scanobj-build.stamp:
5636         * gstreamer.spec.in:
5637         * plugins/elements/Makefile.am:
5638         * plugins/elements/gstelements.c:
5639         * plugins/elements/gstfakesink.c:
5640         * plugins/elements/gstfakesrc.c:
5641         * plugins/elements/gstfilesink.c:
5642         * plugins/elements/gstfilesrc.c:
5643         * plugins/elements/gstqueue.c:
5644         * plugins/indexers/Makefile.am:
5645         * plugins/indexers/gstindexers.c:
5646           document core plugins in a separate document just like all the
5647           others
5648           rename these plugins to something starting with core
5649
5650 2005-12-01  Andy Wingo  <wingo@pobox.com>
5651
5652         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5653         padding here before, but it missed the commit.
5654
5655 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5656
5657         * libs/gst/controller/gstinterpolation.c:
5658           whitespace prices have crashed, we should feel free to use some now
5659           use gst_guint64_to_gdouble
5660
5661 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * libs/gst/controller/gstcontroller.c:
5664         * libs/gst/controller/gsthelper.c:
5665         * libs/gst/controller/gstinterpolation.c:
5666         * libs/gst/controller/lib.c:
5667           wrap config.h include
5668
5669 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5670
5671         * docs/gst/gstreamer-sections.txt:
5672           update docs
5673
5674 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5675
5676         * plugins/elements/gstelements.c:
5677         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5678         (gst_fd_sink__class_init), (gst_fd_sink__init),
5679         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5680         (gst_fd_sink__get_property):
5681         * plugins/elements/gstfdsink.h:
5682         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5683         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5684         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5685         (gst_fd_src_unlock), (gst_fd_src_set_property),
5686         (gst_fd_src_get_property), (gst_fd_src_create),
5687         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5688         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5689         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5690         (gst_fd_src_uri_handler_init):
5691         * plugins/elements/gstfdsrc.h:
5692         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5693           more anal cleanup
5694
5695 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5696
5697         * docs/gst/Makefile.am:
5698         * docs/gst/gstreamer.types.in:
5699         * gst/Makefile.am:
5700           fix the docs build
5701
5702 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5703
5704         * configure.ac:
5705         * gst/Makefile.am:
5706         * gst/gst.c:
5707         * gst/gstplugin.h:
5708         * gst/gstregistry.h:
5709         * tests/benchmarks/complexity.c:
5710         * tests/benchmarks/mass-elements.c:
5711         * tests/check/Makefile.am:
5712         * tools/Makefile.am:
5713         * tools/gst-inspect.c:
5714         * tools/gst-xmlinspect.c:
5715           various fixes to make
5716           --disable-nls --disable-registry --disable-loadsave
5717           --disable-parse --disable-gst-debug
5718           work and get the core .so down to 360444 bytes after stripping
5719
5720 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * Makefile.am:
5723         * configure.ac:
5724           descend into tests
5725         * docs/random/thomasvs/TODO:
5726         * tests/Makefile.am:
5727         * tests/README:
5728           add a README
5729
5730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * win32/GStreamer.vcproj:
5733         * win32/MANIFEST:
5734         * win32/Makefile:
5735         * win32/Makefile.inspect:
5736         * win32/Makefile.launch:
5737         * win32/Makefile.register:
5738         * win32/README.txt:
5739         * win32/gst-inspect.vcproj:
5740         * win32/gst-launch.vcproj:
5741         * win32/gst-register.vcproj:
5742         * win32/gstelements.vcproj:
5743         * win32/gstgetbits.def:
5744         * win32/gstgetbits.vcproj:
5745         * win32/gstreamer-dbg.def:
5746         * win32/gstreamer.def:
5747         * win32/libgstbase.def:
5748         * win32/libgstbase.vcproj:
5749         * win32/link_oldruntime.c:
5750         * win32/mman.c:
5751         * win32/mman.h:
5752         * win32/mman.inl:
5753         * win32/msvc71.sln:
5754           move even more stuff, win32/ is nice and clean now
5755
5756 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5757
5758         * libs/gst/control/.cvsignore:
5759         * win32/MANIFEST:
5760         * win32/config.h:
5761         * win32/dirent.c:
5762         * win32/dirent.h:
5763         * win32/gstbytestream.def:
5764         * win32/gstbytestream.vcproj:
5765         * win32/gstconfig.h:
5766         * win32/gstenumtypes.c:
5767         * win32/gstenumtypes.h:
5768         * win32/gstoptimalscheduler.vcproj:
5769         * win32/gstversion.h:
5770         * win32/gtchar.h:
5771         * win32/testsuite/bins.vcproj:
5772         * win32/testsuite/bytestream.vcproj:
5773         * win32/testsuite/caps.vcproj:
5774         * win32/testsuite/cleanup.vcproj:
5775         * win32/testsuite/clock.vcproj:
5776         * win32/testsuite/debug.vcproj:
5777         * win32/testsuite/dlopen.vcproj:
5778         * win32/testsuite/dynparams.vcproj:
5779         * win32/testsuite/elements.vcproj:
5780         * win32/testsuite/ghostpads.vcproj:
5781         * win32/testsuite/indexers.vcproj:
5782         * win32/testsuite/negotiation.vcproj:
5783         * win32/testsuite/parse.vcproj:
5784         * win32/testsuite/plugin.vcproj:
5785         * win32/testsuite/refcounting.vcproj:
5786         * win32/testsuite/schedulers.vcproj:
5787         * win32/testsuite/states.vcproj:
5788         * win32/testsuite/tags.vcproj:
5789         * win32/testsuite/threads.vcproj:
5790           remove old win32 stuff that isn't maintained and should be
5791           reorganized
5792
5793 2005-11-30  Andy Wingo  <wingo@pobox.com>
5794
5795         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5796         loading the gst.interfaces python module bork.
5797
5798         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5799         available since GLib 2.2. Fixes #318031.
5800
5801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5802
5803         * Makefile.am:
5804         * check/.cvsignore:
5805         * check/Makefile.am:
5806         * check/elements/.cvsignore:
5807         * check/elements/fakesrc.c:
5808         * check/elements/fdsrc.c:
5809         * check/elements/identity.c:
5810         * check/generic/.cvsignore:
5811         * check/generic/states.c:
5812         * check/gst-libs/.cvsignore:
5813         * check/gst-libs/controller.c:
5814         * check/gst-libs/gdp.c:
5815         * check/gst/.cvsignore:
5816         * check/gst/capslist.h:
5817         * check/gst/gst.c:
5818         * check/gst/gstbin.c:
5819         * check/gst/gstbuffer.c:
5820         * check/gst/gstbus.c:
5821         * check/gst/gstcaps.c:
5822         * check/gst/gstelement.c:
5823         * check/gst/gstevent.c:
5824         * check/gst/gstghostpad.c:
5825         * check/gst/gstiterator.c:
5826         * check/gst/gstmessage.c:
5827         * check/gst/gstminiobject.c:
5828         * check/gst/gstobject.c:
5829         * check/gst/gstpad.c:
5830         * check/gst/gstpipeline.c:
5831         * check/gst/gstplugin.c:
5832         * check/gst/gstsegment.c:
5833         * check/gst/gststructure.c:
5834         * check/gst/gstsystemclock.c:
5835         * check/gst/gsttag.c:
5836         * check/gst/gstutils.c:
5837         * check/gst/gstvalue.c:
5838         * check/net/.cvsignore:
5839         * check/net/gstnetclientclock.c:
5840         * check/net/gstnettimeprovider.c:
5841         * check/pipelines/.cvsignore:
5842         * check/pipelines/cleanup.c:
5843         * check/pipelines/simple_launch_lines.c:
5844         * check/pipelines/stress.c:
5845         * check/states/.cvsignore:
5846         * check/states/sinks.c:
5847         * configure.ac:
5848         * examples/Makefile.am:
5849         * examples/appreader/.cvsignore:
5850         * examples/appreader/Makefile.am:
5851         * examples/appreader/appreader.c:
5852         * examples/controller/.cvsignore:
5853         * examples/controller/Makefile.am:
5854         * examples/controller/audio-example.c:
5855         * examples/cutter/.cvsignore:
5856         * examples/cutter/Makefile.am:
5857         * examples/cutter/cutter.c:
5858         * examples/cutter/cutter.h:
5859         * examples/events/Makefile.am:
5860         * examples/events/seek.c:
5861         * examples/helloworld/.cvsignore:
5862         * examples/helloworld/Makefile.am:
5863         * examples/helloworld/helloworld.c:
5864         * examples/helloworld2/.cvsignore:
5865         * examples/helloworld2/Makefile.am:
5866         * examples/helloworld2/helloworld2.c:
5867         * examples/launch/.cvsignore:
5868         * examples/launch/Makefile.am:
5869         * examples/launch/mp3parselaunch.c:
5870         * examples/launch/mp3play:
5871         * examples/manual/.cvsignore:
5872         * examples/manual/Makefile.am:
5873         * examples/manual/extract.pl:
5874         * examples/metadata/Makefile.am:
5875         * examples/metadata/read-metadata.c:
5876         * examples/mixer/.cvsignore:
5877         * examples/mixer/Makefile.am:
5878         * examples/mixer/mixer.c:
5879         * examples/mixer/mixer.h:
5880         * examples/pingpong/.cvsignore:
5881         * examples/pingpong/Makefile.am:
5882         * examples/pingpong/pingpong.c:
5883         * examples/plugins/.cvsignore:
5884         * examples/plugins/Makefile.am:
5885         * examples/plugins/example.c:
5886         * examples/plugins/example.h:
5887         * examples/pwg/.cvsignore:
5888         * examples/pwg/Makefile.am:
5889         * examples/pwg/extract.pl:
5890         * examples/queue/.cvsignore:
5891         * examples/queue/Makefile.am:
5892         * examples/queue/queue.c:
5893         * examples/queue2/.cvsignore:
5894         * examples/queue2/Makefile.am:
5895         * examples/queue2/queue2.c:
5896         * examples/queue3/.cvsignore:
5897         * examples/queue3/Makefile.am:
5898         * examples/queue3/queue3.c:
5899         * examples/queue4/.cvsignore:
5900         * examples/queue4/Makefile.am:
5901         * examples/queue4/queue4.c:
5902         * examples/retag/.cvsignore:
5903         * examples/retag/Makefile.am:
5904         * examples/retag/retag.c:
5905         * examples/retag/transcode.c:
5906         * examples/thread/.cvsignore:
5907         * examples/thread/Makefile.am:
5908         * examples/thread/thread.c:
5909         * examples/typefind/.cvsignore:
5910         * examples/typefind/Makefile.am:
5911         * examples/typefind/typefind.c:
5912         * examples/xml/.cvsignore:
5913         * examples/xml/Makefile.am:
5914         * examples/xml/createxml.c:
5915         * examples/xml/runxml.c:
5916         * tests/Makefile.am:
5917         * tests/check/Makefile.am:
5918         * testsuite/.cvsignore:
5919         * testsuite/Makefile.am:
5920         * testsuite/Rules:
5921         * testsuite/caps/.cvsignore:
5922         * testsuite/caps/Makefile.am:
5923         * testsuite/caps/app_fixate.c:
5924         * testsuite/caps/audioscale.c:
5925         * testsuite/caps/caps.c:
5926         * testsuite/caps/caps.h:
5927         * testsuite/caps/caps_strings:
5928         * testsuite/caps/compatibility.c:
5929         * testsuite/caps/deserialize.c:
5930         * testsuite/caps/enumcaps.c:
5931         * testsuite/caps/eratosthenes.c:
5932         * testsuite/caps/filtercaps.c:
5933         * testsuite/caps/fixed.c:
5934         * testsuite/caps/fraction-convert.c:
5935         * testsuite/caps/fraction-multiply-and-zero.c:
5936         * testsuite/caps/intersect2.c:
5937         * testsuite/caps/intersection.c:
5938         * testsuite/caps/normalisation.c:
5939         * testsuite/caps/random.c:
5940         * testsuite/caps/renegotiate.c:
5941         * testsuite/caps/sets.c:
5942         * testsuite/caps/simplify.c:
5943         * testsuite/caps/string-conversions.c:
5944         * testsuite/caps/structure.c:
5945         * testsuite/caps/subtract.c:
5946         * testsuite/caps/union.c:
5947         * testsuite/debug/.cvsignore:
5948         * testsuite/debug/Makefile.am:
5949         * testsuite/debug/category.c:
5950         * testsuite/debug/commandline.c:
5951         * testsuite/debug/global.c:
5952         * testsuite/debug/output.c:
5953         * testsuite/debug/printf_extension.c:
5954         * testsuite/dlopen/.cvsignore:
5955         * testsuite/dlopen/Makefile.am:
5956         * testsuite/dlopen/dlopen_gst.c:
5957         * testsuite/dlopen/loadgst.c:
5958         * testsuite/elements/.cvsignore:
5959         * testsuite/elements/Makefile.am:
5960         * testsuite/elements/gst-inspect-check.in:
5961         * testsuite/elements/struct_i386.h:
5962         * testsuite/elements/struct_size.c:
5963         * testsuite/indexers/.cvsignore:
5964         * testsuite/indexers/Makefile.am:
5965         * testsuite/indexers/cache1.c:
5966         * testsuite/indexers/indexdump.c:
5967         * testsuite/parse/.cvsignore:
5968         * testsuite/parse/Makefile.am:
5969         * testsuite/parse/parse1.c:
5970         * testsuite/parse/parse2.c:
5971         * testsuite/plugin/.cvsignore:
5972         * testsuite/plugin/Makefile.am:
5973         * testsuite/plugin/README:
5974         * testsuite/plugin/dynamic.c:
5975         * testsuite/plugin/linked.c:
5976         * testsuite/plugin/loading.c:
5977         * testsuite/plugin/registry.c:
5978         * testsuite/plugin/static.c:
5979         * testsuite/plugin/static2.c:
5980         * testsuite/plugin/testplugin.c:
5981         * testsuite/plugin/testplugin2.c:
5982         * testsuite/plugin/testplugin2_s.c:
5983         * testsuite/plugin/testplugin_s.c:
5984         * testsuite/refcounting/.cvsignore:
5985         * testsuite/refcounting/Makefile.am:
5986         * testsuite/refcounting/bin.c:
5987         * testsuite/refcounting/element.c:
5988         * testsuite/refcounting/element_pad.c:
5989         * testsuite/refcounting/mainloop.c:
5990         * testsuite/refcounting/mem.c:
5991         * testsuite/refcounting/mem.h:
5992         * testsuite/refcounting/object.c:
5993         * testsuite/refcounting/pad.c:
5994         * testsuite/refcounting/sched.c:
5995         * testsuite/refcounting/thread.c:
5996         * testsuite/states/.cvsignore:
5997         * testsuite/states/Makefile.am:
5998         * testsuite/states/bin.c:
5999         * testsuite/states/locked.c:
6000         * testsuite/states/parent.c:
6001         * testsuite/threads/.cvsignore:
6002         * testsuite/threads/159566.c:
6003         * testsuite/threads/159852.c:
6004         * testsuite/threads/Makefile.am:
6005         * testsuite/threads/queue.c:
6006         * testsuite/threads/signals.c:
6007         * testsuite/threads/staticrec.c:
6008         * testsuite/threads/thread.c:
6009         * testsuite/threads/threadb.c:
6010         * testsuite/threads/threadc.c:
6011         * testsuite/threads/threadd.c:
6012         * testsuite/threads/threade.c:
6013         * testsuite/threads/threadf.c:
6014         * testsuite/threads/threadg.c:
6015         * testsuite/threads/threadh.c:
6016         * testsuite/threads/threadi.c:
6017           move all of these under tests
6018
6019 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * configure.ac:
6022         * tests/Makefile.am:
6023           fix distcheck
6024
6025 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * docs/gst/gstreamer-sections.txt:
6028         * tests/sched/.cvsignore:
6029         * tests/sched/Makefile.am:
6030         * tests/sched/cases/(fs-fs).xml:
6031         * tests/sched/cases/(fs-i-fs).xml:
6032         * tests/sched/cases/(fs-i-i-fs).xml:
6033         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6034         * tests/sched/dynamic-pipeline.c:
6035         * tests/sched/interrupt1.c:
6036         * tests/sched/interrupt2.c:
6037         * tests/sched/interrupt3.c:
6038         * tests/sched/runtestcases:
6039         * tests/sched/runxml.c:
6040         * tests/sched/sched-stress.c:
6041         * tests/sched/sort.c:
6042         * tests/sched/testcases:
6043         * tests/sched/testcases1.tc:
6044         * tests/seeking/.cvsignore:
6045         * tests/seeking/Makefile.am:
6046         * tests/seeking/seeking1.c:
6047         * tests/threadstate/.cvsignore:
6048         * tests/threadstate/Makefile.am:
6049         * tests/threadstate/test1.c:
6050         * tests/threadstate/test2.c:
6051         * tests/threadstate/threadstate1.c:
6052         * tests/threadstate/threadstate2.c:
6053         * tests/threadstate/threadstate3.c:
6054         * tests/threadstate/threadstate4.c:
6055         * tests/threadstate/threadstate5.c:
6056           remove obsolete tests
6057         * configure.ac:
6058         * tests/bench-complexity.scm:
6059         * tests/bench-mass_elements.scm:
6060         * tests/complexity.c:
6061         * tests/complexity.gnuplot:
6062         * tests/instantiate/.cvsignore:
6063         * tests/instantiate/Makefile.am:
6064         * tests/instantiate/caps.c:
6065         * tests/mass_elements.c:
6066         * tests/network-clock-utils.scm:
6067         * tests/network-clock.scm:
6068         * tests/plot-data:
6069         First pass at cleaning up tests/ dir before moving the rest
6070         Combined with CVS surgery
6071
6072 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6073
6074         * po/POTFILES.in:
6075           queue has moved, update
6076
6077 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * docs/gst/gstreamer-sections.txt:
6080           remove double entries from the docs
6081         * gst/gst_private.h:
6082         * gst/gstinfo.c: (_gst_debug_init):
6083           remove the THREAD debug category
6084         * gst/Makefile.am:
6085         * gst/gstqueue.c:
6086         * gst/gstqueue.h:
6087         * docs/gst/gstreamer.types:
6088         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6089         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6090           completely move queue and fix up debugging categories
6091
6092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6095           make initialization portable, using LL is not
6096
6097 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6098
6099         * win32/common/gstconfig.h:
6100           add large padding
6101
6102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * win32/common/libgstreamer.def:
6105           rename symbols; sort base section
6106
6107 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * gst/gstclock.c: (do_linear_regression):
6110           remove crack non-portable handrolled DEBUG macro
6111
6112 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * docs/random/release:
6115           update notes
6116         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6117         (gst_object_flags_get_type), (register_gst_bin_flags),
6118         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6119         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6120         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6121         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6122         (gst_caps_flags_get_type), (register_gst_clock_return),
6123         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6124         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6125         (gst_clock_flags_get_type), (register_gst_state),
6126         (gst_state_get_type), (register_gst_state_change_return),
6127         (gst_state_change_return_get_type), (register_gst_state_change),
6128         (gst_state_change_get_type), (register_gst_element_flags),
6129         (gst_element_flags_get_type), (register_gst_core_error),
6130         (gst_core_error_get_type), (register_gst_library_error),
6131         (gst_library_error_get_type), (register_gst_resource_error),
6132         (gst_resource_error_get_type), (register_gst_stream_error),
6133         (gst_stream_error_get_type), (register_gst_event_type_flags),
6134         (gst_event_type_flags_get_type), (register_gst_event_type),
6135         (gst_event_type_get_type), (register_gst_seek_type),
6136         (gst_seek_type_get_type), (register_gst_seek_flags),
6137         (gst_seek_flags_get_type), (register_gst_format),
6138         (gst_format_get_type), (register_gst_index_certainty),
6139         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6140         (gst_index_entry_type_get_type),
6141         (register_gst_index_lookup_method),
6142         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6143         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6144         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6145         (gst_index_flags_get_type), (register_gst_debug_level),
6146         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6147         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6148         (gst_iterator_result_get_type), (register_gst_iterator_item),
6149         (gst_iterator_item_get_type), (register_gst_message_type),
6150         (gst_message_type_get_type), (register_gst_mini_object_flags),
6151         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6152         (gst_pad_link_return_get_type), (register_gst_flow_return),
6153         (gst_flow_return_get_type), (register_gst_activate_mode),
6154         (gst_activate_mode_get_type), (register_gst_pad_direction),
6155         (gst_pad_direction_get_type), (register_gst_pad_flags),
6156         (gst_pad_flags_get_type), (register_gst_pad_presence),
6157         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6158         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6159         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6160         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6161         (gst_plugin_flags_get_type), (register_gst_rank),
6162         (gst_rank_get_type), (register_gst_query_type),
6163         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6164         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6165         (gst_tag_flag_get_type), (register_gst_task_state),
6166         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6167         (gst_alloc_trace_flags_get_type),
6168         (register_gst_type_find_probability),
6169         (gst_type_find_probability_get_type), (register_gst_uri_type),
6170         (gst_uri_type_get_type), (register_gst_parse_error),
6171         (gst_parse_error_get_type):
6172         * win32/common/gstenumtypes.h:
6173         * win32/common/gstversion.h:
6174           update visual studio generated files
6175
6176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6177
6178         * win32/vs6/libgstbase.dsp:
6179         * win32/vs6/libgstelements.dsp:
6180           update project files for new locations
6181
6182 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6183
6184         * Makefile.am:
6185           remove some files
6186         * README:
6187           reinstate and update
6188         * DEVEL:
6189         * REQUIREMENTS:
6190           removed
6191         * LICENSE:
6192         * docs/random/LICENSE:
6193           moved to random
6194
6195 2005-11-30  Edward Hervey  <edward@fluendo.com>
6196
6197         * gst/gsttypefind.c: (gst_type_find_register):
6198         * gst/gsttypefind.h:
6199         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6200         (gst_type_find_factory_dispose):
6201         * gst/gsttypefindfactory.h:
6202         Fix memory leak in GstTypeFindFactory.
6203
6204 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6205
6206         * gst/gst.c:
6207         * plugins/elements/Makefile.am:
6208         * plugins/elements/gstelements.c:
6209         * plugins/elements/gstqueue.c:
6210           move queue from core to the elements plugin
6211
6212 2005-11-29  Andy Wingo  <wingo@pobox.com>
6213
6214         * libs/gst/base/gstbasetransform.h: 
6215         * libs/gst/base/gstbasesrc.h: 
6216         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6217
6218         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6219         of pointers by which to pad very extensible base classes (like the
6220         ones in libs/gst/base).
6221
6222 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6223
6224         * docs/gst/gstreamer-docs.sgml:
6225         * docs/gst/gstreamer-sections.txt:
6226         * docs/libs/gstreamer-libs-docs.sgml:
6227         * docs/libs/gstreamer-libs-sections.txt:
6228           moving documentation from core to lib
6229
6230 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6231
6232         * check/Makefile.am:
6233         * configure.ac:
6234         * docs/gst/Makefile.am:
6235         * gst/Makefile.am:
6236         * gst/base/.cvsignore:
6237         * gst/base/Makefile.am:
6238         * gst/base/README:
6239         * gst/base/gstadapter.c:
6240         * gst/base/gstadapter.h:
6241         * gst/base/gstbasesink.c:
6242         * gst/base/gstbasesink.h:
6243         * gst/base/gstbasesrc.c:
6244         * gst/base/gstbasesrc.h:
6245         * gst/base/gstbasetransform.c:
6246         * gst/base/gstbasetransform.h:
6247         * gst/base/gstcollectpads.c:
6248         * gst/base/gstcollectpads.h:
6249         * gst/base/gstpushsrc.c:
6250         * gst/base/gstpushsrc.h:
6251         * gst/base/gsttypefindhelper.c:
6252         * gst/base/gsttypefindhelper.h:
6253         * gst/check/Makefile.am:
6254         * gst/check/gstcheck.c:
6255         * gst/check/gstcheck.h:
6256         * gst/net/Makefile.am:
6257         * gst/net/gstnet.h:
6258         * gst/net/gstnetclientclock.c:
6259         * gst/net/gstnetclientclock.h:
6260         * gst/net/gstnettimepacket.c:
6261         * gst/net/gstnettimepacket.h:
6262         * gst/net/gstnettimeprovider.c:
6263         * gst/net/gstnettimeprovider.h:
6264         * libs/gst/Makefile.am:
6265         * libs/gst/base/Makefile.am:
6266         * libs/gst/base/gstbasetransform.c:
6267         * libs/gst/check/Makefile.am:
6268         * plugins/elements/Makefile.am:
6269         * po/POTFILES.in:
6270           CVS surgery + support to move base, check, and net out of gst
6271           and into libs/gst
6272
6273 2005-11-29  Andy Wingo  <wingo@pobox.com>
6274
6275         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6276
6277         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6278         padding.
6279
6280         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6281
6282         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6283
6284         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6285
6286         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6287         padding; reduces object size by about 30%. We don't expect
6288         anything else to go into gstobject.
6289
6290         * gst/gstminiobject.h (struct _GstMiniObject)
6291         (struct _GstMiniObjectClass): Only one pointer of padding; the
6292         payload is only a pointer and two ints anyway. For the class there
6293         are only two methods as well.
6294         
6295         * gst/gstelement.h (struct _GstElementClass): Removed
6296         the state_changed signal callback, it is not used.
6297
6298 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * docs/gst/gstreamer.types:
6301           fix includes, though they are a little dinky
6302
6303 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6304
6305         * check/Makefile.am:
6306           look in the right place for elements, a lot more chance of
6307           success
6308         * gst/Makefile.am:
6309           remove indexers and elements subdirs
6310         * plugins/Makefile.am:
6311           make indexers conditional
6312
6313 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6314
6315         * Makefile.am:
6316         * configure.ac:
6317         * plugins/elements/Makefile.am:
6318         * plugins/elements/gstcapsfilter.c:
6319         * plugins/elements/gstfilesink.c:
6320         * plugins/elements/gstfilesrc.c:
6321         * plugins/elements/gstidentity.c:
6322         * plugins/indexers/Makefile.am:
6323           do CVS surgery and related build fixery to move elements
6324           and indexers in a new gstreamer/plugins directory, out of the
6325           gst/ directory
6326
6327 2005-11-29  Andy Wingo  <wingo@pobox.com>
6328
6329         * check/Makefile.am:
6330         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6331         * pkgconfig/gstreamer-net.pc.in:
6332         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6333         #322257.
6334
6335 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         * tools/Makefile.am:
6338         * tools/gst-complete.1.in:
6339         * tools/gst-complete.c:
6340         * tools/gst-compprep.1.in:
6341         * tools/gst-compprep.c:
6342           removing -compprep and -complete
6343
6344 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * gst/gstevent.c: (gst_event_new_new_segment),
6347         (gst_event_parse_new_segment):
6348         * gst/gstevent.h:
6349           fix #320529 - clean up new_segment API and structure.
6350           Let's hope everyone was using the methods, and not the structure.
6351
6352 2005-11-29  Edward Hervey  <edward@fluendo.com>
6353
6354         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6355         (gst_base_sink_event), (gst_base_sink_do_sync),
6356         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6357         Properly handle non GST_FORMAT_TIME segment
6358         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6359         Properly handle non GST_FORMAT_TIME segment
6360         * gst/gstsegment.c:
6361         This function is valid if the accumulator is 0 and the format
6362         is different from the requested format.
6363         
6364 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6365
6366         * docs/gst/gstreamer-sections.txt:
6367         Add gst_query_new_seeking and gst_query_parse_seeking to the
6368         docs.
6369
6370 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6371
6372         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6373           Treat a pad alloc with new caps the same as if we were not
6374           negotiated, in order to allow a changing upstream output
6375           to produce a new format of data.
6376
6377 2005-11-29  Edward Hervey  <edward@fluendo.com>
6378
6379         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6380         (gst_base_transform_event), (gst_base_transform_eventfunc):
6381         The event virtual method is now properly implemented, with a default
6382         handler
6383         Sub classes should call the parent_class event method. They should
6384         return FALSE if they had a problem handling the given event, or don't
6385         want GstBaseTransform to send that even downstream
6386         * gst/elements/gstidentity.c: (gst_identity_class_init),
6387         (gst_identity_init), (gst_identity_event),
6388         (gst_identity_transform_ip), (gst_identity_set_property),
6389         (gst_identity_get_property):
6390         * gst/elements/gstidentity.h:
6391         Added the single-segment boolean property.
6392         If set to TRUE, it will output a single segment of data, starting from
6393         0, will eat up all incoming newsegment, and modify the timestamp of the
6394         buffers accordingly
6395
6396 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6397
6398         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6399           Don't ref NULL target pad (#322751). Improve docs.
6400
6401 2005-11-29  Michael Smith  <msmith@fluendo.com>
6402
6403         * gst/gstregistryxml.c: (load_plugin):
6404           Don't crash if we failed to load a feature from a plugin. 
6405
6406 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6409         (GST_START_TEST):
6410           use more check API and less GLib API
6411
6412 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6413
6414         * Makefile.am:
6415           don't run checks if we don't have check
6416         * common/check.mak:
6417           remove the registry when running make torture
6418         * docs/gst/gstreamer-sections.txt:
6419           remove second multiply
6420         * gst/gstqueue.c: (gst_queue_loop):
6421           fix a compile warning when disabling debug
6422
6423 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6424
6425         * gst/gstinfo.h:
6426         Hey! Let's print the pad name if the pointer != NULL instead
6427         of when it == NULL :-)
6428
6429 2005-11-28  Wim Taymans  <wim@fluendo.com>
6430
6431         * check/gst/gstutils.c: (GST_START_TEST):
6432         Updated check, add some scaling accuracy checking code.
6433
6434         * gst/gstutils.c: (gst_util_div128_64),
6435         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6436         (gst_util_uint64_scale_int):
6437         Fix 6 times faster division code. Optimize for common 
6438         1/1 and less common X/1 cases.
6439
6440 2005-11-28  Wim Taymans  <wim@fluendo.com>
6441
6442         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6443         More checks.
6444
6445         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6446         (do_linear_regression), (gst_clock_add_observation):
6447         Cleanups.
6448         Release lock when the clock cannot be slaved.
6449         Catch the case where the regression returned an invalid denominator.
6450
6451         * gst/gstutils.c: (gst_util_div128_64_iterate),
6452         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6453         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6454         Add protentially more performant non-iterative 128/64 divide function
6455         that unfortunatly does not work yet.
6456         Shortcut the trivial 0/X = 0 case.
6457         Remove the warnings on overflow.
6458
6459 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6460
6461         * gst/gstplugin.c: (gst_plugin_register_func):
6462           everything causing a plugin not to load should be at least a WARNING
6463
6464 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * docs/random/ensonic/dparams.txt:
6467           some TODOs for the next dev cycle
6468         * libs/gst/controller/gstcontroller.c:
6469         (gst_controlled_property_set_interpolation_mode),
6470         (gst_controlled_property_new):
6471         * libs/gst/controller/gstcontroller.h:
6472           use base type to assign acccessor functions
6473
6474 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6475
6476         * check/Makefile.am:
6477         Oops, that should have been top_srcdir
6478
6479 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6480
6481         * check/Makefile.am:
6482         * check/elements/fdsrc.c: (GST_START_TEST):
6483         Use a cmdline define to specify the location of a file to use for
6484         testing, to avoid breaking distcheck.
6485
6486 2005-11-28  Andy Wingo  <wingo@pobox.com>
6487
6488         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6489
6490 2005-11-28  Edward Hervey  <edward@fluendo.com>
6491
6492         * tools/gst-launch.c: (main):
6493         Clarify the output strings, makes it easier to translate.
6494         Fixes #322626
6495
6496 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * gst/Makefile.am:
6499           don't try and build net if we don't even have <sys/socket.h>
6500
6501 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6502
6503         * check/Makefile.am:
6504         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6505         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6506           Add tests for fdsrc seekability
6507
6508         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6509         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6510         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6511         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6512         * gst/elements/gstfdsrc.h:
6513           fdsrc should not be a 'live' source.
6514           Implement seeking on seekable fd's.
6515
6516         * gst/gstquery.c: (gst_query_new_seeking),
6517         (gst_query_parse_seeking):
6518         * gst/gstquery.h:
6519           Implement SEEKING query functions: 
6520             *_new_seeking and *_parse_seeking
6521
6522 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6523
6524         * gst/gstelement.c: (gst_element_dispose):
6525           don't loop forever
6526
6527         * gst/gstiterator.c:
6528         * gst/gststructure.c:
6529           doc fixes
6530
6531         * libs/gst/controller/gstcontroller.c:
6532         (gst_controlled_property_set_interpolation_mode):
6533         * libs/gst/controller/gstcontroller.h:
6534         * libs/gst/controller/gstinterpolation.c:
6535         (interpolate_none_get_enum_value_array):
6536           support controlling enums
6537
6538 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * gst/gstvalue.c:
6541           Improve documentation for gst_value_union().
6542
6543         * gst/gstvalue.h:
6544           Change return value for union, intersect and subtract functions
6545           from gint to gboolean.
6546
6547 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6548
6549         * gst/gstvalue.c: (gst_value_serialize_any_list),
6550         (gst_value_transform_any_list_string),
6551         (gst_value_deserialize_list), (gst_value_deserialize_array),
6552         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6553         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6554         (gst_value_set_fraction_range_full),
6555         (gst_value_deserialize_fraction_range),
6556         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6557         (gst_value_deserialize_boolean),
6558         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6559         (gst_value_serialize_float), (gst_value_deserialize_float),
6560         (gst_string_wrap), (gst_value_deserialize_string),
6561         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6562         (gst_value_union_int_range_int_range),
6563         (gst_value_intersect_int_range_int_range),
6564         (gst_value_intersect_double_range_double_range),
6565         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6566         (gst_value_subtract_int_range_int_range),
6567         (gst_value_subtract_double_double_range),
6568         (gst_value_subtract_double_range_double_range),
6569         (gst_value_deserialize_fraction):
6570         * gst/gstvalue.h:
6571           Use gint, gdouble and gchar in our API instead of int, double and
6572           char (and make usage in gstvalue.c more consistent).
6573
6574 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6575
6576         * check/Makefile.am:
6577         * libs/gst/controller/Makefile.am:
6578         * libs/gst/dataprotocol/Makefile.am:
6579           fix up Makefile.am and remove GST_ENABLE_NEW
6580
6581 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         * configure.ac:
6584         * gst/Makefile.am:
6585         * gst/base/Makefile.am:
6586         * gst/check/Makefile.am:
6587         * gst/elements/Makefile.am:
6588         * gst/net/Makefile.am:
6589           update LDFLAGS use some more
6590
6591 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * common/m4/gst-doc.m4:
6594           Fixes #312589
6595
6596 2005-11-26  Edward Hervey  <edward@fluendo.com>
6597
6598         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6599         This shouldn't issue a g_warning since it returns NULL if it
6600         couldn't find the plugin, and all functions using this behave
6601         properly on a NULL return. Switching to a GST_WARNING.
6602
6603 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6604
6605         * gst/gstbin.c: (gst_bin_handle_message_func):
6606         Don't leak clock messages.
6607
6608 2005-11-25  Wim Taymans  <wim@fluendo.com>
6609
6610         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6611         (gst_util_uint64_scale_int):
6612         Optimisations, remove unneeded vars.
6613
6614 2005-11-25  Wim Taymans  <wim@fluendo.com>
6615
6616         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6617         Added more checks for the high precision uint64 cases.
6618
6619         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6620         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6621         Implement high precision (guint64 * guint64) / guint64.
6622
6623 2005-11-24  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/base/gstbasesrc.c: (gst_base_src_query):
6626         Fix wrong percentage query.
6627
6628         * gst/gstutils.c: (gst_util_uint64_scale),
6629         (gst_util_uint64_scale_int):
6630         Add some more common cases that can be handled 
6631         efficiently to _scale.
6632
6633 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6634
6635         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6636         (gst_mini_object_suite):
6637           don't use check calls from threads; check probably isn't
6638           threadsafe and using a lock to make it threadsafe would
6639           defeat the purpose of this check
6640         * gst/check/gstcheck.c:
6641         * gst/check/gstcheck.h:
6642           use GST_DEBUG some more
6643
6644 2005-11-24  Wim Taymans  <wim@fluendo.com>
6645
6646         * gst/gstutils.c: (gst_util_uint64_scale),
6647         (gst_util_uint64_scale_int):
6648         Chain trivial case to _scale_int.
6649
6650 2005-11-24  Wim Taymans  <wim@fluendo.com>
6651
6652         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6653         Added test for scaling.
6654
6655         * gst/gstclock.h:
6656         Small doc fix.
6657
6658         * gst/gstutils.c: (gst_util_uint64_scale_int):
6659         Implemented high precision scaling code.
6660
6661 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6662
6663         * gst/gstinfo.h:
6664           do not crash on pad==NULL
6665
6666 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6667
6668         Patch by: Stefan Kost
6669
6670         * common/gtk-doc.mak:
6671         * docs/gst/Makefile.am:
6672         * docs/libs/Makefile.am:
6673           Fix distcheck issues for the libraries docs build
6674           Closes #319599.
6675
6676 2005-11-24  Michael Smith <msmith@fluendo.com>
6677
6678         * docs/manual/basics-helloworld.xml:
6679           Fix bug #315027: memory leak in example code in docs.
6680
6681 2005-11-24  Michael Smith <msmith@fluendo.com>
6682
6683         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6684           Unlock the PREROLL_LOCK in a failure case.
6685
6686 2005-11-24  Wim Taymans  <wim@fluendo.com>
6687
6688         * docs/gst/gstreamer-sections.txt:
6689         * gst/base/gstadapter.h:
6690         * gst/base/gstbasesink.h:
6691         * gst/base/gstbasesrc.h:
6692         * gst/base/gstbasetransform.h:
6693         * gst/base/gstpushsrc.h:
6694         * gst/elements/gstfakesink.h:
6695         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6696         * gst/elements/gstfakesrc.h:
6697         * gst/elements/gstfilesink.h:
6698         * gst/elements/gstfilesrc.h:
6699         * gst/gst.c:
6700         * gst/gstbin.c:
6701         * gst/gstbuffer.c: (_gst_buffer_copy):
6702         * gst/gstbus.h:
6703         * gst/gstcaps.c:
6704         * gst/gstchildproxy.c:
6705         * gst/gstclock.c:
6706         * gst/gstelement.c:
6707         * gst/gstelementfactory.c:
6708         * gst/gstelementfactory.h:
6709         * gst/gstevent.c:
6710         * gst/gstghostpad.h:
6711         * gst/gstindex.h:
6712         * gst/gstinterface.h:
6713         * gst/gstminiobject.c:
6714         * gst/gstminiobject.h:
6715         * gst/gstpad.c:
6716         * gst/gstpad.h:
6717         * gst/gstpadtemplate.h:
6718         * gst/gstpipeline.h:
6719         * gst/gstpluginfeature.h:
6720         * gst/gstquery.h:
6721         * gst/gstqueue.h:
6722         * gst/gsttaglist.c:
6723         * gst/gsttaglist.h:
6724         * gst/gsttagsetter.c:
6725         * gst/gsttagsetter.h:
6726         * gst/gsttrace.c:
6727         * gst/gsttrace.h:
6728         * gst/gsttypefind.h:
6729         * gst/gsturi.h:
6730         * gst/gstvalue.c:
6731         * gst/net/gstnetclientclock.c:
6732         * gst/net/gstnetclientclock.h:
6733         * gst/net/gstnettimepacket.c:
6734         * gst/net/gstnettimeprovider.c:
6735         * gst/net/gstnettimeprovider.h:
6736         Doc fixes.
6737
6738 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6739
6740         * configure.ac: back to HEAD
6741
6742 === release 0.9.6 ===
6743
6744 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6745
6746         * configure.ac:
6747           releasing 0.9.6, "Always On Time"
6748
6749 2005-11-23  Wim Taymans  <wim@fluendo.com>
6750
6751         * docs/gst/gstreamer-sections.txt:
6752         * gst/glib-compat.c:
6753         * gst/gsttagsetter.c:
6754         * gst/gstvalue.c:
6755         * gst/net/gstnetclientclock.c:
6756         * gst/net/gstnettimepacket.h:
6757         Doc updates.
6758
6759 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6760
6761         * docs/faq/using.xml:
6762         * docs/libs/tmpl/gstcontrol.sgml:
6763         * docs/manual/advanced-dparams.xml:
6764         * docs/manual/appendix-checklist.xml:
6765         * docs/manual/basics-elements.xml:
6766         * docs/pwg/other-source.xml:
6767         * docs/random/moving-plugins:
6768         * gst/gstpad.c:
6769         * tools/gst-launch.1.in:
6770           remove mentions of sinesrc
6771
6772 2005-11-23  Michael Smith <msmith@fluendo.com>
6773
6774         * docs/gst/gstreamer-sections.txt:
6775           Update for new API and API changes.
6776         * gst/gstobject.h:
6777           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6778         * gst/gstvalue.c:
6779           Documentation typo fix.
6780         * gst/net/gstnettimepacket.c:
6781           Documentation fixes for arguments.
6782
6783 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6784
6785         * gst/gststructure.c: (gst_structure_get_fraction),
6786         (gst_structure_parse_value),
6787         (gst_structure_fixate_field_nearest_fraction):
6788         * gst/gststructure.h:
6789         * gst/gstutils.c: (gst_util_uint64_scale_int):
6790         * gst/gstutils.h:
6791         * scripts/update-funcnames:
6792         API Changes. 
6793         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6794         Make gst_structure_fixate_field_nearest_fraction take a numerator
6795         and denominator argument instead of a GValue
6796         add gst_structure_get_fraction helper function.
6797
6798 2005-11-23  Wim Taymans  <wim@fluendo.com>
6799
6800         * docs/design/part-TODO.txt:
6801         Update TODO.
6802
6803         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6804         * gst/net/gstnetclientclock.h:
6805         Use parent fields for timeout and window_size.
6806
6807 2005-11-23  Andy Wingo  <wingo@pobox.com>
6808
6809         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6810         rate_num/rate_denom change.
6811
6812         * gst/net/gstnetclientclock.c
6813         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6814         OBJECT_LOCK. Don't call add_observation with the lock.
6815
6816         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6817         fraction.
6818         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6819         rate fraction.
6820         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6821         deal with rate as a fraction whose numerator and denominator are
6822         GstClockTime values.
6823         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6824         master; the other fields are protected by the SLAVE_LOCK.
6825         (do_linear_regression): Note that this must be called with the
6826         SLAVE_LOCK.
6827         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6828         OBJECT_LOCK. Call set_calibration instead of touching the
6829         variables directly.
6830         (gst_clock_set_property, gst_clock_get_property): Protect
6831         master/slave parameters with the SLAVE_LOCK.
6832
6833         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6834         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6835         note that all of the instance variables that add_observation and
6836         the set_master functions use are protected by that lock and not
6837         the OBJECT_LOCK.
6838         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6839
6840         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6841         the caller to take the object lock.
6842
6843 2005-11-23  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/gsterror.c: (_gst_core_errors_init):
6846         * gst/gsterror.h:
6847         Add error for clock stuff.
6848
6849         * gst/gstpipeline.c: (gst_pipeline_change_state),
6850         (gst_pipeline_set_clock):
6851         Post clock error when clock cannot be used in a pipeline.
6852
6853 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6854
6855         * docs/gst/gstreamer-sections.txt:
6856           make two symbols from gstinfo private for the docs
6857         * gst/base/gstcollectpads.h:
6858         * gst/gstutils.c:
6859           fix doc typos, update docs
6860
6861 2005-11-22  Wim Taymans  <wim@fluendo.com>
6862
6863         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6864         (gst_base_sink_wait), (gst_base_sink_do_sync),
6865         (gst_base_sink_handle_event):
6866         * gst/base/gstbasesink.h:
6867         No need to store the clock, the parent element class already
6868         has it.
6869
6870         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6871         Updates for clock_set returning a gboolean
6872
6873         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6874         (gst_clock_id_wait_async), (gst_clock_class_init),
6875         (gst_clock_init), (gst_clock_finalize),
6876         (gst_clock_get_internal_time), (gst_clock_get_time),
6877         (gst_clock_slave_callback), (gst_clock_set_master),
6878         (gst_clock_get_master), (do_linear_regression),
6879         (gst_clock_add_observation), (gst_clock_set_property),
6880         (gst_clock_get_property):
6881         * gst/gstclock.h:
6882         Implement master/slave. When setting a clock as a slave, a
6883         periodic timeout is scheduled to sample master and slave times.
6884         Then the slave clock is recalibrated to match offset and rate
6885         of the master clock.
6886         Update logging a bit.
6887         Add flag so that a clock can state that is cannot be slaved to
6888         another clock.
6889
6890         * gst/gstelement.c: (gst_element_set_clock):
6891         * gst/gstelement.h:
6892         The set clock returns a gboolean for when an element cannot
6893         deal with the selected clock in the pipeline. 
6894
6895         * gst/gstpipeline.c: (gst_pipeline_change_state),
6896         (gst_pipeline_set_clock):
6897         * gst/gstpipeline.h:
6898         Handle the case where the selected clock cannot be set on
6899         the pipeline.
6900
6901         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6902         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6903         (gst_net_client_clock_set_property),
6904         (gst_net_client_clock_get_property),
6905         (gst_net_client_clock_observe_times):
6906         * gst/net/gstnetclientclock.h:
6907         Use regression code in GstClock parent, remove duplicated
6908         functionality.
6909
6910 2005-11-22  Michael Smith <msmith@fluendo.com>
6911
6912         * gst/gstutils.c: (gst_util_clock_time_scale):
6913         * gst/gstutils.h:
6914         * docs/gst/gstreamer-sections.txt:
6915           Rename method to have extra underscore.
6916
6917 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6918
6919         * gst/elements/Makefile.am:
6920         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6921         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6922         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6923         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6924         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6925         * gst/elements/gstfakesrc.h:
6926         * gst/gstqueue.c: (queue_leaky_get_type):
6927           correctly fix GEnumValues so that nick is the short lowercase
6928           dashed tag
6929         * tools/gst-inspect.c: (print_element_properties_info):
6930           also show the nick, since it's useful to use from parse_launch
6931           syntax
6932           Fixes #322139
6933
6934 2005-11-22  Michael Smith <msmith@fluendo.com>
6935
6936         * gst/gstutils.c: (gst_util_clocktime_scale):
6937         * gst/gstutils.h:
6938         * docs/gst/gstreamer-sections.txt:
6939           Add util method for scaling a clocktime by a fraction. Useful 
6940           implementation is left as an exercise for the reader.
6941
6942 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6943
6944         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6945         If needed, allocate storage in the destination value during
6946         collection.
6947
6948 2005-11-22  Edward Hervey  <edward@fluendo.com>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * gst/Makefile.am:
6952         * gst/gst.h:
6953         * gst/gsturitype.c:
6954         * gst/gsturitype.h:
6955         * gst/gstutils.c: (gst_util_set_object_arg):
6956         * tools/gst-compprep.c: (main):
6957         * tools/gst-inspect.c: (print_element_properties_info):
6958         Removed GstURI, closes bug #321061
6959
6960 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6961
6962         * check/gst/gststructure.c: (GST_START_TEST):
6963         * gst/gststructure.c: (gst_structure_parse_value):
6964           Oops, broke automatic string type parsing.
6965           Add a test to catch it in future.
6966
6967 2005-11-22  Andy Wingo  <wingo@pobox.com>
6968
6969         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6970         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6971         Actually rename the function implementations. Grr.
6972
6973 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6974
6975         * check/gst/capslist.h:
6976           Comment test cases
6977         * check/gst/gststructure.c: (GST_START_TEST),
6978         (gst_structure_suite):
6979           Test automatic value type detection in gst_structure_from_string.
6980         * gst/gststructure.c: (gst_structure_parse_value):
6981           Add fraction as a type we try and guess automatically in
6982           caps/structure strings.
6983
6984 2005-11-22  Andy Wingo  <wingo@pobox.com>
6985
6986         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6987
6988         * gst/gsttagsetter.h:
6989         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6990         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6991         (gst_tag_setter_add_tag_valist)
6992         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6993         _add_values, _add_valist, and _add_valist_values. Since this is an
6994         interface the function suffixes should be more explicit so
6995         language binding don't end up with element.add_valist ->
6996         gst_tag_setter_add_valist, for example. Fixes #322069.
6997
6998 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6999
7000         * check/gst/gstcaps.c: (GST_START_TEST):
7001           Extend caps string tests to check that a caps to string
7002           conversion is reversible and produces the same caps.
7003
7004         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7005           Output "fraction" as the generic type fraction range, so caps
7006           serialisation and deserialisation works.
7007         * check/gst/capslist.h:
7008         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7009           Support 'MIN' and 'MAX' for deserialising fractions.
7010
7011 2005-11-22  Andy Wingo  <wingo@pobox.com>
7012
7013         * gst/gstevent.h (gst_event_new_new_segment)
7014         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7015         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7016         Renamed from *_newsegment, *_buffersize, *_notarget.
7017
7018         * scripts/update-funcnames: New script, performs the changes
7019         listed above.
7020
7021 2005-11-22  Wim Taymans  <wim@fluendo.com>
7022
7023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7024         Make sure the GstFlowReturn is returned.
7025
7026         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7027         (gst_bus_add_signal_watch):
7028         * gst/gstbus.h:
7029         add gst_bus_add_signal_watch_full.
7030
7031         * gst/gstplugin.c: (gst_plugin_load_file):
7032         Small style cleanup.
7033
7034 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7035
7036         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7037           Block the fakesrc srcpad when we send an event, to avoid
7038           contention on the stream_lock causing random test failures.
7039
7040 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7041
7042         * check/gst/gstvalue.c: (GST_START_TEST):
7043         * gst/gstvalue.c: (gst_value_fraction_subtract):
7044           Fix subtraction.
7045
7046 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * gst/gst.h:
7049           include "gstchildproxy.h"
7050         * gst/gstchildproxy.h:
7051         * libs/gst/controller/gstcontroller.h:
7052           use G_GNUC_NULL_TERMINATED
7053
7054 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7055
7056         * check/gst/capslist.h:
7057         * check/gst/gstcaps.c: (GST_START_TEST):
7058         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7059         * gst/gststructure.c: (gst_structure_parse_range),
7060         (gst_structure_fixate_field_nearest_fraction):
7061         * gst/gststructure.h:
7062         * gst/gstvalue.c: (gst_value_init_fraction_range),
7063         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7064         (gst_value_collect_fraction_range),
7065         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7066         (gst_value_set_fraction_range_full),
7067         (gst_value_get_fraction_range_min),
7068         (gst_value_get_fraction_range_max),
7069         (gst_value_serialize_fraction_range),
7070         (gst_value_transform_fraction_range_string),
7071         (gst_value_compare_fraction_range),
7072         (gst_value_deserialize_fraction_range),
7073         (gst_value_intersect_fraction_fraction_range),
7074         (gst_value_intersect_fraction_range_fraction_range),
7075         (gst_value_subtract_fraction_fraction_range),
7076         (gst_value_subtract_fraction_range_fraction),
7077         (gst_value_subtract_fraction_range_fraction_range),
7078         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7079         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7080         (gst_value_transform_string_fraction), (_gst_value_initialize):
7081         * gst/gstvalue.h:
7082           Implement fraction ranges and extend GstFraction to support
7083           arithmetic subtraction, as well as deserialization from integer
7084           strings such as "100"
7085           Add a testsuite as for int and double range set operations
7086
7087 2005-11-21  Andy Wingo  <wingo@pobox.com>
7088
7089         * gst/gsttaglist.h: 
7090         * gst/gstcaps.h: 
7091         * gst/gststructure.h: Add glib-compat.h.
7092
7093 2005-11-21  Wim Taymans  <wim@fluendo.com>
7094
7095         * gst/gstbin.c: (gst_bin_change_state_func):
7096         Fix for #321595
7097
7098 2005-11-21  Wim Taymans  <wim@fluendo.com>
7099
7100         * gst/gstsegment.h:
7101         And add a nice define too.
7102
7103 2005-11-21  Wim Taymans  <wim@fluendo.com>
7104
7105         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7106         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7107         (gst_segment_set_duration), (gst_segment_set_last_stop),
7108         (gst_segment_set_seek), (gst_segment_set_newsegment),
7109         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7110         (gst_segment_clip):
7111         * gst/gstsegment.h:
7112         Make binding friendly.
7113
7114 2005-11-21  Andy Wingo  <wingo@pobox.com>
7115
7116         * gst/gsttagsetter.h: 
7117         * gst/gsttaglist.h: 
7118         * gst/gststructure.h: 
7119         * gst/gstcaps.h: 
7120         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7121         #319940.
7122
7123         * gst/gsterror.c (_gst_core_errors_init):
7124         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7125         category.
7126
7127         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7128         (noinst_HEADERS): noinst the -private.
7129
7130 2005-11-21  Michael Smith <msmith@fluendo.com>
7131
7132         * gst/gstplugin.h:
7133         * gst/gstregistry.h:
7134           Remove unimplemented declarations for which we can see no sensible
7135           use.
7136
7137 2005-11-21  Andy Wingo  <wingo@pobox.com>
7138
7139         * gst/gst.h: Include glib-compat.h.
7140
7141         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7142
7143         * gst/glib-compat.c: Include the public and the private header.
7144
7145         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7146
7147         * gst/gstvalue.c: 
7148         * gst/gstpad.c: 
7149         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7150
7151         * check/gst/gstevent.c (create_custom_events): Check that
7152         FLUSH_STOP is serialized.
7153
7154         * check/elements/identity.c (event_func): 
7155         * check/elements/fakesrc.c (event_func): No stream lock, the core
7156         takes it.
7157
7158         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7159         stream lock taking, yay.
7160
7161         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7162         ensure that core takes the stream lock.
7163
7164         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7165         lock name change.
7166
7167         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7168         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7169         it already. For the flush start we do take it though so we get the
7170         right preroll state change messages.
7171
7172         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7173         the stream lock here, the core does it for us.
7174
7175         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7176         GST_STREAM_GET_LOCK.
7177         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7178         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7179         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7180         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7181         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7182         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7183
7184         * gst/gstpad.c: Update for stream lock name change.
7185
7186         * gst/base/gstbasesink.c: Update for preroll lock name change.
7187
7188 2005-11-21  Wim Taymans  <wim@fluendo.com>
7189
7190         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7191         (gst_clock_get_master):
7192         * gst/gstclock.h:
7193         * gst/gstsystemclock.c: (gst_system_clock_init):
7194         Convert Clock flags to object flags.
7195         Added methods to manage master/slave clocks.
7196
7197 2005-11-21  Wim Taymans  <wim@fluendo.com>
7198
7199         * check/gst/gstsegment.c: (GST_START_TEST):
7200         * docs/design/part-TODO.txt:
7201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7202         (gst_base_sink_event), (gst_base_sink_do_sync),
7203         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7204         (gst_base_sink_query), (gst_base_sink_change_state):
7205         * gst/base/gstbasesink.h:
7206         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7207         (gst_base_src_default_newsegment),
7208         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7209         (gst_base_src_get_range), (gst_base_src_loop),
7210         (gst_base_src_change_state):
7211         * gst/base/gstbasesrc.h:
7212         * gst/base/gstbasetransform.c:
7213         (gst_base_transform_prepare_output_buf),
7214         (gst_base_transform_event), (gst_base_transform_change_state):
7215         * gst/base/gstbasetransform.h:
7216         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7217         (gst_collect_pads_event):
7218         * gst/base/gstcollectpads.h:
7219         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7220         (gst_fake_src_create):
7221         * gst/elements/gstfakesrc.h:
7222         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7223         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7224         (gst_segment_set_last_stop), (gst_segment_set_seek),
7225         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7226         (gst_segment_to_running_time), (gst_segment_clip):
7227         * gst/gstsegment.h:
7228         More segment updates, replace code in plugins with segment
7229         helper functions.
7230
7231 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7232
7233         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7234         Don't ignore sscanf results
7235
7236 2005-11-21  Andy Wingo  <wingo@pobox.com>
7237
7238         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7239
7240         * *.h:
7241         * *.c: Ran scripts/update-macros. Oh yes.
7242
7243         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7244         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7245         GST_GET_LOCK, etc.
7246
7247         * scripts/update-macros: New script. Run it on your files to
7248         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7249         well.
7250
7251 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7252
7253         * docs/gst/Makefile.am:
7254         * docs/gst/gstreamer-docs.sgml:
7255         * docs/gst/gstreamer-sections.txt:
7256         * docs/gst/gstreamer.types:
7257         * gst/gstinfo.h:
7258           more docs fixes, add new api to the docs
7259
7260 2005-11-21  Andy Wingo  <wingo@pobox.com>
7261
7262         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7263         state_broadcast call.
7264
7265         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7266
7267 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7268
7269         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7270         function calls for arrays.
7271
7272 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * docs/random/ensonic/media-device-daemon.txt:
7275           wild idea, can this be done?
7276         * docs/gst/gstreamer-sections.txt:
7277         * gst/gsterror.h:
7278         * gst/gstfilter.c:
7279         * gst/gstfilter.h:
7280         * gst/gstplugin.h:
7281         * gst/gstpluginfeature.c:
7282         * gst/gsttrace.c:
7283         * gst/gstvalue.c:
7284         * gst/gstvalue.h:
7285           doc fixes and additions
7286
7287 2005-11-21  Andy Wingo  <wingo@pobox.com>
7288
7289         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7290         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7291         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7292         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7293         private to the basesrc implementation.
7294
7295         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7296         behalf of event function if necessary. It should no longer be
7297         necessary to take the stream lock in pad's event functions. Fixes
7298         #320299.
7299
7300 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7301         * docs/gst/gstreamer-sections.txt:
7302         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7303         (gst_structure_fixate_field_nearest_double),
7304         (gst_structure_fixate_field_boolean):
7305         * gst/gststructure.h:
7306         * win32/common/libgstreamer.def:
7307         * win32/gstreamer.def:
7308
7309         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7310         (#322027)
7311
7312 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7313
7314         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7315         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7316         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7317         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7318         (gst_fdsrc_uri_handler_init):
7319         * gst/elements/gstfdsrc.h:
7320           Port fd:// URI handler from 0.8 to fdsrc
7321
7322 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7323
7324         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7325         (gst_value_serialize_fourcc):
7326         * gst/gstvalue.h:
7327           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7328           consistent with our other format defines (#320324).
7329
7330 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7331
7332         * gst/gstvalue.c: (gst_value_is_fixed):
7333           Revert previous commit. Value lists are by definition
7334           not fixed, as they are a list of possible values.
7335
7336 2005-11-21  Andy Wingo  <wingo@pobox.com>
7337
7338         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7339         during the stable series if we need it. Fixes #319178.
7340
7341         * gst/gstevent.c (gst_event_new_filler): Removed.
7342
7343         * check/gst/gstevent.c: Update comment about filler events.
7344
7345 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7346
7347         * gst/gstvalue.c: (gst_value_is_fixed):
7348           Should handle both value arrays and value lists.
7349
7350 2005-11-21  Andy Wingo  <wingo@pobox.com>
7351
7352         patch by: Alessandro Dessina <alessandro nnva org>
7353
7354         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7355         functions to access arrays. Fixes #321962.
7356
7357 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7358
7359         * docs/gst/gstreamer.types:
7360           gst_collectpads_get_type => gst_collect_pads_get_type.
7361           
7362         * gst/base/gstbasetransform.c:
7363           Remove unused SIGNAL_HANDOFF enum.
7364
7365 2005-11-21  Andy Wingo  <wingo@pobox.com>
7366
7367         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7368         the event type (upstream, downstream, serialized). Renamed
7369         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7370         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7371         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7372
7373         * gst/gstevent.c: Update for new CUSTOM event names.
7374
7375         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7376
7377         * gst/gstevent.h:
7378         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7379         bug #319392.
7380
7381 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7382
7383         * docs/gst/gstreamer-sections.txt:
7384         * win32/common/libgstbase.def:
7385         * win32/libgstbase.def:
7386         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7387         (gst_collect_pads_class_init), (gst_collect_pads_init),
7388         (gst_collect_pads_finalize), (gst_collect_pads_new),
7389         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7390         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7391         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7392         (gst_collect_pads_start), (gst_collect_pads_stop),
7393         (gst_collect_pads_peek), (gst_collect_pads_pop),
7394         (gst_collect_pads_available), (gst_collect_pads_read),
7395         (gst_collect_pads_flush), (gst_collect_pads_event),
7396         (gst_collect_pads_chain):
7397         * gst/base/gstcollectpads.h:
7398           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7399           unimplemented functions as unimplemented. Add padding to
7400           GstCollectData. (#320766, #320423)
7401
7402 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7403
7404         * gst/gstmessage.c:
7405           Improve docs for DURATION message (usage of duration parameter)
7406           (#320113)
7407
7408 2005-11-20  Wim Taymans  <wim@fluendo.com>
7409
7410         * check/Makefile.am:
7411         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7412         (main):
7413         * gst/Makefile.am:
7414         * gst/gst.h:
7415         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7416         (gst_segment_set_seek), (gst_segment_set_newsegment),
7417         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7418         (gst_segment_clip):
7419         * gst/gstsegment.h:
7420         Added segment helper structure and methods. Not fully implemented
7421         yet.
7422         Added segment check.
7423
7424 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7425
7426         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7427           Add a deserialisation test for fractions
7428         * examples/metadata/read-metadata.c: (message_loop),
7429         (make_pipeline), (main):
7430           Fix up metadata reading sample.
7431         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7432           Debug format fix
7433         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7434           Don't try and fixate empty caps
7435         * gst/gst_private.h:
7436           Wrap in G_BEGIN_DECLS/G_END_DECLS
7437         * gst/gstvalue.c: (gst_value_collect_fraction),
7438         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7439         (gst_value_transform_string_fraction),
7440         (gst_value_compare_fraction):
7441           Add some extra guards to ensure that we don't end up 
7442           with an invalid denominator of 0 in a gstfraction and
7443           that fractions always get reduced.
7444
7445 2005-11-20  Wim Taymans  <wim@fluendo.com>
7446
7447         * docs/gst/gstreamer-sections.txt:
7448         * gst/gstbuffer.h:
7449         * gst/gstelement.c:
7450         * gst/gstformat.c:
7451         * gst/gstformat.h:
7452         * gst/gstindex.h:
7453         * gst/gstquery.c:
7454         * gst/gstquery.h:
7455         * gst/gstvalue.c:
7456         Doc fixes.
7457
7458 2005-11-20  Wim Taymans  <wim@fluendo.com>
7459
7460         * docs/design/part-TODO.txt:
7461         * gst/gstcaps.h:
7462         Make a proper enum of the flag.
7463
7464 2005-11-19  Wim Taymans  <wim@fluendo.com>
7465
7466         * docs/design/part-TODO.txt:
7467         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7468         (gst_format_to_quark), (gst_format_register):
7469         * gst/gstformat.h:
7470         * gst/gstquery.c: (_gst_query_initialize),
7471         (gst_query_type_get_name), (gst_query_type_to_quark),
7472         (gst_query_type_register):
7473         * gst/gstquery.h:
7474         Add type to quark and type to string conversions.
7475
7476 2005-11-19  Andy Wingo  <wingo@pobox.com>
7477
7478         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7479         #320097.
7480
7481 2005-11-19  Wim Taymans  <wim@fluendo.com>
7482
7483         * docs/design/part-TODO.txt:
7484         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7485         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7486         (gst_bin_handle_message_func):
7487         * gst/gstbin.h:
7488         Make message handling overridable.
7489
7490 2005-11-19  Andy Wingo  <wingo@pobox.com>
7491
7492         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7493
7494         * gst/gstclock.h:
7495         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7496         be a GstClockTime.
7497         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7498         is a GstClockTime. Fixes #321710.
7499
7500         * gst/gstclock.h (GstClock): Remove offset property. Add
7501         internal_calibration and external_calibration. Fix padding. Pad
7502         also by GstClockTime so we don't run into problems.
7503
7504         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7505         (gst_clock_get_rate_offset): Remove.
7506         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7507
7508         * gst/gstutils.h:
7509         * gst/gstutils.c (g_static_rec_cond_wait)
7510         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7511
7512         * gst/gstbin.c: Remove terrible continue_state prototype.
7513
7514         * gst/gstelement.h (gst_element_continue_state): Make public.
7515
7516         * gst/gstelement.h:
7517         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7518         by continue_state. Fixes #319389.
7519
7520         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7521         Really fixes #168438. However I don't see anywhere where the
7522         filter function is called... stupid GStreamer...
7523         
7524         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7525         don't have a dispose function, so it won't get called when the
7526         object is unreffed, but oh well!
7527
7528         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7529         allows a destroy function to be set so user_data can be freed.
7530         Fixes #168438.
7531         (gst_index_set_filter): Call gst_index_set_filter_full.
7532
7533         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7534
7535         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7536         string should produce an error, given the lack of a way to
7537         represent NULL strings. Fixes #165650.
7538         
7539         * gst/gstvalue.h: 
7540         * gst/gstvalue.c (gst_value_array_append_value) 
7541         (gst_value_array_prepend_value, gst_value_array_get_size) 
7542         (gst_value_array_get_value): New API, copied from
7543         gst_value_list_*, only operates on arrays.
7544         (gst_value_list_append_value, gst_value_list_prepend_value) 
7545         (gst_value_list_concat, gst_value_list_get_size) 
7546         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7547
7548         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7549         init_list, because it works on both.
7550         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7551         (gst_value_copy_list_or_array): Renamed from copy_list.
7552         (gst_value_free_list_or_array): Renamed from free_list.
7553         (gst_value_collect_list_or_array): Renamed from collect_list.
7554         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7555         (gst_value_list_or_array_peek_pointer): Renamed from
7556         list_peek_pointer.
7557         (_gst_value_array_value_table, _gst_value_list_value_table):
7558         Update value table functions.
7559         (gst_value_compare_list_or_array): Renamed from compare_list.
7560
7561         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7562         some constness.
7563
7564         * gst/gsttaglist.c:
7565         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7566         GstTagList*. Fixes #143472.
7567
7568         * gst/gststructure.h: Clarify what the foreach/map functions can
7569         or can't do to their arguments.
7570
7571 2005-11-18  Wim Taymans  <wim@fluendo.com>
7572
7573         * gst/gstclock.c: (gst_clock_set_calibration),
7574         (gst_clock_get_calibration):
7575         Doc and API fixes.
7576         Calibration can be set with internal time equal to current
7577         internal time too.
7578
7579 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * gst/gsterror.c:
7582         * gst/gsterror.h:
7583           document
7584
7585 2005-11-18  Andy Wingo  <wingo@pobox.com>
7586
7587         * configure.ac: 
7588         * pkgconfig/gstreamer-net.pc.in:
7589         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7590         * pkgconfig/Makefile.am: Add net pkgconfig files.
7591
7592 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * gst/gstcaps.c:
7595         * gst/gstghostpad.c:
7596         * gst/gsttrace.c:
7597         * gst/gstvalue.c:
7598         * gst/gstvalue.h:
7599           docs fixes
7600
7601 2005-11-18  Andy Wingo  <wingo@pobox.com>
7602
7603         * gst/net/gstnetclientclock.c: Turn off debugging.
7604
7605         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7606         times connverge somewhat. Can't make a real test.
7607
7608         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7609         integer arithmetic. Return the minimum of the domain, which can be
7610         set as "internal" for gst_clock_set_calibration.
7611         (gst_net_client_clock_observe_times): Call _set_calibration.
7612         (gst_net_client_clock_new): Call _set_calibration instead of
7613         rate_offset.
7614
7615         * check/net/gstnetclientclock.c (test_functioning): Use the right
7616         adjustment api.
7617
7618         * gst/gstclock.h:
7619         * gst/gstclock.c (gst_clock_get_calibration) 
7620         (gst_clock_set_calibration): New functions, obsolete the ones I
7621         added yesterday. Doh. Precision issues mean we have to extrapolate
7622         from a point in the more recent past than 1970.
7623         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7624         obsolete.
7625         (gst_clock_adjust_unlocked): Use the right calibration data.
7626
7627 2005-11-18  Edward Hervey  <edward@fluendo.com>
7628
7629         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7630         Also reset the ->current_* values in READY->PAUSED
7631
7632 2005-11-18  Andy Wingo  <wingo@pobox.com>
7633
7634         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7635         Whoops, check the right fd. Also add some debugging.
7636         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7637         (do_linear_regression): Add a crapload of debugging. Subtract off
7638         the minimum values from the input series to discard unneeded bits.
7639         Use only int arithmetic. There is still double arithmetic when
7640         calculating the intercept that needs fixing. Return boolean to
7641         indicate success; FALSE would mean the domain or range is too
7642         great. Still needs fixes.
7643
7644 2005-11-18  Wim Taymans  <wim@fluendo.com>
7645
7646         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7647         For the current position in stream time, we need to subtract
7648         accumulated time.
7649         
7650         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7651         Release lock before calling the callback function of async
7652         entries.
7653
7654 2005-11-18  Andy Wingo  <wingo@pobox.com>
7655
7656         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7657         Port goes all the way to MAXUINT16.
7658
7659         * gst/net/gstnettimeprovider.c: Make the port range the same as
7660         for the kernel: 0 assigns, otherwise ports are less than
7661         MAXUINT16.
7662
7663         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7664         port change.
7665
7666         * check/net/gstnetclientclock.c (test_functioning): Add the start
7667         of another test. 
7668
7669 2005-11-18  Wim Taymans  <wim@fluendo.com>
7670
7671         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7672         (gst_bin_remove_func), (bin_bus_handler):
7673         * gst/gstbin.h:
7674         Removing a clock provider from a bin, triggers a clock lost message
7675         so that a new clock will be selected.
7676         Adding a clock to a bin triggers a clock provider message.
7677         Make sure we reselect a clock when we received a clock lost message.
7678         Keep a reference to the element that provided the clock.
7679
7680 2005-11-18  Andy Wingo  <wingo@pobox.com>
7681
7682         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7683         the clock initially so it produces values around the base time.
7684         (gst_net_client_clock_class_init): Typo fix.
7685         (gst_net_client_clock_thread): Add note on when the socket gets
7686         closed.
7687
7688 2005-11-17  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7691         Free remote and local time arrays.
7692
7693 2005-11-17  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/net/gstnetclientclock.c: (do_linear_regression),
7696         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7697         Fix compilation, uninitialized vars and a forgotten continue.
7698
7699 2005-11-17  Andy Wingo  <wingo@pobox.com>
7700
7701         * check/Makefile.am (check_PROGRAMS): 
7702         * check/net/gstnetclientclock.c: Add a most minimal test for the
7703         net client clock. More to come later.
7704
7705         * gst/net/gstnet.h: 
7706         * gst/net/Makefile.am: Add netclientclock.
7707
7708         * gst/net/gstnetclientclock.h:
7709         * gst/net/gstnetclientclock.c: New files, implement an untested
7710         GstClock that takes its time from a network time provider.
7711         Implements the algorithm in network-clock.scm.
7712
7713         * tests/network-clock.scm (*window-size*): Rename from
7714         *queue-length*.
7715         * tests/network-clock.scm (network-time): 
7716         * tests/network-clock-utils.scm (q-push): Update callers.
7717
7718 2005-11-17  Wim Taymans  <wim@fluendo.com>
7719
7720         * gst/gstbin.c: (gst_bin_provide_clock_func),
7721         (gst_bin_sort_iterator_new):
7722         And unref the child too..
7723
7724 2005-11-17  Wim Taymans  <wim@fluendo.com>
7725
7726         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7727         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7728         Refactor the sort iterator so it can be used while holding the
7729         LOCK too.
7730         Make clock selection select a clock closest to the source.
7731
7732 2005-11-17  Michael Smith <msmith@fluendo.com>
7733
7734         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7735         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7736         * gst/gstclock.h:
7737           Anonymous structs are a gcc (and some other compilers) extension, so
7738           don't use them. Since this is only for ABI-compatibility, and our
7739           API/ABI freeze is over in a few days, this whole thing will only
7740           last a few days, so don't bother trying to think up a meaningful
7741           name for the struct.
7742
7743 2005-11-17  Andy Wingo  <wingo@pobox.com>
7744
7745         * gst/gstclock.h (GstClock): Add rate and offset properties,
7746         preserving ABI stability. Add rate/offset accessors. Will file bug
7747         for the freeze break.
7748
7749         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7750         and offset, trying to keep precision and avoiding
7751         underflow/overflow.
7752         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7753         functions. Make gst_clock_set_time_adjust obsolete.
7754         (gst_clock_set_time_adjust): Note that this function is obsolete.
7755         Will file bug soon.
7756
7757         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7758         greppable by using GST_PADDING-1+1.
7759
7760 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7761
7762         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7763
7764         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7765           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7766
7767         * gst/gstpadtemplate.h:
7768         * gst/gstpluginfeature.h:
7769           Don't use c++ style comments in headers (#321638).
7770
7771 2005-11-16  Andy Wingo  <wingo@pobox.com>
7772
7773         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7774         buffer.
7775
7776         * check/net/gstnettimeprovider.c: Check to see that the time
7777         provider actually provides times. Works, yo!
7778
7779 2005-11-16  Wim Taymans  <wim@fluendo.com>
7780
7781         * check/Makefile.am:
7782         Enable more tests.
7783
7784         * check/elements/fakesrc.c: (GST_START_TEST):
7785         Set element to NULL before disposing it.
7786
7787 2005-11-16  Andy Wingo  <wingo@pobox.com>
7788
7789         * gst/net/Makefile.am:
7790         * gst/net/gstnet.h:
7791         * gst/net/gstnettimeprovider.c: 
7792         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7793         provider, include it from gstnet.h, and add it to the build.
7794
7795         * gst/net/gstnettimepacket.h: 
7796         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7797         sending and receiving.
7798
7799 2005-11-16  Wim Taymans  <wim@fluendo.com>
7800
7801         * check/Makefile.am:
7802         Enable valgrind check.
7803
7804         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7805         (gst_fake_src_alloc_buffer):
7806         Fix memleak.
7807
7808 2005-11-16  Wim Taymans  <wim@fluendo.com>
7809
7810         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7811         Call parent finalize too.
7812
7813 2005-11-16  Wim Taymans  <wim@fluendo.com>
7814
7815         * check/Makefile.am:
7816         Enable valgrind check that should work fine now.
7817
7818         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7819         * gst/gstqueue.c: (gst_queue_init):
7820         Fix memleaks in pad allocation.
7821
7822 2005-11-16  Andy Wingo  <wingo@pobox.com>
7823
7824         * gst/net/Makefile.am:
7825         * gst/net/gstnet.h: New part of core to hold network elements and
7826         objects. Put in core because it exposes API that applications want
7827         to use. The library is named libgstnet-tempname right now because
7828         of the existing libgstnet in gst-plugins-base. Solution is
7829         probably to rename the one in plugins-base; will file a bug for
7830         the freeze break.
7831
7832         * gst/net/gstnettimeprovider.c: 
7833         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7834         get_time call over the network.
7835
7836         * configure.ac: 
7837         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7838
7839         * check/Makefile.am:
7840         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7841         get additions shortly.
7842
7843 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7844
7845         * gst/gstpad.c: (gst_pad_new_from_static_template):
7846         * gst/gstpad.h:
7847           add gst_pad_new_from_static_template functions
7848         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7849         (gst_check_setup_sink_pad):
7850         * gst/elements/gsttee.c: (gst_tee_init):
7851           and use them
7852
7853 2005-11-16  Wim Taymans  <wim@fluendo.com>
7854
7855         * gst/gstpad.c: (gst_pad_pause_task):
7856         Removed warning, it's not really an error either.
7857
7858 2005-11-16  Wim Taymans  <wim@fluendo.com>
7859
7860         * gst/base/gstbasetransform.c:
7861         (gst_base_transform_prepare_output_buf),
7862         (gst_base_transform_event):
7863         Check if the caps are NULL, this can happen if the element
7864         is shutting down and the pad caps are set to NULL.
7865
7866 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7867
7868         * gst/elements/gsttee.c: (gst_tee_init):
7869           fix pad template leak in tee
7870
7871 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7872
7873         * gst/glib-compat.c: (g_value_dup_gst_object):
7874         * gst/glib-compat.h:
7875         * gst/gstpad.c: (gst_pad_set_property):
7876           use gst_object_ref when setting the pad template; this will
7877           trigger the pad template leaks on GLib 2.6 and the slaves
7878
7879 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * gst/glib-compat.c: (gst_flags_get_first_value):
7882         * gst/glib-compat.h:
7883         * gst/gstregistryxml.c:
7884           remove functions copied from GLib 2.6
7885
7886 2005-11-16  Michael Smith <msmith@fluendo.com>
7887
7888         * gst/Makefile.am:
7889           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7890           do, but only breaks with newer valgrind versions. We're not a
7891           valgrind tool, we have no link-time dependencies on libcoregrind.
7892
7893 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7894
7895         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7896           some debug changes
7897         * gst/gstmessage.h:
7898           typo fixes
7899
7900 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7901
7902         * gst/base/gstbasesrc.c: (gst_base_src_init):
7903         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7904         * gst/gstqueue.c: (gst_queue_init):
7905         * gst/gstregistryxml.c: (load_feature):
7906           Revert all these unrefs, they don't even pass make check !
7907
7908 2005-11-15  Johan Dahlin  <johan@gnome.org>
7909
7910         * gst/base/gstbasesrc.c: (gst_base_src_init):
7911         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7912         * gst/gstqueue.c: (gst_queue_init): 
7913         Free pad templates, fixes a couple of leaks.
7914
7915 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7916
7917         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7918
7919         * gst/gstpad.c: (gst_pad_get_property):
7920           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7921           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7922           (#321452)
7923
7924 2005-11-15  Wim Taymans  <wim@fluendo.com>
7925
7926         * gst/gstevent.c:
7927         Small doc update.
7928
7929 2005-11-15  Andy Wingo  <wingo@pobox.com>
7930
7931         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7932
7933         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7934         using GST_CLOCK_TIME_NONE to disable base time management.
7935         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7936         time if it was NONE before.
7937         (gst_pipeline_change_state): Only munge the base time if
7938         stream_time != GST_CLOCK_TIME_NONE.
7939
7940         * check/gst/gstpipeline.c (test_base_time): Punt around the
7941         problem of the probe not being called, because that's not the
7942         issue I'm looking at. Add a check that setting stream_time to NONE
7943         disables base time management.
7944         
7945 2005-11-15  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7948         segment_stop == -1 at startup.
7949
7950         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7951         (gst_base_transform_change_state):
7952         Init segment values at start.
7953
7954 2005-11-15  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7957         0 segment values are 0 in any format.
7958
7959         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7960         * gst/base/gstbasetransform.h:
7961         Parse newsegment correctly in basetransform
7962
7963         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7964         Sync to clock using updated segment values.
7965
7966 2005-11-15  Andy Wingo  <wingo@pobox.com>
7967
7968         * check/gst/gstpipeline.c (test_base_time): Add check that the
7969         base time and stream time are reset correctly.
7970
7971 2005-11-15  Wim Taymans  <wim@fluendo.com>
7972
7973         * docs/design/part-TODO.txt:
7974         Some more TODO items.
7975
7976 2005-11-15  Andy Wingo  <wingo@pobox.com>
7977
7978         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7979         error if the user selected "no clock" as the clocking method.
7980
7981         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7982         timestamps with live capture.
7983
7984         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7985         is 0 but we are a live source, timestamp the buffers using the
7986         element's clock.
7987
7988 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7989
7990         * docs/gst/gstreamer-sections.txt:
7991         * gst/gsterror.c:
7992         * gst/gstghostpad.c:
7993         * gst/gstobject.h:
7994         * gst/gstxml.c:
7995           more section docs
7996
7997 2005-11-14  Wim Taymans  <wim@fluendo.com>
7998
7999         * common/gst.supp:
8000           add suppressions from Wim's Debian machine
8001
8002 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8003
8004         * common/gst.supp:
8005           add suppressions from Andy's AMD64 Ubuntu machine
8006
8007 2005-11-14  Andy Wingo  <wingo@pobox.com>
8008
8009         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8010         STATE_LOCK not necessary. Fixes #311489.
8011
8012         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8013         #305291.
8014
8015         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8016         this function is not implemented.
8017
8018 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8019
8020         * gst/base/gstbasetransform.c:
8021         (gst_base_transform_prepare_output_buf):
8022         Ref the source pad caps while we need them.
8023         Fixes (#321386)
8024
8025 2005-11-11  Wim Taymans  <wim@fluendo.com>
8026
8027         * docs/gst/gstreamer-sections.txt:
8028         Added some docs for GstCollectData.
8029
8030         * gst/base/gstadapter.c:
8031         Some small code example fix.
8032
8033         * gst/base/gstcollectpads.c:
8034         * gst/base/gstcollectpads.h:
8035         Document some more.
8036
8037 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8038
8039         * configure.ac: back to HEAD
8040
8041 === release 0.9.5 ===
8042
8043 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8044
8045         * configure.ac:
8046           releasing 0.9.5, "Bike Lunch Day"
8047
8048 2005-11-11  Wim Taymans  <wim@fluendo.com>
8049
8050         * gst/gstbuffer.c: (_gst_buffer_copy):
8051         Copy more flags.
8052
8053         * gst/gstcaps.c: (gst_caps_is_equal):
8054         Fix some docs.
8055         Make _is_equal fast in the trivial cases.
8056
8057         * gst/gstminiobject.c:
8058         * gst/gstminiobject.h:
8059         More docs. Spifify .h file.
8060
8061         * gst/gstutils.c:
8062         Small doc update.
8063
8064 2005-11-11  Wim Taymans  <wim@fluendo.com>
8065
8066         * gst/base/gstbasetransform.c:
8067         (gst_base_transform_prepare_output_buf),
8068         (gst_base_transform_handle_buffer):
8069         Small cleanups.
8070         If we're processing a buffer and need to allocate an output
8071         buffer, we cannot accept a format change. If we did get a 
8072         format change, we have to alloc a buffer ourselves of the 
8073         right size.
8074
8075 2005-11-11  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8078         While checking the flag for reentrancy in the gstcaps function
8079         is nice to detect recursive invocations, it also makes it 
8080         impossible to call getcaps from multiple threads, which must be
8081         possible. So, checking for recursive calls has to go.
8082
8083 2005-11-11  Michael Smith <msmith@fluendo.com>
8084
8085         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8086           Don't sync on buffers that fall partially outside our current
8087           segment. Prevents an assertion failure/abort playing some files.
8088
8089 2005-11-10  Andy Wingo  <wingo@pobox.com>
8090
8091         * check/gst/gstbin.c (test_message_state_changed_children): Style
8092         fix..
8093
8094         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8095         gst_bus_poll with the signal watch. Ensures that poll and a signal
8096         watch see the same messages.
8097
8098         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8099         a poll and a watch at the same time get the same messages.
8100
8101 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8104         * gst/gstcaps.c: (gst_caps_intersect):
8105           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8106           and it's not needed.
8107
8108 2005-11-10  Wim Taymans  <wim@fluendo.com>
8109
8110         * docs/design/part-TODO.txt:
8111         Updated todo.
8112
8113 2005-11-10  Wim Taymans  <wim@fluendo.com>
8114
8115         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8116         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8117         (gst_base_src_do_sync), (gst_base_src_get_range):
8118         Implement clock sync in base class.
8119
8120 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8121
8122         patch by: Tim-Philipp Müller <tim at centricular dot net>
8123
8124         * gst/gststructure.c: (gst_structure_parse_field),
8125         (gst_structure_from_string):
8126           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8127           so that gst_parse_launch() can deal with spaces in filtered link
8128           caps (fixes #164479)
8129         * check/gst/capslist.h:
8130         * check/gst/gststructure.c: (GST_START_TEST):
8131           add unit tests for this change
8132
8133 2005-11-10  Wim Taymans  <wim@fluendo.com>
8134
8135         * docs/gst/gstreamer-sections.txt:
8136         * gst/gstelement.c:
8137         * gst/gstelement.h:
8138         Fix docs, move some STATE macros to private.
8139
8140 2005-11-10  Wim Taymans  <wim@fluendo.com>
8141
8142         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8143         Added check for bug #317341
8144
8145         * gst/gstbuffer.c:
8146         * gst/gstbuffer.h:
8147         Some more spiffifying.
8148
8149         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8150         Call peer linkfunction if we are a source pad. Totally fixes
8151         #317341
8152
8153         * gst/gstpad.c:
8154         Update docs, source pads should call the peer linkfunction
8155         so they can atomically perform the pad link.
8156
8157 2005-11-09  Wim Taymans  <wim@fluendo.com>
8158
8159         * gst/gstbuffer.c:
8160         * gst/gstbuffer.h:
8161         Uber-spiffy-spiffify some more.
8162
8163 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8164
8165         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8166         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8167         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8168         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8169         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8170         * gst/gstpad.c: (gst_pad_init):
8171           Use GST_DEBUG_FUNCPTR() more extensively.
8172
8173 2005-11-09  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstobject.c: (gst_object_class_init):
8176         * gst/gstobject.h:
8177         Documentation fixes.
8178
8179 2005-11-09  Edward Hervey  <edward@fluendo.com>
8180
8181         * gst/gsttypefindfactory.c:
8182         Fix docs.
8183         
8184 2005-11-09  Edward Hervey  <edward@fluendo.com>
8185
8186         * gst/base/gsttypefindhelper.c:
8187         * gst/gsttypefind.c:
8188         * gst/gsttypefind.h:
8189         Fix docs.
8190
8191 2005-11-09  Wim Taymans  <wim@fluendo.com>
8192
8193         * gst/gstiterator.c:
8194         Fix revision data.
8195
8196         * gst/gsttask.c:
8197         * gst/gsttask.h:
8198         Fix docs.
8199
8200 2005-11-09  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/gstevent.h:
8203         * gst/gsturi.h:
8204         Fix docs.
8205
8206 2005-11-09  Wim Taymans  <wim@fluendo.com>
8207
8208         * docs/gst/gstreamer-sections.txt:
8209         Moved the message async delivery private lock and cond
8210         to the private section.
8211
8212         * gst/gstmessage.c:
8213         * gst/gstmessage.h:
8214         Fixed docs.
8215
8216 2005-11-09  Edward Hervey  <edward@fluendo.com>
8217
8218         * docs/gst/gstreamer-sections.txt:
8219         * gst/gsturi.c:
8220         * gst/gsturi.h:
8221         Document GstURIHandler
8222
8223 2005-11-09  Wim Taymans  <wim@fluendo.com>
8224
8225         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8226         (gst_iterator_find_custom):
8227         * gst/gstiterator.h:
8228         Fix iterator docs.
8229
8230 2005-11-09  Wim Taymans  <wim@fluendo.com>
8231
8232         * gst/gstbin.h:
8233         Document another field.
8234
8235         * gst/gststructure.c:
8236         * gst/gststructure.h:
8237         Document.
8238
8239 2005-11-09  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/gstbin.h:
8242         Documented structs.
8243
8244 2005-11-09  Wim Taymans  <wim@fluendo.com>
8245
8246         * docs/gst/gstreamer-sections.txt:
8247         Added some new macros.
8248
8249         * gst/gstclock.c:
8250         * gst/gstclock.h:
8251         * gst/gstobject.h:
8252         Docs updates.
8253
8254 2005-11-09  Wim Taymans  <wim@fluendo.com>
8255
8256         * docs/design/part-TODO.txt:
8257         Some more items for the TODO
8258
8259         * gst/gstcaps.c:
8260         * gst/gstcaps.h:
8261         Document GstCaps.
8262
8263 2005-11-09  Andy Wingo  <wingo@pobox.com>
8264
8265         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8266         to work on something else now tho...
8267
8268         * gst/base/gstadapter.c: More adapter docs.
8269
8270         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8271         (gst_file_sink_stop): New functions, replace the state change
8272         handler.
8273         (gst_file_sink_class_init): Hook up the start and stop functions.
8274         (gst_file_sink_base_init): Don't set the state change handler any
8275         more. It was a bit ugly too, being set from here...
8276         (gst_file_sink_get_property, gst_file_sink_set_property):
8277         Cleanups...
8278         (gst_file_sink_set_location): More robust check that doesn't call
8279         GST_STATE. Ugggggg.
8280
8281 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8284           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8285
8286 2005-11-08  Wim Taymans  <wim@fluendo.com>
8287
8288         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8289         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8290         (gst_base_sink_chain), (gst_base_sink_change_state):
8291         * gst/base/gstbasesink.h:
8292         * gst/base/gstbasesrc.h:
8293         * gst/gstelement.h:
8294         * gst/gstevent.h:
8295         Avoid excessive typechecking in macros.
8296
8297         * gst/gstminiobject.c: (gst_mini_object_get_type),
8298         (gst_mini_object_init), (gst_mini_object_new),
8299         (gst_mini_object_free):
8300         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8301         (gst_object_finalize):
8302         Remove cruft code, optimize alloc_trace.
8303
8304 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8305
8306         * docs/faq/gst-uninstalled:
8307           fix up PS1 for systems that try to reset it
8308
8309 2005-11-07  Wim Taymans  <wim@fluendo.com>
8310
8311         * gst/base/gstbasesrc.c: (gst_base_src_init),
8312         (gst_base_src_get_range):
8313         Set the segment_end to -1 initially. Fixed typefind.
8314
8315 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8316
8317         * gst/base/gstadapter.c:
8318           Debug category should be 'adapter', not 'GstAdapter'.
8319           
8320         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8321         (gst_collectpads_class_init), (gst_collectpads_init),
8322         (gst_collectpads_peek), (gst_collectpads_pop),
8323         (gst_collectpads_event), (gst_collectpads_chain):
8324           Add debug category and some debugging output. Use boilerplate
8325           macros. Remove some extraneous words from docs.
8326
8327 2005-11-05  Andy Wingo  <wingo@pobox.com>
8328
8329         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8330         macro.
8331
8332 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8333
8334         * docs/gst/gstreamer-sections.txt:
8335         * gst/gstcaps.h:
8336         * gst/gstinfo.c:
8337         * gst/gstminiobject.h:
8338         * gst/gstobject.h:
8339         * gst/gstutils.h:
8340           more docs added
8341
8342 2005-11-04  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8345         Small update to stop at the configured segment_end
8346         position.
8347
8348 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * gst/gstregistry.c:
8351         * gst/gstregistry.h:
8352           added missing docs
8353
8354 2005-11-04  Edward Hervey  <edward@fluendo.com>
8355
8356         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8357         Check if we are doing a segment seek and have arrived at the
8358         end of that segment.
8359
8360 2005-11-04  Wim Taymans  <wim@fluendo.com>
8361
8362         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8363         Don't leak a mutex unlock in case of an error.
8364
8365         * gst/gstbus.h:
8366         Doc fixes.
8367
8368 2005-11-04  Wim Taymans  <wim@fluendo.com>
8369
8370         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8371         (gst_bus_post):
8372         Get the context to wake up only once.
8373
8374 2005-11-03  Wim Taymans  <wim@fluendo.com>
8375
8376         * check/states/sinks.c: (GST_START_TEST):
8377         Uncomment fixed check.
8378
8379         * docs/design/part-TODO.txt:
8380         Updated TODO.
8381
8382         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8383         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8384         (gst_base_sink_get_position):
8385         If we are going to PLAYING, post the right pending state
8386         when we post the intermediate paused message.
8387
8388         * gst/gstelement.c: (gst_element_continue_state),
8389         (gst_element_set_state_func), (gst_element_change_state):
8390         Don't post state changes that were between the same state
8391         and were not ASYNC.
8392
8393 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8394
8395         * docs/gst/gstreamer-sections.txt:
8396         * gst/gstcaps.h:
8397         * gst/gstinfo.c:
8398         * gst/gstminiobject.h:
8399         * gst/gstobject.h:
8400         * gst/gstutils.h:
8401           more docs and doc style fixes
8402
8403 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8404
8405         * docs/gst/gstreamer-sections.txt:
8406         * gst/gstelement.c:
8407         * gst/gstminiobject.c:
8408         doc fixes
8409
8410 2005-11-03  Andy Wingo  <wingo@pobox.com>
8411
8412         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8413         state-changed messages actually have the right order and the right
8414         values.
8415
8416 2005-11-03  Wim Taymans  <wim@fluendo.com>
8417
8418         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8419         Added some more checks. Specifically the case where NO_PREROLL
8420         elements are in the pipeline.
8421
8422         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8423         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8424         (gst_base_sink_get_position):
8425         Post READY->PAUSED state change messages too.
8426         Fix bug where VOID was posted as pending state...
8427
8428         * gst/gstbin.c: (gst_bin_recalc_state):
8429         use _element_continue_state() to continue the state change.
8430
8431         * gst/gstelement.c: (gst_element_continue_state),
8432         (gst_element_commit_state), (gst_element_set_state_func),
8433         (gst_element_change_state), (gst_element_change_state_func):
8434         Lots of state change cleanups, assign the STATE_RETURN in
8435         a new continue_state() function that also propagates the
8436         last return value from a state change to the app.
8437         Update some debug statements with proper category.
8438
8439 2005-11-03  Wim Taymans  <wim@fluendo.com>
8440
8441         * docs/design/part-events.txt:
8442         * docs/design/part-gstpipeline.txt:
8443         * docs/design/part-messages.txt:
8444         * docs/design/part-overview.txt:
8445         * docs/design/part-seeking.txt:
8446         * docs/design/part-states.txt:
8447         * docs/design/part-trickmodes.txt:
8448         * docs/manual/advanced-position.xml:
8449         Small docs updates.
8450
8451         * gst/gstobject.h:
8452         People think !! is ugly, this looks better.
8453
8454         * gst/gstpad.c: (gst_pad_set_blocked_async):
8455         Remove !! since it's fixed elsewhere now.
8456
8457 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8458
8459         * gst/gstminiobject.h:
8460         * gst/gstobject.h:
8461           Add !! to _FLAG_IS_SET macros to make the result boolean.
8462
8463 2005-11-03  Edward Hervey  <edward@fluendo.com>
8464
8465         * gst/gstpad.c: (gst_pad_set_blocked_async):
8466         comparing a flag and a gboolean rarely returns coherent results...
8467         Added two characters (!!) to make that work correctly.
8468         
8469 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * gst/gstbus.c: (gst_bus_class_init):
8472           Fix some typos.
8473           
8474         * gst/gstqueue.c: (gst_queue_loop):
8475           Don't assume a miniobject that isn't a buffer is an
8476           event (it could be that there is a refcounting
8477           problem somewhere and the pointer is stale and
8478           refers to an already destroyed miniobject).
8479
8480 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8481
8482         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8483
8484 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8485
8486         * docs/manual/advanced-position.xml:
8487           Update seek example and explanations to current 0.9 API.
8488
8489         * gst/elements/gsttypefindelement.c:
8490         (gst_type_find_element_activate):
8491           Remove FIXME comment now that the found caps
8492           are unreffed.
8493
8494 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8495
8496         * gst/gstregistryxml.c: (load_feature):
8497           Add another GST_STR_NULL instance
8498
8499 2005-11-02  Edward Hervey  <edward@fluendo.com>
8500
8501         * gst/gstpad.c: (handle_pad_block):
8502         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8503         
8504 2005-11-02  Wim Taymans  <wim@fluendo.com>
8505
8506         * gst/gstbin.c:
8507         Fix typo in docs.
8508
8509         * gst/gstelement.c: (gst_element_commit_state):
8510         Remove unused value.
8511
8512         * gst/gstiterator.c:
8513         Mention that the returned element is reffed in the docs.
8514
8515 2005-11-02  Wim Taymans  <wim@fluendo.com>
8516
8517         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8518         (gst_pad_push), (gst_pad_push_event):
8519         Unlock blocked pads when they are flushed.
8520
8521 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8522
8523         * docs/README:
8524         * docs/gst/gstreamer-sections.txt:
8525         * gst/gstbin.c:
8526           doc updates
8527         * gst/gstregistry.c: (gst_registry_scan_path_level):
8528           fix for a nasty little missed situation where an installed plug-in
8529           which was in the cache did not get overridden by an uninstalled one
8530           which was earlier in the plugin path because the newly created plugin
8531           for the uninstalled one (not in the registry) didn't get its
8532           ->registered set to TRUE
8533
8534 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8535
8536         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8537         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8538         (gst_collectpads_is_active), (gst_collectpads_collect),
8539         (gst_collectpads_collect_range), (gst_collectpads_start),
8540         (gst_collectpads_stop), (gst_collectpads_peek),
8541         (gst_collectpads_pop), (gst_collectpads_available),
8542         (gst_collectpads_read), (gst_collectpads_flush):
8543           Guard public API with assertions.
8544         
8545         * gst/gstpad.c:
8546           Fix docs for gst_pad_set_link_function().
8547
8548 2005-11-02  Johan Dahlin  <johan@gnome.org>
8549
8550         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8551         Unref found_caps after we used it.
8552
8553 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8554
8555         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8556           Don't try to ref NULL.
8557
8558 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         * win32/common/config.h.in:
8561           provide a GST_FUNCTION that just gives a string for now
8562
8563 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8564
8565         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8566         (gst_object_flags_get_type), (register_gst_bin_flags),
8567         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8568         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8569         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8570         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8571         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8572         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8573         (gst_clock_flags_get_type), (register_gst_state),
8574         (gst_state_get_type), (register_gst_state_change_return),
8575         (gst_state_change_return_get_type), (register_gst_state_change),
8576         (gst_state_change_get_type), (register_gst_element_flags),
8577         (gst_element_flags_get_type), (register_gst_core_error),
8578         (gst_core_error_get_type), (register_gst_library_error),
8579         (gst_library_error_get_type), (register_gst_resource_error),
8580         (gst_resource_error_get_type), (register_gst_stream_error),
8581         (gst_stream_error_get_type), (register_gst_event_type),
8582         (gst_event_type_get_type), (register_gst_seek_type),
8583         (gst_seek_type_get_type), (register_gst_seek_flags),
8584         (gst_seek_flags_get_type), (register_gst_format),
8585         (gst_format_get_type), (register_gst_index_certainty),
8586         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8587         (gst_index_entry_type_get_type),
8588         (register_gst_index_lookup_method),
8589         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8590         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8591         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8592         (gst_index_flags_get_type), (register_gst_debug_level),
8593         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8594         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8595         (gst_iterator_result_get_type), (register_gst_iterator_item),
8596         (gst_iterator_item_get_type), (register_gst_message_type),
8597         (gst_message_type_get_type), (register_gst_mini_object_flags),
8598         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8599         (gst_pad_link_return_get_type), (register_gst_flow_return),
8600         (gst_flow_return_get_type), (register_gst_activate_mode),
8601         (gst_activate_mode_get_type), (register_gst_pad_direction),
8602         (gst_pad_direction_get_type), (register_gst_pad_flags),
8603         (gst_pad_flags_get_type), (register_gst_pad_presence),
8604         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8605         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8606         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8607         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8608         (gst_plugin_flags_get_type), (register_gst_rank),
8609         (gst_rank_get_type), (register_gst_query_type),
8610         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8611         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8612         (gst_tag_flag_get_type), (register_gst_task_state),
8613         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8614         (gst_alloc_trace_flags_get_type),
8615         (register_gst_type_find_probability),
8616         (gst_type_find_probability_get_type), (register_gst_uri_type),
8617         (gst_uri_type_get_type), (register_gst_parse_error),
8618         (gst_parse_error_get_type):
8619         * win32/common/gstversion.h:
8620           update win32 copies
8621
8622 2005-11-01  Luca Ognibene  <luogni@tin.it>
8623
8624         * gst/gst.c:
8625           fix docs. popt is dead, long live GOption.
8626
8627 2005-10-31  Wim Taymans  <wim@fluendo.com>
8628
8629         * gst/gstbuffer.h:
8630         Small doc fix.
8631
8632 2005-10-31  Andy Wingo  <wingo@pobox.com>
8633
8634         * Boo!
8635
8636         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8637
8638         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8639         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8640         the possibility of deadlocks here if code calling notify() or
8641         set() has a lock that can be taken in another notify handler (ABBA
8642         with class lock and e.g. python GIL state lock).
8643
8644 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8645
8646         * gst/gstbus.c: Doc updates.
8647
8648 2005-10-28  Wim Taymans  <wim@fluendo.com>
8649
8650         * docs/design/part-TODO.txt:
8651         * gst/gstiterator.c:
8652         * gst/gstsystemclock.c:
8653         * gst/gstsystemclock.h:
8654         Doc updates.
8655
8656 2005-10-28  Edward Hervey  <edward@fluendo.com>
8657
8658         * docs/gst/gstreamer-docs.sgml:
8659         * docs/gst/gstreamer-sections.txt:
8660         the GstURIType documentation page is private, it only defines GstURIType
8661         which should be defined in the GstURIHandler page
8662         
8663 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * gst/gstbin.c: (gst_bin_class_init):
8666         * gst/gstbin.h:
8667         * gst/gstutils.c:
8668         Documentation updates.
8669
8670 2005-10-28  Wim Taymans  <wim@fluendo.com>
8671
8672         * docs/gst/gstreamer-sections.txt:
8673         * gst/gstclock.c:
8674         * gst/gstclock.h:
8675         Documented the clocks.
8676
8677 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8678
8679         * docs/gst/gstreamer-sections.txt:
8680           move some macros to private sections
8681         * gst/gstminiobject.c:
8682         * gst/gstminiobject.h:
8683           add descriptions provided by ds and some more
8684         * gst/gstpad.h:
8685           mark macro as to be removed
8686
8687 2005-10-28  Wim Taymans  <wim@fluendo.com>
8688
8689         * docs/design/part-TODO.txt:
8690         Add an item to TODO.
8691
8692         * gst/gstiterator.c: (gst_iterator_fold),
8693         (gst_iterator_find_custom):
8694         * gst/gstiterator.h:
8695         Add iterator docs.
8696
8697 2005-10-28  Wim Taymans  <wim@fluendo.com>
8698
8699         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8700         (gst_base_transform_init):
8701         Don't leak class.
8702
8703         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8704         An EOS event marks the queue as completely filled.
8705
8706 2005-10-27  Wim Taymans  <wim@fluendo.com>
8707
8708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8709         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8710         Some more debugging.
8711
8712         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8713         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8714         (gst_base_transform_event), (gst_base_transform_getrange),
8715         (gst_base_transform_chain):
8716         * gst/base/gstbasetransform.h:
8717         Fix debugging,
8718         Protect transform and concurrent buffer alloc with a new lock.
8719         Try not to break ABI/API.
8720
8721 2005-10-27  Wim Taymans  <wim@fluendo.com>
8722
8723         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8724         (gst_base_src_init), (gst_base_src_query),
8725         (gst_base_src_default_newsegment),
8726         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8727         (gst_base_src_send_event), (gst_base_src_event_handler),
8728         (gst_base_src_pad_get_range), (gst_base_src_loop),
8729         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8730         (gst_base_src_start), (gst_base_src_deactivate),
8731         (gst_base_src_activate_push), (gst_base_src_change_state):
8732         Move some stuff around and cleanup things.
8733
8734 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8735
8736         * gst/base/gstbasesrc.c: (gst_base_src_query):
8737           Add missing break statements.
8738
8739 2005-10-27  Wim Taymans  <wim@fluendo.com>
8740
8741         * check/gst/gstbin.c: (GST_START_TEST):
8742         An extra refcount is taken in basesrc.
8743
8744         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8745         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8746         (gst_base_src_loop):
8747         Small cleanups, check for flushing after being unlocked from the 
8748         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8749         Don't send out EOS when going to READY.
8750
8751 2005-10-27  Wim Taymans  <wim@fluendo.com>
8752
8753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8754         (gst_base_sink_get_position):
8755         Some more debug.
8756
8757         * gst/gstbin.c: (message_check), (bin_replace_message),
8758         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8759         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8760         (bin_query_duration_init), (bin_query_duration_fold),
8761         (bin_query_duration_done), (bin_query_generic_fold),
8762         (gst_bin_query):
8763         * tools/gst-launch.c: (main):
8764         Remove old option.
8765
8766 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8767
8768         * examples/controller/audio-example.c: (main):
8769         * examples/queue/queue.c: (event_loop):
8770         * gst/base/gstbasetransform.h:
8771         * gst/gstelement.c: (gst_element_send_event):
8772         * gst/gstevent.h:
8773         * gst/gstpad.c: (gst_pad_send_event):
8774           fixing examples
8775           fixing docs typos
8776           changing log priority in error situations
8777
8778 2005-10-25  Wim Taymans  <wim@fluendo.com>
8779
8780         * gst/gstbin.c: (message_check), (bin_replace_message),
8781         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8782         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8783         (bin_query_duration_init), (bin_query_duration_fold),
8784         (bin_query_duration_done), (bin_query_generic_fold),
8785         (gst_bin_query):
8786         Some doc and debug updates.
8787         Cache previously requested query DURATION for speed. invalidate
8788         cached duration if element posts a DURATION message.
8789
8790 2005-10-25  Wim Taymans  <wim@fluendo.com>
8791
8792         * docs/design/part-TODO.txt:
8793         Update TODO.
8794
8795         * gst/gstbin.c: (message_check), (bin_replace_message),
8796         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8797         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8798         (bin_query_duration_init), (bin_query_duration_fold),
8799         (bin_query_duration_done), (bin_query_generic_fold),
8800         (gst_bin_query):
8801         Handle SEGMENT_START/DONE messages correctly.
8802         More evolved query algorithm that handles duration queries
8803         correctly.
8804
8805         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8806         (gst_element_get_state_func), (gst_element_abort_state),
8807         (gst_element_commit_state), (gst_element_lost_state):
8808         Some more debugging.
8809
8810         * gst/gstmessage.h:
8811         Added doc.
8812
8813 2005-10-25  Wim Taymans  <wim@fluendo.com>
8814
8815         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8816         Don't use invalid stream_time.
8817
8818         * gst/gstevent.c: (gst_event_new_newsegment):
8819         stream_time in newsegment cannot be undefined.
8820
8821 2005-10-24  Wim Taymans  <wim@fluendo.com>
8822
8823         * gst/gstbus.c:
8824         Doc fix.
8825
8826         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8827         (gst_queue_loop):
8828         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8829
8830 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8831
8832         * docs/libs/tmpl/gstdparam.sgml:
8833         * docs/libs/tmpl/gstdplinint.sgml:
8834         * docs/libs/tmpl/gstdpman.sgml:
8835         * docs/libs/tmpl/gstdpsmooth.sgml:
8836         * docs/libs/tmpl/gstunitconvert.sgml:
8837           these are obsolete
8838
8839 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8840
8841         * configure.ac:
8842           back to HEAD
8843
8844 === release 0.9.4 ===
8845
8846 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8847
8848         * configure.ac:
8849           releasing 0.9.4, "Tyrannosaurus Rex"
8850
8851 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8852
8853         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8854         (gst_file_sink_get_current_offset):
8855           Use fseeko() and ftello() if available. When falling back on
8856           lseek() to get the current offset, fflush() first to make sure
8857           everything is up-to-date and we get the right offset.
8858
8859 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8860
8861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8862         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8863         * gst/gsterror.c: (_gst_stream_errors_init):
8864         * gst/gsterror.h:
8865         * gst/gstqueue.c: (gst_queue_loop):
8866         * po/POTFILES.in:
8867           remove prematurely added error category and clean up the instances
8868
8869 2005-10-21  Wim Taymans  <wim@fluendo.com>
8870
8871         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8872         (gst_base_sink_get_position), (gst_base_sink_query),
8873         (gst_base_sink_change_state):
8874         Simply set the right flag when going to playing, that's all
8875         we need to do instead of calling a function inside the object
8876         lock (that could take the lock as well and deadlock)
8877
8878 2005-10-21  Wim Taymans  <wim@fluendo.com>
8879
8880         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8881         (gst_base_src_loop):
8882         Don't warn, the peer element knows what to do best when
8883         the seek failed, it might try something else.
8884
8885 2005-10-21  Wim Taymans  <wim@fluendo.com>
8886
8887         * gst/base/gstbasesrc.c: (gst_base_src_init),
8888         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8889         Fix seeking.
8890
8891 2005-10-21  Wim Taymans  <wim@fluendo.com>
8892
8893         * docs/design/part-segments.txt:
8894         More docs.
8895
8896         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8897         Correctly set caps, even on the subbufer.
8898
8899 2005-10-21  Wim Taymans  <wim@fluendo.com>
8900
8901         * docs/gst/gstreamer-docs.sgml:
8902         * docs/gst/gstreamer-sections.txt:
8903         * gst/gstelement.h:
8904         * gst/gstevent.c:
8905         * gst/gstevent.h:
8906         * gst/gstmessage.h:
8907         * gst/gstpad.h:
8908         * gst/gstparse.h:
8909         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8910         * gst/gsttask.h:
8911         * gst/gstutils.c:
8912         * gst/gstutils.h:
8913         And 2% more doc coverage.
8914
8915 2005-10-21  Andy Wingo  <wingo@pobox.com>
8916
8917         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8918         position reporting.
8919
8920 2005-10-20  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/gsterror.c: (gst_error_get_message):
8923         * gst/gstparse.h:
8924         * gst/gstquery.h:
8925         * gst/gststructure.c:
8926         * gst/gsttrace.c:
8927         * gst/gstutils.c:
8928         More docs.
8929
8930 2005-10-20  Wim Taymans  <wim@fluendo.com>
8931
8932         * gst/gstbuffer.h:
8933         * gst/gstpad.c:
8934         * gst/gstparse.c:
8935         Another 1% more coverage.
8936
8937 2005-10-20  Wim Taymans  <wim@fluendo.com>
8938
8939         * docs/gst/gstreamer-sections.txt:
8940         * gst/gstelement.c: (gst_element_get_state_func),
8941         (gst_element_abort_state), (gst_element_commit_state),
8942         (gst_element_lost_state):
8943         * gst/gstevent.h:
8944         * gst/gstquery.c: (gst_query_set_position),
8945         (gst_query_parse_position), (gst_query_set_duration),
8946         (gst_query_parse_duration), (gst_query_new_convert):
8947         * gst/gstutils.c:
8948         Yay! 1% more docs coverage.
8949
8950 2005-10-20  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/gstpad.h:
8953         * gst/gstquery.c: (gst_query_set_position),
8954         (gst_query_parse_position), (gst_query_set_duration),
8955         (gst_query_parse_duration), (gst_query_new_convert):
8956         * gst/gstquery.h:
8957         * gst/gstutils.c: (gst_element_query_convert):
8958         * gst/gstutils.h:
8959         Docs and consistency fixes.
8960
8961 2005-10-20  Wim Taymans  <wim@fluendo.com>
8962
8963         * gst/gsttask.c:
8964         * gst/gsttask.h:
8965         More docs.
8966
8967 2005-10-20  Wim Taymans  <wim@fluendo.com>
8968
8969         * gst/gstbin.c: (message_check), (bin_replace_message),
8970         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8971         (update_degree), (gst_bin_sort_iterator_next),
8972         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8973         Reworked the message handling a bit, cache the messages instead of
8974         only the senders. alows us to do more in the future.
8975
8976 2005-10-20  Wim Taymans  <wim@fluendo.com>
8977
8978         * docs/design/part-TODO.txt:
8979         Update TODO
8980
8981         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8982         (gst_base_sink_query):
8983         Don't use clock time to report position when in EOS.
8984
8985 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * tools/gst-inspect.c: (print_interfaces),
8988         (print_element_properties_info), (print_element_info):
8989           Fix interface output with gst-inspect -a; don't print
8990           newlines after double/float properties.
8991
8992 2005-10-20  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8995         (gst_base_sink_query):
8996         Speed up current position calculation.
8997
8998         * gst/base/gstbasesrc.c: (gst_base_src_query),
8999         (gst_base_src_default_newsegment):
9000         Correctly set stream position in newsegment.
9001
9002         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9003         (update_degree), (gst_bin_sort_iterator_next),
9004         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9005         * gst/gstmessage.c: (gst_message_new_custom):
9006         Clean up debugging info
9007
9008         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9009         (gst_queue_loop), (gst_queue_handle_src_query):
9010         Pause task faster.
9011
9012 2005-10-19  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9015         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9016         Fix query handling again.
9017
9018 2005-10-19  Wim Taymans  <wim@fluendo.com>
9019
9020         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9021         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9022         * gst/base/gstbasesrc.c: (gst_base_src_query):
9023         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9024         * gst/elements/gsttypefindelement.c:
9025         (gst_type_find_handle_src_query), (find_element_get_length),
9026         (gst_type_find_element_activate):
9027         API change fix.
9028
9029         * gst/gstquery.c: (gst_query_new_position),
9030         (gst_query_set_position), (gst_query_parse_position),
9031         (gst_query_new_duration), (gst_query_set_duration),
9032         (gst_query_parse_duration), (gst_query_set_segment),
9033         (gst_query_parse_segment):
9034         * gst/gstquery.h:
9035         Bundling query position/duration is not a good idea since duration
9036         does not change much and we don't want to recalculate it for every
9037         position query, so they are separated again..
9038         Base value in segment query is not needed.
9039
9040         * gst/gstqueue.c: (gst_queue_handle_src_query):
9041         * gst/gstutils.c: (gst_element_query_position),
9042         (gst_element_query_duration), (gst_pad_query_position),
9043         (gst_pad_query_duration):
9044         * gst/gstutils.h:
9045         Updates for query API change.
9046         Added some docs here and there.
9047
9048 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9049
9050         * check/gst/gstbin.c: (GST_START_TEST):
9051         * check/gst/gstghostpad.c: (GST_START_TEST):
9052         * check/pipelines/cleanup.c: (GST_START_TEST):
9053           wait on thread to die so we can check refcount correctly
9054
9055 2005-10-18  Wim Taymans  <wim@fluendo.com>
9056
9057         * check/pipelines/stress.c: (GST_START_TEST):
9058         Make check a little more time consuming.
9059
9060 2005-10-18  Wim Taymans  <wim@fluendo.com>
9061
9062         * check/Makefile.am:
9063         * check/pipelines/stress.c: (GST_START_TEST),
9064         (simple_launch_lines_suite), (main):
9065         Small state change torture test.
9066
9067         * docs/design/part-states.txt:
9068         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9069         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9070         (gst_base_sink_change_state):
9071         Never take state lock from streaming thread, clean up ugly
9072         hacks. Unfortunatly core does not yet support nice ways to
9073         async commit state.
9074         
9075         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9076         (bin_bus_handler):
9077         Start state recalc if a STATE_DIRTY message is posted, but only
9078         on the toplevel bin.
9079
9080         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9081         (gst_element_get_state_func), (gst_element_abort_state),
9082         (gst_element_commit_state), (gst_element_lost_state),
9083         (gst_element_set_state_func), (gst_element_change_state):
9084         * gst/gstelement.h:
9085         State variables are now protected with the LOCK, the state
9086         lock is only used to serialize _set_state().
9087
9088 2005-10-18  Wim Taymans  <wim@fluendo.com>
9089
9090         * check/gst/gstbin.c: (GST_START_TEST):
9091         * check/gst/gstmessage.c: (GST_START_TEST):
9092         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9093         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9094         (bin_bus_handler):
9095         * gst/gstelement.c: (gst_element_abort_state),
9096         (gst_element_commit_state), (gst_element_lost_state):
9097         * gst/gstmessage.c: (gst_message_new_state_changed),
9098         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9099         (gst_message_new_segment_done), (gst_message_new_duration),
9100         (gst_message_parse_state_changed),
9101         (gst_message_parse_segment_start),
9102         (gst_message_parse_segment_done), (gst_message_parse_duration):
9103         * gst/gstmessage.h:
9104         * tools/gst-launch.c: (event_loop):
9105         Seriously, this is better than a previous commit as we only need
9106         to notify the fact that an element changed state in a streaming
9107         thread, marking the state of the parents dirty, hence the 
9108         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9109         message.
9110
9111 2005-10-18  Wim Taymans  <wim@fluendo.com>
9112
9113         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9114         (gst_bin_recalc_func):
9115         * gst/gstelement.c: (gst_element_set_clock),
9116         (gst_element_abort_state), (gst_element_lost_state):
9117         Cleanups, prepare for state change fixes.
9118
9119 2005-10-18  Wim Taymans  <wim@fluendo.com>
9120
9121         * gst/gstbin.h:
9122         * gst/gstelement.c: (gst_element_class_init),
9123         (gst_element_set_state), (gst_element_set_state_func):
9124         * gst/gstelement.h:
9125         Pending ABI changes.
9126         GThreadPool in GstBinClass to monitor async state changes.
9127         state_cookie in GstElement to detect concurrent gst/set state.
9128         set_state is now virtual too in case a very complicated element
9129         has to be constructed.
9130
9131 2005-10-18  Wim Taymans  <wim@fluendo.com>
9132
9133         * check/gst/gstbin.c: (GST_START_TEST):
9134         * check/gst/gstmessage.c: (GST_START_TEST):
9135         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9136         * gst/gstbin.c: (bin_bus_handler):
9137         * gst/gstelement.c: (gst_element_commit_state),
9138         (gst_element_lost_state):
9139         * gst/gstmessage.c: (gst_message_new_state_changed),
9140         (gst_message_new_segment_start), (gst_message_new_segment_done),
9141         (gst_message_new_duration), (gst_message_parse_state_changed),
9142         (gst_message_parse_segment_start),
9143         (gst_message_parse_segment_done), (gst_message_parse_duration):
9144         * gst/gstmessage.h:
9145         * tools/gst-launch.c: (event_loop):
9146         Make messages future proof.
9147         state-change gets a flag if it was a message comming from the
9148         streaming thread.
9149         segment-start/stop can also be specified in other formats.
9150         A message to notify an app that a pipeline changed playback 
9151         duration.
9152         Also fix a GstMessage leak in -launch
9153
9154 2005-10-18  Andy Wingo  <wingo@pobox.com>
9155
9156         * gst/gstelement.c (gst_element_dispose): More helpful message.
9157
9158 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9159
9160         reviewed by: <delete if not using a buddy>
9161
9162         * common/gtk-doc.mak:
9163
9164 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9165
9166         * gst/gstregistry.c: (gst_registry_scan_path_level):
9167           unref a plug-in we get that was already initialized
9168
9169 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9170
9171         * docs/gst/gstreamer-sections.txt:
9172         * docs/libs/gstreamer-libs-sections.txt:
9173         * gst/gstelement.h:
9174           add new api entries
9175           hide internal macro
9176
9177 2005-10-17  Andy Wingo  <wingo@pobox.com>
9178
9179         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9180         cleanup.
9181
9182         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9183
9184         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9185
9186         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9187         (gst_element_get_state_func): Better debug message.
9188         (gst_element_commit_state): s/INFO/DEBUG/.
9189         (gst_element_lost_state, gst_element_change_state): 
9190
9191         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9192         (gst_message_new_custom): s/INFO/LOG/.
9193
9194 2005-10-17  Michael Smith <msmith@fluendo.com>
9195
9196         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9197           Check if end time is valid using end time, not start time.
9198
9199 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9200
9201         * check/gst-libs/controller.c: (GST_START_TEST),
9202         (gst_controller_suite):
9203         * libs/gst/controller/gstcontroller.c:
9204         (gst_controlled_property_set_interpolation_mode):
9205         * libs/gst/controller/gstcontroller.h:
9206         * libs/gst/controller/gstinterpolation.c:
9207         * testsuite/controller/.cvsignore:
9208         * testsuite/controller/Makefile.am:
9209         * testsuite/controller/interpolator.c:
9210           merge controller testsuites
9211           fix broken tests
9212           remove mem-chunk from docs
9213
9214 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9215
9216         * gst/gstmemchunk.c:
9217         * gst/gstmemchunk.h:
9218         * gst/gsttrashstack.c:
9219         * gst/gsttrashstack.h:
9220           out.  get out.  you're fired.  to the Attic !
9221
9222 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * gst/gstcaps.c: (gst_caps_intersect):
9225           fix signedness issues in a (hopefully) correct way
9226         * gst/gstelement.c: (gst_element_pads_activate):
9227           some debugging
9228         * gst/gstobject.c: (gst_object_set_parent):
9229           some debugging
9230
9231 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9232
9233         * gst/gstvalue.h: Fix prototypes.
9234
9235 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9236
9237         * docs/gst/gstreamer-sections.txt:
9238         * gst/gst.c: (gst_version_string):
9239         * gst/gst.h:
9240         * gst/gstversion.h.in:
9241         * win32/common/libgstreamer.def:
9242           add gst_version_string ()
9243
9244 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * configure.ac:
9247           clean up further
9248         * gst/gst.c: (init_post):
9249         * win32/common/config.h.in:
9250           it's PLUGINDIR now
9251         * gst/gstcaps.c: (gst_caps_intersect):
9252           use gint64, the range could be bigger than a guint
9253
9254 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * gst/gstclock.h:
9257           document potential problem in 2038
9258
9259 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9260
9261         * gst/gstcaps.c: (gst_caps_intersect):
9262           Fix guint j diving under 0
9263
9264 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * configure.ac:
9267         * win32/common/config.h:
9268         * win32/common/config.h.in:
9269           check for process.h, declares getpid() on Windows
9270         * gst/gstinfo.c:
9271           include process.h if we have it
9272         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9273         * gst/gstmemchunk.h:
9274           fix signedness issues
9275         * win32/common/libgstreamer.def:
9276           fix get_type's
9277
9278 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9279
9280         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9281         fix. Because of unsigned ints, caps intersection was going nuts and
9282         trying to access structures with G_MAXUINT index. That fixes
9283         videotestsrc ! ffmpegcolorspace ! fakesink
9284         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9285         consistency.
9286
9287 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9288
9289         * configure.ac:
9290           use the gettext macro
9291         * gst/elements/gstelements.c:
9292         * gst/gst.c:
9293         * gst/indexers/gstindexers.c:
9294           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9295         * win32/common/config.h:
9296           updated config.h
9297         * win32/common/config.h.in:
9298           add the template to generate config.h
9299         * win32/common/gstenumtypes.c:
9300         * win32/common/gstversion.h:
9301           updated copies
9302
9303 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9304
9305         * gst/gst.c: (gst_version):
9306         * gst/gstversion.h.in:
9307           add the nano
9308
9309 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9310
9311         * gst/gstevent.h:
9312           Oops, add missing closing bracket.
9313
9314 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9315
9316         * configure.ac:
9317           use common m4's for argument checking
9318
9319 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9320
9321         * docs/gst/gstreamer-sections.txt:
9322         * gst/gstevent.h:
9323           Add GST_EVENT_TYPE_NAME() macro.
9324
9325 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * gst/gstinfo.c:
9328         * gst/gstpluginfeature.c:
9329         * gst/gsttask.c:
9330           privatize more symbols
9331
9332 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * configure.ac:
9335           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9336           everything that uses GStreamer API should have the includes
9337
9338 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9339
9340         * docs/gst/gstreamer-sections.txt:
9341         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9342         * gst/gstvalue.h:
9343           give each value a _get_type, removes the DATA exports
9344
9345 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * gst/gst.c:
9348         * gst/gst.h:
9349           remove _gst_registry_auto_load, not used anymore
9350         * gst/gstbin.c: (gst_bin_get_type):
9351         * gst/gstbin.h:
9352         * gst/gstelement.c: (gst_element_get_type):
9353         * gst/gstelement.h:
9354         * gst/gstobject.c: (gst_object_get_type):
9355         * gst/gstobject.h:
9356         * gst/gstpad.c: (gst_pad_get_type):
9357         * gst/gstpad.h:
9358           make _get_type functions similar, fixes data export from library
9359
9360 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * configure.ac:
9363           correctly make conditionals
9364         * gst/elements/Makefile.am:
9365         * gst/elements/gstelements.c:
9366           fix typo causing fdsrc not to build
9367
9368 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9369
9370         * testsuite/Makefile.am:
9371         * testsuite/bytestream/.cvsignore:
9372         * testsuite/bytestream/Makefile.am:
9373         * testsuite/bytestream/filepadsink.c:
9374         * testsuite/bytestream/gstbstest.c:
9375         * testsuite/bytestream/test1.c:
9376         * testsuite/bytestream/testfile1:
9377         * testsuite/caps/normalisation.c:
9378         * testsuite/caps/random.c: (main):
9379         * testsuite/cleanup/.cvsignore:
9380         * testsuite/cleanup/Makefile.am:
9381         * testsuite/cleanup/cleanup1.c:
9382         * testsuite/cleanup/cleanup2.c:
9383         * testsuite/cleanup/cleanup3.c:
9384         * testsuite/cleanup/cleanup4.c:
9385         * testsuite/cleanup/cleanup5.c:
9386         * testsuite/controller/interpolator.c:
9387         * testsuite/debug/printf_extension.c: (main):
9388         * testsuite/elements/tee.c:
9389         * testsuite/negotiation/.cvsignore:
9390         * testsuite/negotiation/Makefile.am:
9391         * testsuite/negotiation/pad_link.c:
9392         * testsuite/pad/Makefile.am:
9393         * testsuite/pad/chainnopull.c:
9394         * testsuite/pad/getnopush.c:
9395         * testsuite/pad/link.c:
9396         * testsuite/refcounting/sched.c: (create_pipeline):
9397         * testsuite/registry/Makefile.am:
9398         * testsuite/registry/gst-print-formats.c:
9399         * testsuite/schedulers/.cvsignore:
9400         * testsuite/schedulers/142183-2.c:
9401         * testsuite/schedulers/142183.c:
9402         * testsuite/schedulers/143777-2.c:
9403         * testsuite/schedulers/143777.c:
9404         * testsuite/schedulers/147713.c:
9405         * testsuite/schedulers/147819.c:
9406         * testsuite/schedulers/147894-2.c:
9407         * testsuite/schedulers/147894.c:
9408         * testsuite/schedulers/Makefile.am:
9409         * testsuite/schedulers/group_link.c:
9410         * testsuite/schedulers/queue_link.c:
9411         * testsuite/schedulers/relink.c:
9412         * testsuite/schedulers/unlink.c:
9413         * testsuite/schedulers/unref.c:
9414         * testsuite/schedulers/useless_iteration.c:
9415         * testsuite/states/bin.c:
9416           clean out/remove some stuff from the testsuite directories
9417
9418 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9419
9420         * configure.ac:
9421           check for some headers
9422         * gst/elements/Makefile.am:
9423         * gst/elements/gstelements.c:
9424           don't compile fdsrc without sys/socket.h
9425         * gst/indexers/Makefile.am:
9426         * gst/indexers/gstindexers.c: (plugin_init):
9427           don't compile fileindex without mmap
9428
9429 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * configure.ac:
9432           reorganize
9433           clean up
9434           document more
9435           remove cruft
9436         * check/Makefile.am:
9437         * docs/gst/Makefile.am:
9438         * examples/helloworld/Makefile.am:
9439         * gst/Makefile.am:
9440         * gst/base/Makefile.am:
9441         * gst/check/Makefile.am:
9442         * gst/elements/Makefile.am:
9443         * gst/indexers/Makefile.am:
9444         * gst/parse/Makefile.am:
9445         * libs/gst/controller/Makefile.am:
9446         * libs/gst/dataprotocol/Makefile.am:
9447         * examples/helloworld/helloworld.c: (event_loop):
9448           compile fixes, though it's not being compiled currently
9449
9450 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9451
9452         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9453           Add some simple tests for the new taglist date API.
9454
9455 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9456
9457         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9458         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9459           Beautify 'last-message' output: print 'none' for buffer timestamps
9460           and durations if none is set; improve alignment with next messages.
9461
9462 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9463
9464         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9465         * gst/gstpluginfeature.h:
9466         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9467         * gst/gstregistry.h:
9468         * docs/gst/gstreamer-sections.txt:
9469           Add new API to check plugin feature version requirements.
9470
9471         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9472           Some basic tests for the above.         
9473
9474 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * gst/gststructure.c: (gst_structure_to_string):
9477           guard against NULL printf - happens when for example
9478           a message structure with GstClock gets serialized
9479
9480 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9481
9482         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9483           Fix presumable copy'n'pasto.
9484
9485 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * gst/elements/gstfakesrc.h:
9488         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9489         * gst/elements/gsttypefindelement.c:
9490           fix some signedness
9491         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9492           I wonder if this could actually write +2GB files before
9493
9494 2005-10-13  Andy Wingo  <wingo@pobox.com>
9495
9496         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9497         Fix Timmeke Waymans bug.
9498         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9499         string of the proper length to gst_caps_from_string. There's a
9500         potential for, before this fix, that this could cause someone
9501         connecting over the network to cause a segfault if the payload is
9502         not NUL-terminated.
9503
9504 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9505
9506         * docs/design/draft-push-pull.txt:
9507         * docs/design/part-overview.txt:
9508         * docs/random/TODO-pre-0.9:
9509         * docs/random/old/ChangeLog.gstreamer:
9510         * gst/base/gstpushsrc.c:
9511         * gst/gstclock.c:
9512           fixed typos
9513
9514 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * gst/glib-compat.c: (gst_flags_get_first_value):
9517         * gst/glib-compat.h:
9518         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9519         (gst_value_compare_double), (gst_value_serialize_flags):
9520           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9521           infinite loop
9522
9523 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9524
9525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9526         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9527           fix up debugging
9528         * tools/gst-launch.c: (event_loop):
9529           print out clock nicely
9530
9531 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9532
9533         * docs/gst/gstreamer-sections.txt:
9534         * gst/gsttaglist.h:
9535         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9536         (gst_tag_list_get_date_index):
9537           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9538           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9539
9540 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9541
9542         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9543         (gst_collectpads_chain):
9544         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9545         in CollectData.
9546
9547 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9548
9549         * docs/gst/gstreamer-sections.txt:
9550         * gst/gst.c:
9551         * gst/gsterror.h:
9552         * tools/gst-inspect.c: (main):
9553         * tools/gst-launch.c: (main):
9554         * tools/gst-run.c: (main):
9555         * tools/gst-xmlinspect.c: (main):
9556           fix GOption context leaks
9557           doc fixes
9558
9559 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9560
9561         * gst/gstbus.c:
9562           use HAVE_UNISTD_H
9563         * win32/common/config.h:
9564           update config
9565         * win32/vs6/grammar.dsp:
9566         * win32/vs6/libgstelements.dsp:
9567         * win32/vs6/libgstreamer.dsp:
9568           update vs6 files
9569
9570 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9571
9572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9573         * gst/base/gstbasesrc.c: (gst_base_src_query):
9574           fix more guint64<->gdouble conversions
9575
9576 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * Makefile.am:
9579           add win32-update target
9580         * win32/common/gstconfig.h:
9581         * win32/common/gstenumtypes.c:
9582         * win32/common/gstenumtypes.h:
9583         * win32/common/gstversion.h:
9584           add files that visual studio can't generate
9585
9586 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * Makefile.am:
9589           add a win32-update target
9590         * configure.ac:
9591
9592 2005-10-12  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9595         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9596         * gst/gstelement.c: (gst_element_commit_state),
9597         (gst_element_set_state):
9598         Protect flags with proper lock.
9599         unref provided cached clock in dispose.
9600
9601 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9602
9603         * gst/gst.c:
9604         * gst/gstminiobject.h:
9605         * gst/gstpad.h:
9606         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9607           removed unused flags from miniobject
9608           doc fixes
9609
9610 2005-10-12  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9613         (gst_file_sink_event), (gst_file_sink_render):
9614         Flush before seeking.
9615
9616 2005-10-12  Andy Wingo  <wingo@pobox.com>
9617
9618         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9619         always been the case.
9620
9621 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9622
9623         * check/gst/gstbin.c: (GST_START_TEST):
9624         * docs/gst/gstreamer-sections.txt:
9625         * gst/base/gstbasesink.c: (gst_base_sink_init):
9626         * gst/base/gstbasesrc.c: (gst_base_src_init),
9627         (gst_base_src_get_range), (gst_base_src_check_get_range),
9628         (gst_base_src_start), (gst_base_src_stop):
9629         * gst/base/gstbasesrc.h:
9630         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9631         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9632         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9633         (bin_bus_handler):
9634         * gst/gstbin.h:
9635         * gst/gstbuffer.h:
9636         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9637         * gst/gstbus.h:
9638         * gst/gstelement.c: (gst_element_is_locked_state),
9639         (gst_element_set_locked_state), (gst_element_commit_state),
9640         (gst_element_set_state):
9641         * gst/gstelement.h:
9642         * gst/gstindex.c: (gst_index_init):
9643         * gst/gstindex.h:
9644         * gst/gstminiobject.h:
9645         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9646         (gst_object_set_parent):
9647         * gst/gstobject.h:
9648         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9649         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9650         * gst/gstpad.h:
9651         * gst/gstpadtemplate.h:
9652         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9653         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9654         * gst/gstpipeline.h:
9655         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9656         (gst_file_index_commit):
9657         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9658         * testsuite/pad/link.c: (gst_test_src_init),
9659         (gst_test_filter_init), (gst_test_sink_init):
9660         * testsuite/states/locked.c: (main):
9661           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9662           moved bitshift from macro to enum definition
9663
9664 2005-10-12  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9667         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9668         (gst_file_sink_render):
9669         Some more debugging info.
9670
9671 2005-10-12  Wim Taymans  <wim@fluendo.com>
9672
9673         * docs/design/part-states.txt:
9674         * tools/gst-launch.c: (main):
9675         Some doc updates.
9676         Revert non-intentional change.
9677
9678 2005-10-12  Wim Taymans  <wim@fluendo.com>
9679
9680         * check/gst/gstbin.c: (GST_START_TEST):
9681         * check/gst/gstelement.c: (GST_START_TEST):
9682         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9683         * check/gst/gstghostpad.c: (GST_START_TEST):
9684         * check/gst/gstpipeline.c: (GST_START_TEST):
9685         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9686         * check/states/sinks.c: (GST_START_TEST):
9687         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9688         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9689         (gst_bin_remove_func), (gst_bin_get_state_func),
9690         (gst_bin_recalc_state), (gst_bin_change_state_func),
9691         (bin_bus_handler):
9692         * gst/gstelement.c: (gst_element_get_state_func),
9693         (gst_element_get_state), (gst_element_abort_state),
9694         (gst_element_commit_state), (gst_element_set_state),
9695         (gst_element_change_state), (gst_element_change_state_func):
9696         * gst/gstelement.h:
9697         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9698         (gst_pipeline_provide_clock_func):
9699         * gst/gstutils.c: (gst_element_link_pads_filtered):
9700         * tools/gst-launch.c: (main):
9701         * tools/gst-typefind.c: (main):
9702         Use GstClockTime in _get_state() instead of GTimeVal.
9703         Remove old code in gstutils.c
9704
9705 2005-10-12  Andy Wingo  <wingo@pobox.com>
9706
9707         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9708         removed.
9709
9710         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9711         there is no task. Shouldn't affect any code, as nothing in our
9712         plugins checks this return value.
9713         (gst_pad_stop_task): Also take the stream lock if the pad has no
9714         task. Docs updated.
9715
9716 2005-10-12  Wim Taymans  <wim@fluendo.com>
9717
9718         * gst/gstpad.c: (pre_activate), (post_activate),
9719         (gst_pad_activate_pull), (gst_pad_activate_push):
9720         Cleanup activation code. Reset old state if
9721         activation failed.
9722
9723 2005-10-12  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9726         (gst_base_sink_change_state):
9727         No need to prerol after receiving EOS.
9728
9729         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9730         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9731         * gst/elements/gstidentity.c: (gst_identity_event):
9732         Print events more verbosely.
9733
9734 2005-10-12  Wim Taymans  <wim@fluendo.com>
9735
9736         * check/Makefile.am:
9737         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9738         * check/states/sinks2.c:
9739         Moved sinks2 testcode in sinks check.
9740
9741         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9742         (gst_bin_remove_func), (gst_bin_recalc_state),
9743         (gst_bin_change_state_func), (bin_bus_handler):
9744         Fix potential race condition when _get_state() iterated over an
9745         ASYNC element right before it posted a state completion.
9746
9747         * gst/gstclock.h:
9748         Do proper cast here.
9749
9750         * gst/gstevent.c: (gst_event_new_newsegment),
9751         (gst_event_parse_newsegment):
9752         A playback rate of 0.0 is not allowed.
9753
9754 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9755
9756         * win32/common/config.h:
9757         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9758         (_trewinddir), (_ttelldir), (_tseekdir):
9759         * win32/common/dirent.h:
9760         * win32/common/gtchar.h:
9761         * win32/common/libgstbase.def:
9762         * win32/common/libgstreamer.def:
9763         * win32/vs6/grammar.dsp:
9764         * win32/vs6/gst_inspect.dsp:
9765         * win32/vs6/gst_launch.dsp:
9766         * win32/vs6/gstreamer.dsw:
9767         * win32/vs6/libgstbase.dsp:
9768         * win32/vs6/libgstelements.dsp:
9769         * win32/vs6/libgstreamer.dsp:
9770           Visual Studio 6 project files, and a new common directory.
9771           Phear.
9772
9773 2005-10-11  Wim Taymans  <wim@fluendo.com>
9774
9775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9776         (gst_base_sink_do_sync), (gst_base_sink_query),
9777         (gst_base_sink_change_state):
9778         * gst/base/gstbasesink.h:
9779         Correctly parse newsegment info.
9780
9781 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9782
9783         * gst/gst.c: (init_post):
9784           split plugin paths correctly
9785
9786 2005-10-11  Wim Taymans  <wim@fluendo.com>
9787
9788         * check/gst/gstevent.c: (GST_START_TEST):
9789         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9790         (gst_base_sink_change_state):
9791         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9792         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9793         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9794         * gst/gstevent.c: (gst_event_new_newsegment),
9795         (gst_event_parse_newsegment):
9796         * gst/gstevent.h:
9797         Added extra flag to newsegment for future API freeze.
9798         Updated check and base elements.
9799
9800 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9801
9802         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9803         (gst_collectpads_add_pad), (gst_collectpads_pop),
9804         (gst_collectpads_event), (gst_collectpads_chain):
9805         * gst/base/gstcollectpads.h: Handle EOS correctly.
9806
9807 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9808
9809         * tools/gst-launch.c: (main):
9810           more null protecting
9811
9812 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9813
9814         * gst/gst-i18n-lib.h:
9815           check for ENABLE_NLS, not GETTEXT_PACKAGE
9816         * gst/gstregistry.c: (gst_registry_add_plugin),
9817         (gst_registry_scan_path_level),
9818         (_gst_registry_remove_cache_plugins):
9819           protect possibly NULL strings
9820         * gst/parse/types.h:
9821           config.h already included before
9822         * tools/gst-inspect.c: (main):
9823           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9824           check for ENABLE_NLS, not GETTEXT_PACKAGE
9825         * tools/gst-launch.c: (main):
9826           check for ENABLE_NLS, not GETTEXT_PACKAGE
9827
9828 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * configure.ac:
9831           if we don't have glib, fail before testing 2.8
9832         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9833           fix a leak, should fix plugins-base testsuite
9834
9835 2005-10-11  Andy Wingo  <wingo@pobox.com>
9836
9837         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9838         take the mode we're going to as an arg. Go head and set the mode
9839         and flushing flags now, so that if the activate function starts a
9840         thread all the flags will be in the right state.
9841         (post_activate): Renamed also. Just handle making sure streaming
9842         finishes for the deactivation case, and setting the deactivated
9843         mode.
9844         (gst_pad_set_active): Complain loudly if deactivation fails.
9845         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9846         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9847         remove the terrible hack.
9848
9849 2005-10-11  Wim Taymans  <wim@fluendo.com>
9850
9851         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9852         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9853         (gst_bin_recalc_state), (gst_bin_change_state_func),
9854         (gst_bin_dispose), (bin_bus_handler):
9855         * gst/gstbin.h:
9856         Prepare to make current EOS message queue more generic.
9857         Fix some typos.
9858
9859         * gst/gstevent.c: (gst_event_new_newsegment),
9860         (gst_event_parse_newsegment):
9861         * gst/gstevent.h:
9862         Rename base to stream_time.
9863
9864         * gst/gstmessage.h:
9865         Fix typo in docs.
9866
9867 2005-10-11  Wim Taymans  <wim@fluendo.com>
9868
9869         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9870         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9871         (gst_bin_change_state_func), (bin_bus_handler):
9872         * gst/gstbin.h:
9873         Work on proper clock selection.
9874
9875 2005-10-11  Edward Hervey  <edward@fluendo.com>
9876
9877         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9878         * libs/gst/controller/gstcontroller.h:
9879         Added GList* version of _remove_properties() in order to be able to wrap
9880         it in bindings.
9881
9882 2005-10-11  Wim Taymans  <wim@fluendo.com>
9883
9884         * docs/design/part-states.txt:
9885         Some more docs.
9886
9887         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9888         (gst_bin_change_state_func), (bin_bus_handler):
9889         Doc updates. Don't distribute the same clock over and over again.
9890
9891         * gst/gstclock.c:
9892         * gst/gstclock.h:
9893         Doc updates.
9894
9895         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9896         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9897         (gst_pad_send_event):
9898         * gst/gstpad.h:
9899         Make probe emission threadsafe again.
9900         Register quarks and move _get_name() from utils.
9901         Doc updates.
9902
9903         * gst/gstpipeline.c: (gst_pipeline_class_init),
9904         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9905         Only redistribute the clock of it changed.
9906
9907         * gst/gstsystemclock.h:
9908         Doc updates. 
9909
9910         * gst/gstutils.c:
9911         * gst/gstutils.h:
9912         Moved the _flow_get_name() to GstPad.
9913
9914 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9915
9916         * check/gst-libs/gdp.c: (GST_START_TEST):
9917         * check/gst/gstcaps.c: (GST_START_TEST):
9918         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9919         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9920         (gst_dp_packet_from_caps):
9921           fix more valgrind warnings before turning up the heat
9922
9923 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9924
9925         * gst/parse/grammar.y:
9926           some cleanup before the hacking
9927
9928 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * gst/base/gstbasesrc.c: (gst_base_src_query):
9931           use conversions
9932         * gst/gstutils.c: (gst_guint64_to_gdouble),
9933         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9934         * gst/gstutils.h:
9935           externalize, basesrc uses it
9936           obviously the implementation needs testing
9937
9938 2005-10-10  Wim Taymans  <wim@fluendo.com>
9939
9940         * tests/sched/Makefile.am:
9941         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9942         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9943
9944 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9945
9946         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9947           apparently converting from guint64 to double is not implemented
9948           on MSVC
9949
9950 2005-10-10  Wim Taymans  <wim@fluendo.com>
9951
9952         * check/Makefile.am:
9953         * check/generic/states.c: (GST_START_TEST):
9954         * check/gst/gstbin.c: (GST_START_TEST):
9955         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9956         * check/states/sinks.c: (GST_START_TEST):
9957         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9958         (main):
9959         Check fixes, use API as stated in design docs, remove hacks.
9960
9961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9962         (gst_base_sink_change_state):
9963         Catch stopping our task while we're shutting down.
9964
9965         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9966         (gst_bin_remove_func), (gst_bin_get_state_func),
9967         (gst_bin_recalc_state), (gst_bin_change_state_func),
9968         (bin_bus_handler):
9969         * gst/gstbin.h:
9970         * gst/gstelement.c: (gst_element_init),
9971         (gst_element_get_state_func), (gst_element_abort_state),
9972         (gst_element_commit_state), (gst_element_lost_state),
9973         (gst_element_set_state), (gst_element_change_state),
9974         (gst_element_change_state_func):
9975         * gst/gstelement.h:
9976         New state change algorithm (see #318116)
9977
9978         * gst/gstpipeline.c: (gst_pipeline_class_init),
9979         (gst_pipeline_init), (gst_pipeline_set_property),
9980         (gst_pipeline_get_property), (do_pipeline_seek),
9981         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9982         * gst/gstpipeline.h:
9983         Remove crude state change hacks.
9984
9985         * gst/gstutils.h:
9986         Remove crude hacks.
9987
9988         * tools/gst-launch.c: (main):
9989         Fixes for state change. Needs some more work to fully use the
9990         new stuff.
9991
9992 2005-10-10  Andy Wingo  <wingo@pobox.com>
9993
9994         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9995
9996         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9997         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9998         issue.
9999
10000 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10001
10002         * gst/gstiterator.c: (gst_iterator_new):
10003           Fix my previous commit: GTypes passed to gst_iterator_new()
10004           can be fundamental types.
10005
10006 2005-10-10  Wim Taymans  <wim@fluendo.com>
10007
10008         * gst/gstelement.c: (gst_element_iterate_pad_list),
10009         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10010         (gst_element_iterate_sink_pads):
10011         Use src/sink pads lists for the respective iterators instead
10012         of filtering.
10013
10014 2005-10-10  Andy Wingo  <wingo@pobox.com>
10015
10016         Merged in popt removal + GOption addition patch from Ronald, bug
10017         #169772.
10018
10019         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10020         GstElement macros around, remove popt-related symbols, add goption
10021         stuff.
10022
10023         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10024         
10025         * docs/gst/Makefile.am:
10026         * docs/libs/Makefile.am: No POPT_CFLAGS.
10027         
10028         * examples/manual/Makefile.am:
10029         * docs/manual/basics-init.xml: Doc updates with an example.
10030         
10031         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10032         (gst_init), (parse_one_option), (parse_goption_arg):
10033         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10034         bit of hand merging and debugging to get the GOption stuff working
10035         tho.
10036         
10037         * tests/Makefile.am:
10038         * tools/Makefile.am:
10039         * tools/gst-inspect.c: (main):
10040         * tools/gst-launch.c: (main):
10041         * tools/gst-run.c: (main):
10042         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10043
10044 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10045
10046         * gst/gstiterator.c: (gst_iterator_new):
10047           Add assertions to make sure passed GType is likely to really
10048           be a GType (as the compiler won't catch it if the size and
10049           GType arguments get mixed up, see #318447).
10050
10051 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10052
10053         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10054
10055         * gst/gstbin.c: (gst_bin_iterate_sorted):
10056           Pass GType and size arguments to gst_iterator_new() in the right
10057           order (maybe we should make _new() take the GType as first argument
10058           just like _new_list()?) (#318447).
10059           
10060
10061 2005-10-10  Wim Taymans  <wim@fluendo.com>
10062
10063         * gst/gstelement.c: (gst_element_finalize):
10064         And free the GStaticRecMutex too
10065
10066 2005-10-10  Andy Wingo  <wingo@pobox.com>
10067
10068         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10069         Allocate and free the mutex properly.
10070
10071         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10072         New macros.
10073         (GstElement): The state_lock is now recursive. Rebuild your
10074         plugins, suckers. Old macros adapted.
10075
10076         * docs/gst/gstreamer-sections.txt: Doc updates.
10077
10078         * gst/gstutils.h:
10079         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10080         (g_static_rec_cond_wait): Ported from state changes patch, while
10081         we wait on bug #317802 to be solved in a well-distributed GLib.
10082
10083         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10084         gst_element_change_state, variable name changes.
10085         (gst_element_change_state): Split out of gst_element_set_state in
10086         preparation for the state change merge. Doesn't pay attention to
10087         the 'transition' argument.
10088         (gst_element_set_state): Updates, hopefully purely cosmetic.
10089         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10090         state change patch.
10091         (gst_element_get_state_func): Renamed from get_state, cosmetic
10092         changes.
10093
10094 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10095
10096         * gst/elements/gstelements.c:
10097         * win32/GStreamer.vcproj:
10098         * win32/config.h:
10099         * win32/dirent.c: (_tseekdir):
10100         * win32/gst-inspect.vcproj:
10101         * win32/gst-launch.vcproj:
10102         * win32/gstconfig.h:
10103         * win32/gstelements.vcproj:
10104         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10105         * win32/gstreamer.def:
10106         * win32/msvc71.sln:
10107           updates for the win32 build (patch from Sebastien Moutte)
10108
10109 2005-10-10  Andy Wingo  <wingo@pobox.com>
10110
10111         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10112         gst_bin_get_state, cleaned up (but no logic changes).
10113         (bin_element_is_sink): Comment updates.
10114         (sink_iterator_filter): Remove needless cast.
10115         (gst_bin_iterate_sinks): Doc update.
10116         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10117         cleaned up (but no logic changes).
10118
10119         * check/states/sinks.c (test_src_sink): Cleanups from the state
10120         change patch.
10121         (test_livesrc_sink): Sync on the state.
10122
10123         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10124         the state change patch.
10125
10126         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10127         change patch.
10128
10129         * check/gst/gstbin.c: Merge in some style fixes and additional
10130         checks from Wim's state change patch.
10131
10132 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10133
10134         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10135         (gst_type_find_helper):
10136           Check whether we have the requested data already in our list of
10137           cached buffers before pulling a new buffer; also make the buffer
10138           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10139
10140 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * gst/gstcaps.c:
10143         * gst/gstevent.c:
10144           doc updates
10145         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10146           don't use long long, it's not portable.  Replacing with
10147           gint64 seems to work; let's hope no skeletons fall out of the closet.
10148
10149 2005-10-10  Andy Wingo  <wingo@pobox.com>
10150
10151         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10152
10153 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10154
10155         * docs/gst/gstreamer-sections.txt:
10156         * gst/gstevent.c:
10157         * gst/gstevent.h:
10158         * gst/gstinfo.c:
10159         * gst/gstinfo.h:
10160         * gst/gstmessage.c: (gst_message_parse_state_changed):
10161         * gst/gstpad.c:
10162         * gst/gstpad.h:
10163           more docs, fix compilation
10164
10165 2005-10-09  Philippe Khalaf <burger@speedy.org>
10166         * gst/gstmessage.c:
10167           Fixed a few forgotten variables on previous commit
10168
10169 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10170
10171         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10172           Fix evil typefind crasher: getrange() might return a short
10173           buffer at the end of a file, but gst_type_find_peek() must
10174           either return the full data as requested or NULL, but
10175           never a short buffer.
10176
10177 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * gst/gstmessage.c: (gst_message_new_state_changed),
10180         (gst_message_parse_state_changed):
10181         * gst/gstmessage.h:
10182           don't use "new", it's a C++ keyword
10183
10184 2005-10-08  Wim Taymans  <wim@fluendo.com>
10185
10186         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10187         * gst/gstelement.c: (gst_element_post_message):
10188         * gst/gstpipeline.c: (gst_pipeline_change_state):
10189         Small docs and debug updates.
10190
10191 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10192
10193         * docs/gst/gstreamer-sections.txt:
10194         * gst/gstelementfactory.c:
10195         * gst/gstevent.c:
10196         * gst/gsttaglist.c:
10197           more docs
10198
10199 2005-10-08  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10202         (gst_bin_dispose), (bin_bus_handler):
10203         Fix typos, add comments.
10204         Clear EOS list when going to PAUSED from any direction and do it
10205         in a threadsafe way.
10206         Get base time in a threadsafe way too.
10207         Fix confusing debug in the change_state function.
10208         Various other small cleanups.
10209         
10210         * gst/gstelement.c: (gst_element_post_message):
10211         Fix very verbose bus posting code.
10212
10213         * gst/gstpipeline.c: (gst_pipeline_class_init),
10214         (gst_pipeline_set_property), (gst_pipeline_get_property),
10215         (gst_pipeline_change_state):
10216         Small ARG_ -> PROP_ cleanup
10217
10218 2005-10-08  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10221         Do a less CPU demanding EOS check because we can.
10222
10223 2005-10-08  Wim Taymans  <wim@fluendo.com>
10224
10225         * libs/gst/dataprotocol/dataprotocol.c:
10226         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10227         (gst_dp_packet_from_event):
10228         * libs/gst/dataprotocol/dataprotocol.h:
10229         * libs/gst/dataprotocol/dp-private.h:
10230         It's about time we bump the version number.
10231         Since event types don't fit in the guint8 anymore describing
10232         the payload type, make payload type 16 bits wide.
10233
10234 2005-10-08  Wim Taymans  <wim@fluendo.com>
10235
10236         * docs/design/part-TODO.txt:
10237         * docs/design/part-clocks.txt:
10238         * docs/design/part-events.txt:
10239         * docs/design/part-gstbin.txt:
10240         * docs/design/part-gstelement.txt:
10241         * docs/design/part-gstpipeline.txt:
10242         * docs/design/part-live-source.txt:
10243         * docs/design/part-messages.txt:
10244         * docs/design/part-overview.txt:
10245         * docs/design/part-states.txt:
10246         Many doc updates.
10247
10248 2005-10-08  Wim Taymans  <wim@fluendo.com>
10249
10250         * gst/gstevent.c:
10251         * gst/gstevent.h:
10252         Fix event quark registration.
10253         Add some space between events so we can insert them in the
10254         right groups.
10255
10256 2005-10-08  Wim Taymans  <wim@fluendo.com>
10257
10258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10259         (gst_base_sink_handle_buffer):
10260         Better log message.
10261
10262         * gst/gstbus.h:
10263         * gst/gstelement.h:
10264         More docs.
10265
10266         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10267         (gst_queue_set_property), (gst_queue_get_property):
10268         * gst/gstqueue.h:
10269         Remove old unused properties.
10270
10271 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10272         * docs/gst/gstreamer-sections.txt:
10273         * gst/gstmessage.c:
10274         * gst/gstmessage.h:
10275         * gst/gstminiobject.c:
10276         * gst/gstminiobject.h:
10277         * gst/gstobject.h:
10278         * gst/gstpad.h:
10279         * gst/gstutils.h:
10280           lots of new docs and doc fixes
10281
10282 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10283
10284         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10285         * gst/gstplugin.h:
10286         * gst/gstregistry.c: (gst_registry_lookup_locked),
10287         (gst_registry_scan_path_level):
10288         * gst/gstregistryxml.c: (load_plugin):
10289           Only ever load one plugin for a given plugin basename.
10290           This ensures correct overriding of GST_PLUGIN_PATH over
10291           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10292           system installed plugins.
10293
10294 2005-10-08  Wim Taymans  <wim@fluendo.com>
10295
10296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10297         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10298         Prepare for doing QOS.
10299
10300 2005-10-08  Wim Taymans  <wim@fluendo.com>
10301
10302         * check/gst/gstbin.c: (GST_START_TEST):
10303         * check/pipelines/cleanup.c: (GST_START_TEST):
10304         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10305         Allow new clock message too.
10306
10307 2005-10-08  Wim Taymans  <wim@fluendo.com>
10308
10309         * gst/gstmessage.c: (gst_message_new_error),
10310         (gst_message_new_warning), (gst_message_new_tag),
10311         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10312         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10313         (gst_message_new_segment_start), (gst_message_new_segment_done),
10314         (gst_message_parse_state_changed),
10315         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10316         (gst_message_parse_new_clock):
10317         * gst/gstmessage.h:
10318         Also carry the clock in question.
10319
10320 2005-10-08  Wim Taymans  <wim@fluendo.com>
10321
10322         * gst/gstmessage.c: (gst_message_new_custom),
10323         (gst_message_new_eos), (gst_message_new_error),
10324         (gst_message_new_warning), (gst_message_new_tag),
10325         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10326         (gst_message_new_new_clock), (gst_message_new_segment_start),
10327         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10328         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10329         * gst/gstmessage.h:
10330         Clean up.
10331         Added clock related messages.
10332
10333         * gst/gstpipeline.c: (gst_pipeline_change_state):
10334         Post message when the clock changed.
10335
10336         * tools/gst-launch.c: (event_loop):
10337         Print new clock.
10338
10339 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10340
10341         * tools/gst-inspect.c: (print_element_properties_info):
10342           Can't pass NULL strings to g_print() on windows.
10343
10344 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10345
10346         * docs/Makefile.am:
10347         * docs/gst/Makefile.am:
10348         * docs/gst/gstreamer-docs.sgml:
10349         * docs/gst/running.xml:
10350         * docs/version.entities.in:
10351           add a chapter on running GStreamer.
10352           document GST_DEBUG and GST_PLUGIN* env vars
10353
10354 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10355
10356         * Makefile.am:
10357           remove include dir
10358         * configure.ac:
10359           remove PLUGINS_BUILDDIR stuff
10360         * gst/gst.c: (init_post):
10361           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10362         * idiottest.mak:
10363           remove, it was condescending and not needed
10364
10365 2005-10-08  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10368         (gst_base_sink_handle_object), (gst_base_sink_event),
10369         (gst_base_sink_wait), (gst_base_sink_handle_event),
10370         (gst_base_sink_change_state):
10371         * gst/base/gstbasesink.h:
10372         Repost EOS message while going to PLAYING if still EOS.
10373         Make sure that when receiving a FLUSH_START we don't attempt
10374         to sync on the clock anymore.
10375
10376 2005-10-08  Wim Taymans  <wim@fluendo.com>
10377
10378         * tools/gst-launch.c: (event_loop):
10379         Better message printout.
10380
10381 2005-10-08  Wim Taymans  <wim@fluendo.com>
10382
10383         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10384         (gst_bin_child_proxy_get_children_count):
10385         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10386         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10387         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10388         (gst_child_proxy_set_valist):
10389         * gst/parse/grammar.y:
10390         Make ChildProxy threadsafe and fix mem leaks.
10391
10392 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * gst/gst.c: (init_post):
10395           debug the GST_PLUGIN_ env vars
10396
10397 2005-10-08  Wim Taymans  <wim@fluendo.com>
10398
10399         * check/gst/gstbin.c: (GST_START_TEST):
10400         * check/gst/gstmessage.c: (GST_START_TEST):
10401         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10402         * gst/gstelement.c: (gst_element_commit_state),
10403         (gst_element_lost_state):
10404         * gst/gstmessage.c: (gst_message_new_state_changed),
10405         (gst_message_parse_state_changed):
10406         * gst/gstmessage.h:
10407         * tools/gst-launch.c: (event_loop):
10408         Added extra field to STATE_CHANGE message with the pending
10409         state, which will be different from the new state soon.
10410
10411 2005-10-08  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/gstbus.c: (gst_bus_pop):
10414         * gst/gstclock.c:
10415         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10416         Small cleanups and doc updates.
10417
10418 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10419
10420         * gst/gst.c: (init_pre):
10421         * gst/gstbin.c: (gst_bin_add_func):
10422           log distributing clocks and base time
10423         * gst/gstregistry.c: (gst_registry_add_plugin),
10424         (gst_registry_scan_path_level), (gst_registry_scan_path):
10425           clean up the debugging output a little
10426         * gst/gstutils.c: (gst_element_state_get_name):
10427           warn about a memleak (I've actually seen this be used, though
10428           it was probably a bug)
10429
10430 2005-10-07  Wim Taymans  <wim@fluendo.com>
10431
10432         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10433         (gst_base_src_init), (gst_base_src_default_newsegment),
10434         (gst_base_src_newsegment), (gst_base_src_do_seek),
10435         (gst_base_src_loop), (gst_base_src_start):
10436         * gst/base/gstbasesrc.h:
10437         Make the newsegment event customizable by subclasses.
10438
10439 2005-10-07  Wim Taymans  <wim@fluendo.com>
10440
10441         * gst/gstevent.c: (gst_event_new_buffersize),
10442         (gst_event_parse_buffersize):
10443         * gst/gstevent.h:
10444         New event for future idea.
10445
10446 2005-10-07  Andy Wingo  <wingo@pobox.com>
10447
10448         * gst/gstelement.c (gst_element_post_message): Doc update.
10449
10450         * docs/gst/gstreamer-sections.txt: Update.
10451
10452         * gst/gstmessage.c (gst_message_new_application): Made into a
10453         function like honest API calls.
10454         (gst_message_new_element): New message type.
10455
10456         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10457
10458         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10459         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10460         times.
10461
10462         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10463         NO_PREROLL from gst_element_change_state to fall through.
10464
10465 2005-10-07  Wim Taymans  <wim@fluendo.com>
10466
10467         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10468         (gst_ghost_pad_do_activate_push):
10469         Activating a ghostpad with no internal pad in push mode
10470         is ok.
10471
10472 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10473
10474         * gst/gstobject.h:
10475           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10476           Fixes compilation on Windows.
10477
10478 2005-10-07  Michael Smith <msmith@fluendo.com>
10479
10480         * tools/gst-inspect.c:
10481           Print out feature and plugin count at the end when printing out
10482           all features.
10483
10484 2005-10-04  Michael Smith <msmith@fluendo.com>
10485
10486         * gst/gsterror.c: (_gst_stream_errors_init):
10487           Add another error string used in a few existing plugins.
10488
10489         * gst/gstplugin.c:
10490         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10491         * tools/gst-inspect.c: (print_element_info):
10492           When a feature disappears from a plugin (and the feature exists in
10493           the cached registry file), things went horribly wrong. This isn't a
10494           complete fix, we should actually be removing the 'missing' features
10495           from the features list when we load the actual plugin. That's not
10496           yet implemented. 
10497
10498 2005-10-04  Johan Dahlin  <johan@gnome.org>
10499
10500         * check/gst/gstiterator.c: (GST_START_TEST):
10501         * gst/gstbin.c: (gst_bin_iterate_elements),
10502         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10503         * gst/gstelement.c: (gst_element_iterate_pads):
10504         * gst/gstformat.c: (gst_format_iterate_definitions):
10505         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10506         (gst_iterator_new_list), (gst_iterator_filter):
10507         * gst/gstiterator.h:
10508         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10509         Add a GType to GstIterator, update callsites and tests.
10510
10511 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10514           give events a chance to be handled by event probes when the pad
10515           is not linked
10516
10517 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10518
10519         * gst/gstevent.c: (gst_event_type_get_name),
10520         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10521         * gst/gstevent.h:
10522           add string representations for event types
10523
10524 2005-10-06  Wim Taymans  <wim@fluendo.com>
10525
10526         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10527         Don't use NULL pointers.
10528
10529 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * gst/gst_private.h:
10532         * gst/gstbus.c:
10533         * gst/gstelement.c:
10534         * gst/gstinfo.c:
10535         * gst/gstpluginfeature.c:
10536           widen the debug category in output to fit the biggest one we have
10537           add a bus category and use it
10538           play with the colors
10539           fix up some categories
10540
10541 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10542
10543         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10544           add push activation of sink ghost pads.
10545           Andye, please verify
10546
10547 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10548
10549         * gst/gstutils.c: (gst_element_link_pads):
10550           fix a bug in the case where neither element has a pad
10551         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10552           add a test for that case
10553
10554 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10557           emit have-data before checking for peers.  This allows
10558           for probe handlers to connect elements.  This helps autopluggers.
10559         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10560         (gst_pad_suite):
10561           add six checks, linked/unlinked with no/true/false probe
10562
10563 2005-10-04  Wim Taymans  <wim@fluendo.com>
10564
10565         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10566         (gst_fake_sink_event), (gst_fake_sink_preroll),
10567         (gst_fake_sink_render), (gst_fake_sink_change_state):
10568         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10569         (gst_fake_src_get_property), (gst_fake_src_create),
10570         (gst_fake_src_stop):
10571         * gst/elements/gstidentity.c: (gst_identity_stop):
10572         Protect last_message with lock.
10573
10574 2005-10-04  Edward Hervey  <edward@fluendo.com>
10575
10576         * gst/gstformat.h: 
10577         Added precision in the comments for GST_FORMAT_DEFAULT
10578
10579 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10580
10581         * tools/gst-launch.c: (main):
10582           Don't try to run erroneous pipelines.
10583
10584 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10585
10586         * gst/gstbus.c: We don't need this header.
10587
10588 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * configure.ac:
10591           back to development
10592
10593 === release 0.9.3 ===
10594
10595 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * README:
10598         * configure.ac:
10599           Releasing 0.9.3, "Unregistered"
10600
10601 2005-10-03  Andy Wingo  <wingo@pobox.com>
10602
10603         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10604         whereby calling a pad's activatepush() function can start a thread
10605         that starts to push or pull before the pad gets the FLUSHING flag
10606         unset. Hack around it by holding the stream lock until the flag is
10607         set. Need to replace this with a proper solution. Together with
10608         the ghost pad fixes, this fixes mp3 playing/tagreading.
10609
10610         * docs/design/part-gstghostpad.txt: Add a note about activation of
10611         proxy pads outside of ghost pads.
10612
10613         * gst/gstghostpad.c: Implement the ghost pad activation design.
10614
10615 2005-10-02  Andy Wingo  <wingo@pobox.com>
10616
10617         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10618         It is volatile, after all.
10619
10620         * docs/design/part-gstghostpad.txt: Flesh out activation with
10621         ghost pads.
10622
10623         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10624         GST_DEBUG_FUNCPTR.
10625
10626 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10627
10628         * configure.ac:
10629           Fix (unused) AM_CONDITIONAL tests.
10630
10631 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10632
10633         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10634
10635         * gst/gstutils.c: (gst_pad_query_convert):
10636           Add assertion that makes sure src_val is >=0, just like
10637           gst_query_new_convert() has. (#315895)
10638
10639 2005-09-30  Edward Hervey  <edward@fluendo.com>
10640
10641         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10642         Let's not iterate pads we're not interested in, it avoids getting 
10643         sky-high refcounts on sinkpad.
10644
10645 2005-09-30  Wim Taymans  <wim@fluendo.com>
10646
10647         * gst/gstelement.c: (gst_element_set_state),
10648         (gst_element_change_state):
10649         Small tweak, element in ASYNC remains ASYNC.
10650
10651 2005-09-30  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10654         Only error is an error.
10655
10656         * gst/gstbin.c: (gst_bin_change_state):
10657         Better debugging.
10658
10659         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10660         Also call pad_block in pad alloc.
10661
10662         * gst/gstutils.c: (gst_flow_get_name):
10663         Better debugging.
10664
10665 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10666
10667         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10668         (gst_base_src_get_range):
10669           Fix documentation typos. Add some more debug info.
10670
10671 2005-09-29  David Schleef  <ds@schleef.org>
10672
10673         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10674           more end-user friendly.
10675         * tools/gst-inspect.c: (main): Check if command-line argument is
10676           a file and attempt to load that file as a plugin.
10677
10678 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * check/gst/gstbin.c:
10681         * check/states/sinks.c:
10682           fix tests for the new warning
10683         * check/gst/gstpipeline.c:
10684           add a test for pipeline and bus interaction
10685         * gst/gstelement.c:
10686           elements should be NULL if they get disposed; add a warning if not
10687
10688 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * gst/gstobject.c:
10691           for 2.6 refcounting, make debug log more correct by printing
10692           the actual refcounts at the time of swap (Wim)
10693
10694 2005-09-29  Andy Wingo  <wingo@pobox.com>
10695
10696         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10697         removes signal watches previously added via
10698         gst_bus_add_signal_watch.
10699         (gst_bus_add_signal_watch): Don't return the source id, just store
10700         it on the bus if there wasn't an id already.
10701
10702         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10703         add_signal_watch and remove_signal_watch.
10704
10705 2005-09-29  Edward Hervey  <edward@fluendo.com>
10706
10707         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10708         Better if we actually iterate the list :)
10709
10710 2005-09-29  Wim Taymans  <wim@fluendo.com>
10711
10712         * check/gst/gstbin.c: (GST_START_TEST):
10713         Change for new bus API.
10714
10715         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10716         (send_messages), (GST_START_TEST), (gstbus_suite):
10717         Change for new bus signal API.
10718
10719         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10720         (gst_bus_source_prepare), (gst_bus_source_check),
10721         (gst_bus_create_watch), (gst_bus_add_watch_full),
10722         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10723         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10724         * gst/gstbus.h:
10725         Remove support for multiple GSources operating on different
10726         message types as it is too complex and unneeded when using
10727         signals.
10728         Added support for receiving signals from the bus.
10729
10730 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10731
10732         * docs/libs/tmpl/gstdataprotocol.sgml:
10733         * docs/manual/advanced-dataaccess.xml:
10734         * gst/elements/gstcapsfilter.c:
10735         * gst/gstutils.c:
10736           rename filter-caps to caps property
10737
10738 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10739
10740         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10741           More robust fraction string parsing.
10742
10743         * docs/pwg/appendix-porting.xml:
10744           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10745
10746 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10747
10748         * gst/gstcaps.c: (gst_caps_do_simplify):
10749           Thou shalt not free a structure and then continue using it
10750           in the next loop iteration.
10751
10752         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10753         (gst_caps_suite):
10754           Add test case for caps simplification.
10755
10756 2005-09-29  Wim Taymans  <wim@fluendo.com>
10757
10758         * check/gst/gstbin.c: (GST_START_TEST):
10759         Oops.
10760
10761 2005-09-29  Wim Taymans  <wim@fluendo.com>
10762
10763         * check/gst/gstbin.c: (GST_START_TEST):
10764         Add bus to bin.
10765
10766         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10767         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10768         (find_element), (gst_bin_sort_iterator_next),
10769         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10770         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10771         (gst_bin_change_state), (gst_bin_dispose):
10772         A bin does not have a bus, it gets the bus from the parent.
10773
10774         * gst/gstelement.c: (gst_element_requires_clock),
10775         (gst_element_provides_clock), (gst_element_is_indexable),
10776         (gst_element_is_locked_state), (gst_element_change_state),
10777         (gst_element_set_bus_func):
10778         Small cleanups.
10779
10780         * gst/gstpipeline.c: (gst_pipeline_class_init),
10781         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10782         The pipeline provides a bus.
10783
10784 2005-09-28  Johan Dahlin  <johan@gnome.org>
10785
10786         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10787         gst_structure_get_enum instead of gst_structure_get_int
10788
10789         * gst/gststructure.c (gst_structure_get_enum): Impl.
10790
10791         * gst/gststructure.h (gst_structure_get_enum): Add
10792
10793         * docs/gst/gstreamer-sections.txt: Ditto
10794
10795         * gst/gstmessage.c (gst_message_new_state_changed): Use
10796         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10797         which does introspection.
10798         Reviewed by Christian Schaller
10799
10800 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10801
10802         * gst/gstinfo.c: (gst_debug_log_default):
10803           don't do dummy g_strdup()s
10804         * libs/gst/controller/gstcontroller.c:
10805         (on_object_controlled_property_changed),
10806         (gst_controlled_property_new), (gst_controller_new_valist),
10807         (gst_controller_new_list),
10808         (gst_controller_remove_properties_valist), (gst_controller_set),
10809         (gst_controller_get), (gst_controller_sync_values),
10810         (gst_controller_get_value_array), (_gst_controller_class_init),
10811         (gst_controller_get_type):
10812         * libs/gst/controller/gstcontroller.h:
10813         * libs/gst/controller/gstinterpolation.c:
10814         (gst_controlled_property_find_timed_value_node):
10815           convert // to /**/ comments
10816
10817 2005-09-28  Wim Taymans  <wim@fluendo.com>
10818
10819         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10820         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10821         (gst_bus_sync_signal_handler):
10822         * gst/gstbus.h:
10823         Added async-message and sync-message signals to the bus.
10824         Added helper BusFunc to emit signals for all posted messages.
10825
10826         * gst/gstmessage.c: (gst_message_type_get_name),
10827         (gst_message_type_to_quark), (gst_message_get_type):
10828         * gst/gstmessage.h:
10829         Register quarks for message names.
10830
10831 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10832
10833         * docs/libs/gstreamer-libs-sections.txt:
10834         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10835         (gst_controller_new_list):
10836         * libs/gst/controller/gstcontroller.h:
10837           added another constructor for language bindings
10838
10839 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10840
10841         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10842           add another check
10843         * gst/gstbus.c:
10844           add some doc
10845         * gst/gstinfo.c: (_gst_debug_init):
10846           slightly more readable color for refcount debugging
10847
10848 2005-09-28  Wim Taymans  <wim@fluendo.com>
10849
10850         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10851         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10852         (find_element), (gst_bin_sort_iterator_next),
10853         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10854         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10855         (gst_bin_change_state), (gst_bin_dispose):
10856         Small doc fixes. get_clock -> provide_clock.
10857
10858         * gst/gstelement.c: (gst_element_class_init),
10859         (gst_element_provides_clock), (gst_element_provide_clock),
10860         (gst_element_get_clock), (gst_element_commit_state),
10861         (gst_element_lost_state):
10862         * gst/gstelement.h:
10863         Make get/set_clock() symetric. Add provide_clock vmethod since
10864         that is actually what this function does.
10865
10866         * gst/gstpipeline.c: (gst_pipeline_class_init),
10867         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10868         (gst_pipeline_get_clock):
10869         get_clock -> provide_clock.
10870
10871 2005-09-28  Andy Wingo  <wingo@pobox.com>
10872
10873         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10874         lieu of real docs...
10875
10876         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10877
10878 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10879
10880         * gst/elements/gstcapsfilter.c:
10881         * gst/elements/gstfakesink.c:
10882         * gst/elements/gstfakesrc.c:
10883         * gst/elements/gstfdsink.c:
10884         * gst/elements/gstfdsrc.c:
10885         * gst/elements/gstfilesink.c:
10886         * gst/elements/gstfilesrc.c:
10887         * gst/elements/gstidentity.c:
10888         * gst/elements/gsttee.c:
10889         * gst/elements/gsttypefindelement.c:
10890           Make element details static.
10891
10892 2005-09-28  Wim Taymans  <wim@fluendo.com>
10893
10894         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10895         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10896         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10897         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10898         (gst_bin_change_state), (gst_bin_dispose):
10899         Some documentation updates.
10900         Clean up dispose handlers.
10901
10902         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10903         * gst/gstpad.c: (gst_pad_dispose):
10904         Clean up dispose handler.
10905
10906         * gst/gstpipeline.c: (gst_pipeline_change_state):
10907         Removed spurious UNLOCK.
10908
10909 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10910
10911         * docs/gst/gstreamer-sections.txt:
10912         * gst/base/gstbasesrc.h:
10913         * gst/gstelement.h:
10914         * gst/gstevent.h:
10915         * gst/gstobject.h:
10916         * gst/gstpad.h:
10917         * gst/gstpipeline.c:
10918         * gst/gstpipeline.h:
10919         * gst/gstutils.h:
10920         * gst/gstxml.h:
10921           added two new functions to the docs
10922                 documents all undocumented GstXXXFlags
10923                 completed some incomplete docs 
10924
10925 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * gst/gstbin.c: (gst_bin_dispose):
10928         * gst/gstelement.c: (gst_element_dispose):
10929           remove now useless and leaky resurrection code in dispose
10930         * gst/base/gstbasesrc.c: (gst_base_src_init):
10931         * gst/gstelementfactory.c: (gst_element_factory_create):
10932         * gst/gstobject.c: (gst_object_set_parent):
10933           add some debugging
10934
10935 2005-09-27  Wim Taymans  <wim@fluendo.com>
10936
10937         * docs/design/part-TODO.txt:
10938         Update TODO.
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):
10945         * gst/gstelement.h:
10946         Remove element variable, we keep element info in the iterator now.
10947
10948 2005-09-27  Andy Wingo  <wingo@pobox.com>
10949
10950         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10951         values.
10952
10953 2005-09-27  Wim Taymans  <wim@fluendo.com>
10954
10955         * check/gst/gstbin.c: (GST_START_TEST):
10956         Enable check that works now.
10957
10958         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10959         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10960         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10961         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10962         (gst_bin_change_state):
10963         * gst/gstbin.h:
10964         Redid the state change algorithm using a topological sort algo.
10965         Handles all cases correctly.
10966         Exposed iterator for state change order.
10967
10968         * gst/gstelement.h:
10969         Temp storage for state changes. Need to get rid of this soon.
10970
10971 2005-09-27  Wim Taymans  <wim@fluendo.com>
10972
10973         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10974         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10975         (link_fold_func), (gst_pad_proxy_setcaps):
10976         Leak fixes, the fold functions need to unref the passed object and
10977         _get_parent_*() returns ref to parent.
10978
10979 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10980
10981         * check/gst/gstbuffer.c: (test_make_writable):
10982           Plug leak in test case and fix 'make check-valgrind'
10983
10984 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10985
10986         * gst/gstbuffer.c: (gst_subbuffer_init):
10987           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10988           works correctly in all circumstances (we could have just copied
10989           the parent buffer's readonly flag, but conceptually it seems
10990           cleaner to mark all subbuffers as read-only). (based on patch
10991           by Alessandro Decina, #314710).
10992         
10993         * check/gst/gstbuffer.c: (create_read_only_buffer),
10994         (test_make_writable), (test_subbuffer_make_writable),
10995         (gst_test_suite):
10996           Add some tests for gst_buffer_make_writable().
10997
10998 2005-09-27  Wim Taymans  <wim@fluendo.com>
10999
11000         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11001         use gst_object_has_ancestor().
11002
11003         * gst/gstobject.c: (gst_object_has_ancestor):
11004         * gst/gstobject.h:
11005         gst_object_has_ancestor() copied from gstbin.c as it is a
11006         usefull function.
11007
11008         * tests/instantiate/create.c: (create_all_elements):
11009         * tests/lat.c: (handoff_src), (handoff_sink):
11010         * tests/sched/runxml.c: (main):
11011         * tests/seeking/seeking1.c: (main):
11012         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11013         (main):
11014         Fix compilation of some tests.
11015
11016 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11017
11018         * gst/gsterror.h:
11019           Remove comment. GST_TYPE_G_ERROR is here to stay,
11020           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11021           (#316961, #300610).
11022
11023 2005-09-26  Wim Taymans  <wim@fluendo.com>
11024
11025         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11026         Added check that shows error in state change order.
11027
11028 2005-09-26  Wim Taymans  <wim@fluendo.com>
11029
11030         * gst/gstbin.c: (gst_bin_change_state):
11031         Make state change function use 3 queues again, we were
11032         adding elements in the wrong order.
11033
11034         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11035         Some debug info,
11036
11037         * gst/gstpad.c: (gst_pad_dispose):
11038         Added some debug info first.
11039
11040 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11041
11042         * docs/design/draft-push-pull.txt:
11043         * docs/design/part-events.txt:
11044         * docs/design/part-overview.txt:
11045         * docs/design/part-scheduling.txt:
11046           Replace all _pull_region() with _pull_range()
11047           
11048 2005-09-26  Andy Wingo  <wingo@pobox.com>
11049
11050         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11051
11052         * check/gst-libs/controller.c: Update for controller api change.
11053
11054         * configure.ac: 
11055         * tests/Makefile.am:
11056         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11057         over by GLib bug 118439.
11058         
11059         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11060         routines to a function.
11061
11062         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11063
11064         * libs/gst/controller/gsthelper.c:
11065         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11066         (gst_object_sync_values): Renamed from sink_values. Ugh.
11067
11068         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11069
11070         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11071         Renamed from controller_key, as it is exported.
11072
11073         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11074
11075 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11076
11077         * gst/Makefile.am:
11078         * gst/gst.h:
11079         * gst/gstpad.h:
11080         * gst/gstpadtemplate.h:
11081         * gst/gstquery.c:
11082         * gst/gstquery.h:
11083         * gst/gstqueryutils.c:
11084         * gst/gstqueryutils.h:
11085           remove queryutils headers after moving the two used functions
11086           to gstquery.  also fixes build problem for gstsiddec
11087
11088 2005-09-26  Michael Smith <msmith@fluendo.com>
11089
11090         * tools/gst-launch.1.in:
11091         Correct documentation in manpage of debug syntax
11092
11093 2005-09-26  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11096         (gst_base_src_is_seekable), (gst_base_src_change_state):
11097         Some more debugging info.
11098
11099 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11100
11101         * docs/gst/gstreamer-sections.txt:
11102         * gst/base/gstbasetransform.h:
11103         * gst/gstindex.h:
11104           added more docs
11105
11106 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11107
11108         * docs/gst/.cvsignore:
11109         * docs/gst/tmpl/.cvsignore:
11110         * docs/gst/tmpl/gstpipeline.sgml:
11111         * docs/gst/tmpl/gstplugin.sgml:
11112         * gst/gstpipeline.c:
11113         * gst/gstplugin.c:
11114         * gst/gstplugin.h:
11115           inlined the last two docs files
11116           removed the tmpl directory from cvs (no more conflicts here!)
11117
11118 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11119
11120         * docs/gst/gstreamer-sections.txt:
11121         * docs/gst/tmpl/.cvsignore:
11122         * docs/gst/tmpl/gstpad.sgml:
11123         * docs/gst/tmpl/gstpadtemplate.sgml:
11124         * gst/Makefile.am:
11125         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11126         (gst_pad_finalize), (gst_pad_set_pad_template):
11127         * gst/gstpad.h:
11128         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11129         (gst_pad_template_class_init), (gst_pad_template_init),
11130         (gst_pad_template_dispose), (name_is_valid),
11131         (gst_static_pad_template_get), (gst_pad_template_new),
11132         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11133         (gst_pad_template_pad_created):
11134         * gst/gstpadtemplate.h:
11135           inlined two more docs
11136           factored gstpadtemplate out of gstpad
11137
11138 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11139
11140         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11141         (test_children_state_change_order_semi_sink):
11142           Fix test case: we can't rely on a fixed state change order when
11143           going from READY => PAUSED because the sink might commit its 
11144           new state first when the first buffer created by the source 
11145           reaches the sink before the source has finished its change state.
11146           (Test case still fails at times, see #316856, comment 5 onwards)
11147
11148 2005-09-24  Wim Taymans  <wim@fluendo.com>
11149
11150         * docs/design/part-events.txt:
11151         * docs/design/part-gstbus.txt:
11152         * docs/design/part-gstpipeline.txt:
11153         * docs/design/part-messages.txt:
11154         * docs/design/part-overview.txt:
11155         * docs/design/part-segments.txt:
11156         * gst/gstbin.c:
11157         * gst/gstbuffer.c:
11158         * gst/gstclock.c:
11159         * gst/gstelement.c:
11160         * gst/gstevent.c:
11161         * gst/gstfilter.c:
11162         * gst/gstiterator.c:
11163         Various documentation updates.
11164
11165 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * gst/gstclock.h:
11168           Well, that's embarassing.  Luckily we weren't using
11169           GST_CLOCK_DIFF anywhere.
11170
11171 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11172
11173         * common/gtk-doc.mak:
11174           don't fail on building XML, FC4 slave shows a bunch of doc
11175           missing bits that I don't get
11176         * gst/gstpad.c:
11177         * gst/gstpipeline.c:
11178         * gst/gststructure.c:
11179           some doc updates
11180
11181 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11182
11183         * docs/design/part-gstbin.txt:
11184         * docs/design/part-gstbus.txt:
11185         * gst/gstbus.c:
11186           Add blurb about how the bus goes into flushing mode and
11187           drops all messages when its bin goes from READY into NULL 
11188           state.
11189
11190 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * docs/gst/gstreamer-sections.txt:
11193         * gst/gststructure.c: (gst_structure_get_clock_time):
11194         * gst/gststructure.h:
11195           add a method to get a GstClockTime out of a structure
11196
11197 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11198
11199         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11200         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11201           Added test to check state change order in bins (can still be made
11202           to fail here under heavy disk load; bails out with 'Push on pad
11203           fakesink:sink0, but it was not activated in push mode').
11204
11205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11206           Fix state change order when there is only a semi sink (#316856)
11207
11208         * gst/gstbus.c: (gst_bus_class_init):
11209           Use _class_peek_parent(), not _class_ref(); fix docs to say
11210           'default main context' instead of 'mainloop' where that is
11211           what's meant.
11212
11213         * gst/gstelement.c: (gst_element_commit_state),
11214         (gst_element_set_state):
11215           Fix typos in debug messages
11216
11217 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * docs/README:
11220         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11221         * gst/gstpluginfeature.c:
11222         * gst/gstutils.c:
11223           various doc updates
11224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11225           change an assert into an error until it gets fixed properly
11226
11227 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11228
11229         * docs/gst/gstreamer-sections.txt:
11230         * docs/gst/tmpl/.cvsignore:
11231         * docs/gst/tmpl/gstelement.sgml:
11232         * docs/gst/tmpl/gstinfo.sgml:
11233         * docs/gst/tmpl/gstobject.sgml:
11234         * gst/gstelement.c:
11235         * gst/gstelement.h:
11236         * gst/gstinfo.c:
11237         * gst/gstinfo.h:
11238         * gst/gstobject.c: (gst_object_class_init):
11239         * gst/gstobject.h:
11240           inlined 3 more biiiig doc files and added some missing docs on the fly
11241
11242 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * check/gst/.cvsignore:
11245         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11246         * gst/gstregistryxml.c: (load_plugin),
11247         (gst_registry_xml_save_plugin):
11248           put back source in registry.  add checks for find_plugin.
11249         * testsuite/states/bin.c: (assert_state), (empty_bin),
11250         (test_adding_one_element), (main):
11251         * testsuite/states/locked.c: (main):
11252           some compile/run fixes
11253
11254 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11255
11256         * check/gst/gstvalue.c: (GST_START_TEST):
11257           fix leaks in the test itself
11258
11259 2005-09-22  Wim Taymans  <wim@fluendo.com>
11260
11261         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11262         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11263         (gst_base_sink_query):
11264         Prepare for more accurate position reporting and query
11265         handling.
11266
11267         * gst/gstelement.c: (gst_element_send_event),
11268         (gst_element_set_state):
11269         Add some comment.
11270
11271 2005-09-22  Wim Taymans  <wim@fluendo.com>
11272
11273         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11274         (gst_query_parse_segment):
11275         * gst/gstquery.h:
11276         More documentation.
11277         Add segment query for future use.
11278
11279 2005-09-22  Wim Taymans  <wim@fluendo.com>
11280
11281         * gst/gstbin.c: (gst_bin_add_func):
11282         Some more debug info.
11283
11284         * gst/gstelement.c: (gst_element_send_event):
11285         Simplify send_event
11286
11287         * gst/gstelement.h:
11288         Don't know how flags got broken.
11289
11290         * gst/gstquery.h:
11291         Added new query.
11292
11293 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11294
11295         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11296           Add simplistic test suite for GST_TYPE_DATE serialisation and
11297           deserialisation.
11298
11299 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         * docs/gst/gstreamer-sections.txt:
11302         * gst/gststructure.c: (gst_structure_set_valist),
11303         (gst_structure_get_date):
11304         * gst/gststructure.h:
11305         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11306         (gst_date_copy), (gst_value_compare_date),
11307         (gst_value_serialize_date), (gst_value_deserialize_date),
11308         (gst_value_transform_date_string),
11309         (gst_value_transform_string_date), (_gst_value_initialize):
11310         * gst/gstvalue.h:
11311           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11312           bunch of utility functions along with a hack that checks that
11313           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11314           is required. Part of the grand scheme in #170777.
11315
11316 2005-09-22  Andy Wingo  <wingo@pobox.com>
11317
11318         * gst/gstconfig.h.in: Psych out gtk-doc.
11319
11320         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11321
11322         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11323
11324         * tools/gst-inspect.c (print_element_list): Plug some
11325         inconsequential leaks.
11326
11327         * gst/gstregistry.c (gst_registry_get_default): Doc.
11328
11329         * check/gst/gstplugin.c: 
11330         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11331         * gst/gstelementfactory.c (gst_element_factory_create): 
11332         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11333         refcount changes.
11334
11335         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11336         (gst_plugin_feature_load): Doc, don't eat refs.
11337
11338         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11339         (gst_plugin_list_free): Doc.
11340         (gst_plugin_load_file): Doc updates.
11341
11342         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11343         accessors returning refcounted objects, return a ref.
11344
11345         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11346         accessor for caps. IDEMPOTENCE. Oh yes.
11347
11348 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11349
11350         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11353         (_gst_debug_register_funcptr):
11354           Add mutex to serialise access to the hash table with
11355           the function pointer => function name string mapping;
11356           make that hash table static scope (#316809).
11357
11358         * gst/registries/.cvsignore:
11359           Remove left-over file.
11360
11361 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11362
11363         * docs/pwg/appendix-porting.xml:
11364           And something about newsegment events and caps-on-buffers to
11365           the porting guide (feel free to improve).
11366
11367 2005-09-21  Andy Wingo  <wingo@pobox.com>
11368
11369         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11370         data and event probes on the same pad.
11371         (test_buffer_probe_once): Test that removing probes from within
11372         the probe functions works.
11373
11374 2005-09-21  Andy Wingo  <wingo@pobox.com>
11375
11376         * check/gst/gstutils.c: New file.
11377         (test_buffer_probe_n_times): A simple buffer probe test. More to
11378         come, foolios.
11379
11380         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11381         have-data::buffer, not have-data.
11382         (gst_pad_add_event_probe): Likewise for have-data::event.
11383         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11384         peer' isn't quite right yet though.
11385         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11386         (gst_pad_remove_data_probe): Change to take the guint handler_id
11387         as their arg, not the function+data, which is more glib-like.
11388
11389         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11390         the signal emission to indicate if the data is a buffer or an
11391         event.
11392         (gst_pad_get_type): Initialize buffer and event quarks.
11393         (gst_pad_class_init): have-data is now a detailed signal, yes it
11394         is.
11395
11396 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11399         * gst/gstutils.c: (gst_util_set_value_from_string),
11400         (gst_util_set_object_arg):
11401           Don't put functional code in g_return_if_fail() or
11402           g_return_val_if_fail() statements, otherwise things will 
11403           break when G_DISABLE_CHECKS is defined during compilation.
11404
11405 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11406
11407         * docs/gst/tmpl/.cvsignore:
11408         * docs/gst/tmpl/gstvalue.sgml:
11409         * gst/gstvalue.c:
11410         * gst/gstvalue.h:
11411           inlied another one and added  some obvious docs
11412
11413 2005-09-21  Wim Taymans  <wim@fluendo.com>
11414
11415         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11416         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11417         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11418         (gst_fdsrc_get_property), (gst_fdsrc_create):
11419         * gst/elements/gstfdsrc.h:
11420         Properly implement fdsrc. Removed signal and timeout,
11421         better implemented somewhere else.
11422
11423 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11424
11425         * docs/gst/tmpl/.cvsignore:
11426         * docs/gst/tmpl/gstimplementsinterface.sgml:
11427         * gst/gstinterface.c:
11428           inlined more docs
11429
11430 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11431
11432         * docs/gst/gstreamer-sections.txt:
11433         * docs/gst/tmpl/.cvsignore:
11434         * docs/gst/tmpl/gstenumtypes.sgml:
11435           remove obsolete doc file
11436
11437 2005-09-21  David Schleef  <ds@schleef.org>
11438
11439         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11440         little beer, fix a little leak.
11441
11442 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11443
11444         * docs/gst/gstreamer-docs.sgml:
11445         * docs/gst/gstreamer-sections.txt:
11446         * docs/gst/tmpl/.cvsignore:
11447         * gst/Makefile.am:
11448         * gst/gst.h:
11449         * gst/gstbin.c:
11450         * gst/gstelement.h:
11451         * gst/gstindex.c: (gst_index_class_init):
11452         * gst/gstindex.h:
11453         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11454         (gst_index_factory_class_init), (gst_index_factory_init),
11455         (gst_index_factory_finalize), (gst_index_factory_new),
11456         (gst_index_factory_destroy), (gst_index_factory_find),
11457         (gst_index_factory_create), (gst_index_factory_make):
11458         * gst/gstindexfactory.h:
11459         * gst/gstpluginfeature.c:
11460         * gst/gstpluginfeature.h:
11461         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11462           more docs inlined, splitted gstindex.{c,h}
11463
11464 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11465
11466         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11467           fix a leak
11468
11469 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11470
11471         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11472           Set sync to FALSE by default.
11473
11474 2005-09-20  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11477         (gst_base_sink_init):
11478         Make sync property settable from subclass.
11479
11480         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11481         (gst_fake_sink_change_state):
11482         Set sync to FALSE by default.
11483
11484 2005-09-20  Wim Taymans  <wim@fluendo.com>
11485
11486         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11487         * tools/gst-launch.c: (main):
11488         The timeout handler should have lower priority than the source
11489         so we don't timeout before popping a message with 0 timeout.
11490         Dump error messages after failed state change.
11491
11492 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11493
11494         * tools/gst-inspect.c: (print_element_properties_info):
11495           Fix two typos.
11496
11497 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11498
11499         * check/gst/gstevent.c:
11500         * gst/elements/gstfakesink.c:
11501         * gst/elements/gstfakesink.h:
11502           remove the sync property from fakesink.
11503           has the side effect of setting sync TRUE
11504           for fakesink, which is a change.  Anyone who knows how
11505           to fix this nicely in a GObject-y way, feel free.
11506
11507 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11508
11509         * docs/gst/gstreamer-docs.sgml:
11510           remove probe refsection
11511
11512 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11513
11514         * check/Makefile.am:
11515           disable valgrinding the controller test again
11516         * docs/gst/gstreamer-sections.txt:
11517           update for api-changes
11518
11519 2005-09-20  Wim Taymans  <wim@fluendo.com>
11520
11521         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11522         (gst_base_sink_set_property), (gst_base_sink_get_property),
11523         (gst_base_sink_do_sync):
11524         * gst/base/gstbasesink.h:
11525         Added sync property to basesink to disable clock sync.
11526
11527 2005-09-20  Andy Wingo  <wingo@pobox.com>
11528
11529         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11530         eating the caller's refcount.
11531
11532         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11533         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11534         refcount.
11535
11536         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11537         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11538         of GLib 2.8 public, so we can know which refcount to check in
11539         tests.
11540
11541         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11542         (gst_object_init): Only set the gst refcount if we're going ahead
11543         with the refcount hack.
11544
11545 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11546
11547         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11548         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11549           more leaks plumbed, added more debug-logging
11550         * gst/gstmacros.h:
11551           whitespace fix
11552
11553 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11554
11555         * gst/gstmessage.c:
11556           remove include of gstmemchunk.h
11557
11558 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11559
11560         * gst/gstclock.c: (_gst_clock_id_free):
11561           Commit from the Political Party For More Atomic CVS Commits,
11562           so that people don't waste too much of their day fishing
11563           out obvious leaks out of massive commits.
11564           Oh, and fix a pretty damn obvious leak in the memchunk
11565           removal code.
11566
11567 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11568
11569         * check/Makefile.am:
11570         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11571           plug mem-leak, re-add to valgrindable tests
11572
11573 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11574
11575         * gst/gstplugin.h:
11576           unbreak the build for those who have chronic arthritis
11577           and typing "make check" is just too taxing on the hands
11578
11579 2005-09-20  Andy Wingo  <wingo@pobox.com>
11580
11581         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11582         really want it out, you should fix plugins at the same time.
11583
11584 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11585
11586         * configure.ac:
11587         * docs/gst/gstreamer-sections.txt:
11588         * gst/gstobject.c:
11589           added missing symbols to api docs
11590           disable ref-count hack if we have glib >= 2.8
11591
11592 2005-09-19  David Schleef  <ds@schleef.org>
11593
11594         * docs/gst/Makefile.am: Ignore a few more internal headers
11595         * docs/gst/gstreamer-docs.sgml: Remove old sections
11596         * docs/gst/gstreamer-sections.txt: Remove old sections
11597         * docs/gst/tmpl/gstobject.sgml: update
11598         * docs/gst/tmpl/gstplugin.sgml: update
11599         * docs/gst/tmpl/gstpluginfeature.sgml: update
11600         * docs/random/ds/0.9-suggested-changes: update.
11601         * gst/Makefile.am: remove memchunk and trashstack, since they're
11602           not used.
11603         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11604         * gst/gst.h: don't include some headers
11605         * gst/gstchildproxy.c: add gstmarshal.h
11606         * gst/gstclock.c: Don't use memchunks
11607         * gst/gstminiobject.c: Add some docs
11608         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11609         * gst/gstobject.h: same
11610         * gst/gstplugin.c: include gstmacros.h
11611         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11612         * gst/gstquery.c: don't use memchunks
11613         * gst/gstregistry.c: rename gst_registry_deinit()
11614         * gst/gstregistry.h: same
11615
11616 2005-09-19  David Schleef  <ds@schleef.org>
11617
11618         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11619         * docs/libs/gstreamer-libs-sections.txt:
11620         * docs/libs/tmpl/gstgetbits.sgml:
11621         * docs/libs/tmpl/gstputbits.sgml:
11622
11623 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11624
11625         * win32/gstenumtypes.c:
11626         * win32/gstenumtypes.h:
11627           Update.
11628
11629 2005-09-19  Wim Taymans  <wim@fluendo.com>
11630
11631         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11632         Automatically PAUSE and RESUME a pipeline when a flushing seek
11633         is performed.
11634
11635 2005-09-19  Andy Wingo  <wingo@pobox.com>
11636
11637         * gst/gstregistry.h: Spacing fixen.
11638
11639 2005-09-19  Wim Taymans  <wim@fluendo.com>
11640
11641         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11642         Handle state change failure more correctly.
11643
11644 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11645
11646         * check/Makefile.am:
11647         * check/pipelines/cleanup.c: (run_pipeline):
11648         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11649         (GST_START_TEST):
11650           enable cleanup again after fixing the leak
11651         * docs/README:
11652           some more info on docs
11653
11654 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11655
11656         * check/Makefile.am:
11657           re-enable tests now that leaks are plugged
11658         * check/gst/gst.c:
11659         * check/gst/gstbin.c:
11660         * check/gst/gstpipeline.c:
11661           add some more tests while fixing leaks
11662         * common/check.mak:
11663           make sure binaries are uptodate when valgrinding/gdbing
11664         * gst/gst.c:
11665         * gst/gstelementfactory.c:
11666           remove a ref too many, and add a FIXME for when we get
11667           round to disposing of classes
11668         * gst/gstplugin.c:
11669           fix the refcounting when loading a plugin from a file and
11670           the code pretends that the pointer is the same even though
11671           of course it can change
11672         * gst/gstpluginfeature.c:
11673           unref plugins marked cached (a bit confusing as a name)
11674           as the docs state should be done
11675           various doc additions to explain refcounting
11676         * gst/gstregistry.c:
11677         * gst/gstregistryxml.c:
11678           debugging
11679
11680 2005-09-19  Wim Taymans  <wim@fluendo.com>
11681
11682         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11683         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11684         (send_messages), (GST_START_TEST), (gstbus_suite):
11685         * check/gst/gstpipeline.c: (GST_START_TEST):
11686         * check/pipelines/cleanup.c: (run_pipeline):
11687         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11688         (GST_START_TEST):
11689         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11690         (gst_bus_source_check), (gst_bus_source_dispatch),
11691         (gst_bus_create_watch), (gst_bus_add_watch_full),
11692         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11693         * gst/gstbus.h:
11694         * tools/gst-launch.c: (event_loop):
11695         * tools/gst-md5sum.c: (event_loop):
11696         GstBusHandler -> GstBusFunc, return value has the same meaning as
11697         any other GSource (FALSE == remove source).
11698         _add_watch() and _add_watch_full() now take a MessageType mask to
11699         only handle specific types of messages.
11700         _poll() returns the GstMessage instead of the message type to avoid
11701         race conditions.
11702         _have_pending() takes a MessageType mask now too.
11703         Added testsuite for multiple bus watches.
11704         Fix testsuites and applications for new bus API.
11705
11706 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11707
11708         * check/Makefile.am:
11709           mark a bunch of the tests as to fix until we fix them
11710
11711 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11712
11713         * common/check.mak:
11714           use GST_PLUGIN settings for valgrind tests as well, so we're
11715           valgrinding the correct thing
11716         * gst/gst.c: (init_post):
11717           plug another leak
11718
11719 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11720
11721         * gst/gst.c: (init_post), (gst_deinit):
11722         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11723         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11724         * gst/gstindex.c: (gst_index_factory_class_init),
11725         (gst_index_factory_finalize):
11726         * gst/gstobject.c: (gst_object_dispose):
11727         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11728         (gst_plugin_load_file), (gst_plugin_desc_free):
11729         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11730         (gst_plugin_feature_finalize):
11731         * gst/gstregistry.c: (gst_registry_class_init),
11732         (gst_registry_init), (gst_registry_finalize),
11733         (gst_registry_get_default), (gst_registry_deinit):
11734         * gst/gstregistry.h:
11735         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11736           various cleanups and memleak plugging.  make valgrind is happy now.
11737
11738 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11739
11740         * common/check.mak:
11741           add a check-valgrind target
11742
11743 2005-09-18  David Schleef  <ds@schleef.org>
11744
11745         * tools/gst-inspect.c: Revert the GOption code.
11746
11747 2005-09-17  David Schleef  <ds@schleef.org>
11748
11749         * check/Makefile.am: Fix environment variables.
11750         * check/gst/gstplugin.c: Fix for API changes.
11751         * tools/gst-inspect.c: Fix for API changes.
11752         * tools/gst-xmlinspect.c: Fix for API changes.
11753         * gst/gstelementfactory.c:
11754         * gst/gstplugin.c:
11755         * gst/gstplugin.h:
11756         * gst/gstpluginfeature.c:
11757         * gst/gstpluginfeature.h:
11758         * gst/gstregistry.c:
11759         * gst/gstregistry.h:
11760         * gst/gstregistryxml.c:
11761         * gst/gsttypefind.c:
11762         * gst/gsttypefindfactory.c:
11763         * gst/indexers/gstfileindex.c:
11764         * gst/indexers/gstmemindex.c:
11765         * gst/schedulers/Makefile.am:
11766           Change registry to keep track of both plugins and features,
11767           removing the feature tracking from plugins themselves.
11768
11769 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11770
11771         * check/Makefile.am:
11772         * tools/gst-register.1.in:
11773           remove gst-register
11774
11775 2005-09-15  David Schleef  <ds@schleef.org>
11776
11777         * check/gst/gstplugin.c:
11778         * gst/gstelementfactory.c:
11779         * gst/gstplugin.c:
11780         * gst/gstpluginfeature.c:
11781         * gst/gstregistry.c:
11782           Getting tired of debugging.  Disabled all the unreffing of
11783           plugins and features, which fixes the segfaults, but of
11784           course leaks like crazy.  At least playbin works.
11785
11786 2005-09-15  David Schleef  <ds@schleef.org>
11787
11788         * check/gst/gstplugin.c: (register_check_elements),
11789         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11790         More testing
11791         * gst/elements/gsttypefindelement.c: Fix refcounting.
11792         * gst/gsttypefind.c:
11793         * gst/gsttypefindfactory.c:
11794         * gst/gsttypefindfactory.h:
11795
11796 2005-09-15  David Schleef  <ds@schleef.org>
11797
11798         * gst/gstindex.c: get refcounting correct.
11799         * gst/gstregistry.c: Handle the case where a feature/plugin is
11800           not found.
11801
11802 2005-09-15  David Schleef  <ds@schleef.org>
11803
11804         * check/Makefile.am:
11805         * check/gst/gstplugin.c: Add test
11806         * gst/gstplugin.c: Fix problems noticed by testsuite
11807         * gst/gstplugin.h:
11808         * gst/gstregistry.c: 
11809         * gst/gstregistry.h:
11810
11811 2005-09-15  David Schleef  <ds@schleef.org>
11812
11813         * gst/gstplugin.c: Implement semi-decent recounting and locking
11814           in plugins and plugin features.
11815         * gst/gstplugin.h:
11816         * gst/gstpluginfeature.c:
11817         * gst/gstpluginfeature.h:
11818         * gst/gstregistry.c:
11819
11820 2005-09-15  Michael Smith <msmith@fluendo.com>
11821
11822         * gst/gstregistry.c: (gst_registry_get_feature_list):
11823           Implement this. Makes oggdemux work; decodebin still broken.
11824
11825 2005-09-14  David Schleef  <ds@schleef.org>
11826
11827         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11828           #316076)
11829         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11830         * gst/check/Makefile.am:
11831         * libs/gst/controller/Makefile.am:
11832         * libs/gst/dataprotocol/Makefile.am:
11833
11834 2005-09-14  David Schleef  <ds@schleef.org>
11835
11836         * configure.ac: Remove getbits library.  Nothing uses it, and
11837           it should be in something like liboil if someone did want
11838           to use it.
11839         * libs/gst/Makefile.am:
11840         * libs/gst/getbits/Makefile.am:
11841         * libs/gst/getbits/gbtest.c:
11842         * libs/gst/getbits/getbits.c:
11843         * libs/gst/getbits/getbits.h:
11844         * libs/gst/getbits/gstgetbits_generic.c:
11845         * libs/gst/getbits/gstgetbits_i386.s:
11846         * libs/gst/getbits/gstgetbits_inl.h:
11847
11848 2005-09-14  David Schleef  <ds@schleef.org>
11849
11850         * gst/Makefile.am: Dist glib-compat.h
11851
11852 2005-09-14  David Schleef  <ds@schleef.org>
11853
11854         * configure.ac: Remove gst/registries, since it's no longer used.
11855         * gst/registries/Makefile.am:
11856         * gst/registries/gstlibxmlregistry.c:
11857         * gst/registries/gstlibxmlregistry.h:
11858         * gst/registries/gstxmlregistry.c:
11859         * gst/registries/gstxmlregistry.h:
11860         * gst/registries/registrytest.c:
11861
11862 2005-09-14  David Schleef  <ds@schleef.org>
11863
11864         * gst/glib-compat.h:
11865         * gst/gstregistryxml.c:
11866           Convergence is near.  Seriously.
11867
11868 2005-09-14  David Schleef  <ds@schleef.org>
11869
11870         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11871         * gst/glib-compat.h:
11872           Attempt #4 to appease the buildbots.
11873
11874 2005-09-14  David Schleef  <ds@schleef.org>
11875
11876         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11877           Attempt #3.
11878
11879 2005-09-14  David Schleef  <ds@schleef.org>
11880
11881         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11882         Attempt #2.
11883
11884 2005-09-14  David Schleef  <ds@schleef.org>
11885
11886         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11887           the new functions.
11888
11889 2005-09-14  David Schleef  <ds@schleef.org>
11890
11891         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11892         * gst/glib-compat.h: Add some functions that are in newer versions
11893           of glib than we care to require.
11894         * gst/gstregistryxml.c: Use them.
11895
11896 2005-09-14  David Schleef  <ds@schleef.org>
11897
11898         * po/POTFILES.in: remove gst-register.c
11899
11900 2005-09-14  David Schleef  <ds@schleef.org>
11901
11902         * docs/gst/gstreamer-docs.sgml:
11903         * docs/gst/gstreamer-sections.txt:
11904         * docs/gst/gstreamer.types:
11905         * docs/gst/tmpl/gstelement.sgml:
11906         * docs/gst/tmpl/gstplugin.sgml:
11907         * docs/gst/tmpl/gstpluginfeature.sgml:
11908           Documentation updates for registry changes.
11909
11910 2005-09-14  David Schleef  <ds@schleef.org>
11911
11912         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11913           because we don't require glib-2.8.
11914
11915 2005-09-14  David Schleef  <ds@schleef.org>
11916
11917         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11918           registries directory.
11919
11920 2005-09-14  David Schleef  <ds@schleef.org>
11921
11922         * check/Makefile.am:
11923         * check/generic/states.c:
11924         * gst/Makefile.am:
11925         * gst/gst.c:
11926         * gst/gst.h:
11927         * gst/gst_private.h:
11928         * gst/gstelementfactory.c:
11929         * gst/gstindex.c:
11930         * gst/gstinfo.c:
11931         * gst/gstplugin.c:
11932         * gst/gstplugin.h:
11933         * gst/gstpluginfeature.c:
11934         * gst/gstpluginfeature.h:
11935         * gst/gstregistry.c:
11936         * gst/gstregistry.h:
11937         * gst/gstregistrypool.c: remove
11938         * gst/gstregistrypool.h: remove
11939         * gst/gsttypefind.c:
11940         * gst/gsttypefindfactory.c:
11941         * gst/gsturi.c:
11942         * tools/Makefile.am:
11943         * tools/gst-compprep.c:
11944         * tools/gst-inspect.c:
11945         * tools/gst-register.c: remove
11946         * tools/gst-xmlinspect.c:
11947           Registry rewrite.  Changes registry from being a file created
11948           by a tool into a simple cache file created automatically by 
11949           libgstreamer.  Removed gst-register (because it's no longer
11950           needed).  Remove registry pools, because we only have one
11951           registry implementation (XML).  Fix up other subsystems as
11952           necessary.
11953
11954 2005-09-13  Michael Smith <msmith@fluendo.com>
11955
11956         * gst/gstconfig.h.in:
11957           Don't Use windows linking attributes for MinGW. Fixes #316157
11958
11959 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11960
11961         * gst/gstutils.c: (set_state_async_thread_func),
11962         (gst_element_set_state_async):
11963           Apparently people think it's better if this function doesn't
11964           try to set the state to whatever state was asked for on the first
11965           call to this function for any object.  Seriously.
11966
11967 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11968
11969         * check/gst/gstpipeline.c: (GST_START_TEST):
11970         * docs/gst/gstreamer-sections.txt:
11971         * gst/gstutils.c: (set_state_async_thread_func),
11972         (gst_element_set_state_async):
11973         * gst/gstutils.h:
11974           add a "gst_element_set_state_async" method that
11975           sets the state and starts a thread to make sure the state
11976           change completes as best as it can
11977
11978 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11979
11980         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11981           codify design+behaviour in testsuite after discussion
11982
11983 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11984
11985         * docs/gst/tmpl/gstelement.sgml:
11986         * docs/manual/appendix-quotes.xml:
11987           add a quote
11988         * gst/gstelement.c: (gst_element_set_state):
11989           add some debug
11990
11991 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11992
11993         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11994         (gst_base_transform_prepare_output_buf),
11995         (gst_base_transform_handle_buffer):
11996         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11997         (gst_capsfilter_prepare_buf):
11998           Remove the requirement for sub-classes to call the parent
11999           implementation of prepare_output_buffer with a wrapper function.
12000           
12001         * gst/gsttaglist.h:
12002         * gst/gsttagsetter.h:
12003           Fix #define wrapper
12004
12005 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12006
12007         * docs/gst/gstreamer-sections.txt:
12008           more doc cleanups
12009
12010 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * docs/gst/gstreamer-sections.txt:
12013         * docs/gst/tmpl/gstelement.sgml:
12014         * docs/gst/tmpl/gstplugin.sgml:
12015         * gst/gstminiobject.c:
12016         * gst/gstvalue.h:
12017           docs now stop throwing warnings
12018
12019 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12020
12021         * docs/gst/gstreamer-sections.txt:
12022         * docs/gst/gstreamer.types:
12023         * docs/gst/tmpl/gstpad.sgml:
12024         * docs/gst/tmpl/gsttypes.sgml:
12025         * gst/base/gstadapter.h:
12026         * gst/base/gstbasesink.h:
12027         * gst/base/gstbasesrc.h:
12028         * gst/gstbin.h:
12029         * gst/gstbuffer.h:
12030         * gst/gstbus.h:
12031         * gst/gstcaps.h:
12032         * gst/gstclock.h:
12033         * gst/gstelement.h:
12034         * gst/gstevent.h:
12035         * gst/gstmessage.h:
12036         * gst/gstpad.h:
12037         * gst/gststructure.c:
12038         * gst/registries/gstlibxmlregistry.h:
12039           various documentation fixes
12040
12041 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12042
12043         * docs/gst/gstreamer-sections.txt:
12044         * docs/gst/tmpl/gstvalue.sgml:
12045           rearrange gstvalue section
12046         * gst/gstutils.c: (gst_element_state_get_name):
12047           NONE -> VOID
12048         * gst/gstvalue.c: (_gst_value_initialize):
12049         * gst/gstvalue.h:
12050           doc updates
12051
12052 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12053
12054         * check/gst-libs/controller.c:
12055           Header include fix.
12056         * gst/base/gstbasetransform.c:
12057         (gst_base_transform_default_prepare_buf),
12058         (gst_base_transform_handle_buffer):
12059         * gst/base/gstbasetransform.h:
12060           Some more basetransform changes and fixes to enable sub-classes
12061           that modify buffer metadata only.
12062         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12063         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12064         (gst_capsfilter_prepare_buf):
12065           If the output pad has fixed allowed caps and input buffers 
12066           don't have any, set the fixed caps on outgoing buffers.
12067
12068 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12069         * check/elements/identity.c: (GST_START_TEST):
12070           Make the error a little clearer when the test fails because
12071           identity made a copy of the buffer.
12072         * docs/gst/gstreamer-sections.txt:
12073           New symbols in gstbasetransform.h
12074         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12075         (gst_base_transform_init), (gst_base_transform_transform_size),
12076         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12077         (gst_base_transform_default_prepare_buf),
12078         (gst_base_transform_get_unit_size),
12079         (gst_base_transform_buffer_alloc),
12080         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12081         (gst_base_transform_change_state),
12082         (gst_base_transform_set_passthrough),
12083         (gst_base_transform_set_in_place),
12084         (gst_base_transform_is_in_place):
12085         * gst/base/gstbasetransform.h:
12086           Change BaseTransform to separate in_place operate from same_caps
12087           output. in_place implies that the element can perform the transform
12088           on incoming buffers in-place, even if the caps on the output are
12089           different.
12090           Sub-class elements can now implement special buffer allocation
12091           methods for outgoing buffers if they wish to.
12092           Big documentation addition.
12093         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12094         * gst/elements/gstelements.c:
12095           Changes for basetransform modifications.
12096         * gst/elements/Makefile.am:
12097         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12098           Compile fix. Extra debug output.
12099
12100 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12101
12102         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12103         (gst_pad_suite):
12104           add tests for valid pad naming
12105         * gst/check/gstcheck.c: (gst_check_log_message_func),
12106         (gst_check_log_critical_func):
12107           add ASSERT_WARNING
12108           remove printing of code, it is fragile when the code contains
12109           % and the line number is enough info
12110         * gst/check/gstcheck.h:
12111         * gst/gstpad.c: (gst_pad_template_new):
12112           fix memleaks
12113
12114 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12115
12116         * configure.ac:
12117           say what CHECK flags we use
12118         * docs/libs/gstreamer-libs.types:
12119         * libs/gst/controller/Makefile.am:
12120         * libs/gst/controller/gst-controller.c:
12121         * libs/gst/controller/gst-controller.h:
12122         * libs/gst/controller/gst-helper.c:
12123         * libs/gst/controller/gst-interpolation.c:
12124         * libs/gst/controller/gstcontroller.c:
12125         * libs/gst/controller/gsthelper.c:
12126         * libs/gst/controller/gstinterpolation.c:
12127         * tools/gst-inspect.c: (print_plugin_info):
12128           we don't use dashes in header names
12129
12130 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12131
12132         * check/Makefile.am:
12133         * check/gst/.cvsignore:
12134         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12135         (gst_pipeline_suite), (main):
12136           adding a test for pipelines and state changes
12137         * gst/gstutils.c: (get_state_func):
12138           add some debugging
12139         * gstreamer.spec.in:
12140           fix up spec file
12141
12142 2005-09-08  Michael Smith <msmith@fluendo.com>
12143
12144         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12145         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12146         (gst_file_src_is_seekable), (gst_file_src_get_size),
12147         (gst_file_src_start):
12148         * gst/elements/gstfilesrc.h:
12149           Various fixes for unseekable, unmmapable, and non-normal files, so
12150           that fallback to read() rather than mmap() works.
12151         * gst/gstevent.c: (gst_event_new_newsegment):
12152           Allow newsegment events with segment_start == segment_end, as will
12153           correctly happen if you use filesrc on a zero-size file, for
12154           example.
12155
12156 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12157
12158         * gst/gstplugin.c: (gst_plugin_load_file):
12159           Call g_module_close when we don't load the module
12160
12161         * gst/registries/gstlibxmlregistry.c:
12162         (gst_xml_registry_get_property):
12163           Port leak fix from 0.8
12164
12165 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12166
12167         * docs/gst/gstreamer-docs.sgml:
12168         * docs/gst/tmpl/.cvsignore:
12169         * docs/gst/tmpl/gsttrace.sgml:
12170         * docs/gst/tmpl/gsttrashstack.sgml:
12171         * gst/Makefile.am:
12172         * gst/gst.h:
12173         * gst/gstelement.h:
12174         * gst/gstevent.h:
12175         * gst/gstmessage.c:
12176         * gst/gstmessage.h:
12177         * gst/gsttag.c:
12178         * gst/gsttag.h:
12179         * gst/gsttaginterface.c:
12180         * gst/gsttaginterface.h:
12181         * gst/gsttaglist.c:
12182         * gst/gsttaglist.h:
12183         * gst/gsttagsetter.c:
12184         * gst/gsttagsetter.h:
12185         * gst/gsttrace.c:
12186         * gst/gsttrace.h:
12187         * gst/gsttrashstack.c:
12188           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12189           inlined docs for gsttrace, gsttrashstack
12190
12191 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12192
12193         * gst/Makefile.am:
12194         * gst/elements/gstbufferstore.h:
12195         * gst/elements/gsttypefindelement.c:
12196         * gst/elements/gsttypefindelement.h:
12197         * gst/gst.h:
12198         * gst/gsttypefind.c:
12199         * gst/gsttypefind.h:
12200         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12201         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12202         (gst_type_find_factory_dispose),
12203         (gst_type_find_factory_unload_thyself),
12204         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12205         (gst_type_find_factory_get_caps),
12206         (gst_type_find_factory_get_extensions),
12207         (gst_type_find_factory_call_function):
12208         * gst/gsttypefindfactory.h:
12209         * gst/registries/gstlibxmlregistry.c:
12210         * gst/registries/gstxmlregistry.c:
12211           splitted gsttypefind into gsttypefind, gsttypefindfactory
12212
12213 2005-09-07  Andy Wingo  <wingo@pobox.com>
12214
12215         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12216         condition whereby the pad's task function is entered before the
12217         pad_mode variable was set.
12218
12219 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12220
12221         * gst/gstpad.c: (gst_pad_alloc_buffer):
12222           Catch misbehaving pad_alloc functions that don't
12223           set up caps and do it for them.
12224
12225 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12226
12227         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12228           test for pipe!=NULL
12229         * docs/gst/tmpl/.cvsignore:
12230         * docs/gst/tmpl/gstmemchunk.sgml:
12231         * docs/gst/tmpl/gstparse.sgml:
12232         * docs/gst/tmpl/gsttaglist.sgml:
12233         * docs/gst/tmpl/gsttagsetter.sgml:
12234         * docs/gst/tmpl/gsttypefind.sgml:
12235         * docs/gst/tmpl/gsttypefindfactory.sgml:
12236         * gst/gstmemchunk.c:
12237         * gst/gstparse.c:
12238         * gst/gsttag.c:
12239         * gst/gsttaginterface.c:
12240         * gst/gsttypefind.c:
12241         * gst/gsttypefind.h:
12242           inlined more docs
12243
12244 === release 0.9.2 ===
12245
12246 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12247
12248         * NEWS:
12249         * RELEASE:
12250         * configure.ac:
12251           releasing 0.9.2, "South"
12252
12253 2005-09-05  Andy Wingo  <wingo@pobox.com>
12254
12255         * gst/registries/gstxmlregistry.h:
12256         * gst/registries/gstxmlregistry.c: Um... resurrect...
12257         
12258         * gst/registries/gstxmlregistry.h:
12259         * gst/registries/gstxmlregistry.c: and update to newer API.
12260         Incidentally they should be a bit faster now that they don't have
12261         to parse the caps.
12262         
12263 2005-09-05  Andy Wingo  <wingo@pobox.com>
12264
12265         * gst/registries/gstxmlregistry.h:
12266         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12267         replaced by the libxml registry a while back
12268
12269 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12270
12271         * docs/gst/tmpl/gstplugin.sgml:
12272         * gst/elements/gstelements.c:
12273         * gst/gst.c:
12274         * gst/gstplugin.c: (gst_plugin_register_func),
12275         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12276         (gst_plugin_get_source):
12277         * gst/gstplugin.h:
12278         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12279         (gst_xml_registry_save_plugin):
12280         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12281         (gst_xml_registry_save_plugin):
12282         * tools/gst-inspect.c: (print_plugin_info):
12283           add a "source" plugin description field, to represent the source
12284           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12285           will set it to PACKAGE, which is automake's idea of the name of
12286           the source project.
12287
12288 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * Makefile.am:
12291         * autogen.sh:
12292         * configure.ac:
12293         * docs/Makefile.am:
12294         * docs/faq/Makefile.am:
12295         * docs/gst/tmpl/gstelement.sgml:
12296         * docs/gst/tmpl/gsttypes.sgml:
12297         * docs/htmlinstall.mak:
12298         * docs/manual/Makefile.am:
12299         * docs/pwg/Makefile.am:
12300           reorganize doc build a little
12301           split out docbook and gtk-doc stuff
12302           have two separate --enable's and enable them through autogen
12303           but disable by default in configure (to be similar to other
12304           projects)
12305         * gstreamer.spec.in:
12306           clean up docs install
12307         * po/af.po:
12308         * po/az.po:
12309         * po/ca.po:
12310         * po/cs.po:
12311         * po/de.po:
12312         * po/en_GB.po:
12313         * po/fr.po:
12314         * po/it.po:
12315         * po/nb.po:
12316         * po/nl.po:
12317         * po/ru.po:
12318         * po/sq.po:
12319         * po/sr.po:
12320         * po/sv.po:
12321         * po/tr.po:
12322         * po/uk.po:
12323         * po/vi.po:
12324           translation updates
12325
12326 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12327
12328         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12329           Add comment.
12330           
12331         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12332         (gst_fake_sink_change_state):
12333           Make state change function thread-safe.
12334           
12335         * gst/gstpad.c: (gst_pad_alloc_buffer):
12336           Set offset on generic buffer allocated by fallback.
12337
12338 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12339
12340         * docs/gst/gstreamer-sections.txt:
12341         * docs/gst/tmpl/gstelement.sgml:
12342         * gst/gstpad.c:
12343         * libs/gst/controller/gst-controller.c:
12344         (gst_controlled_property_set_interpolation_mode),
12345         (gst_controlled_property_new),
12346         (gst_controller_find_controlled_property):
12347          run the wingo-magic script against the docs
12348
12349 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12350
12351         * docs/gst/gstreamer-docs.sgml:
12352         * docs/gst/gstreamer-sections.txt:
12353         * docs/gst/tmpl/.cvsignore:
12354         * docs/gst/tmpl/gstelementdetails.sgml:
12355         * docs/gst/tmpl/gstelementfactory.sgml:
12356         * gst/gst.c:
12357         * gst/gstbus.c:
12358         * gst/gstelementfactory.c:
12359         * gst/gstelementfactory.h:
12360           merged elementdetails docs into elementfactory docs
12361           inlined both
12362
12363 2005-09-02  Andy Wingo  <wingo@pobox.com>
12364
12365         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12366         consider this enum an enum and not a flags.
12367
12368 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12369
12370         * docs/gst/gstreamer-docs.sgml:
12371         * docs/gst/tmpl/.cvsignore:
12372         * docs/gst/tmpl/gstghostpad.sgml:
12373         * docs/gst/tmpl/gstiterator.sgml:
12374         * docs/gst/tmpl/gstmacros.sgml:
12375         * docs/gst/tmpl/gstrealpad.sgml:
12376         * docs/gst/tmpl/gstregistry.sgml:
12377         * docs/gst/tmpl/gstregistrypool.sgml:
12378         * docs/gst/tmpl/gststructure.sgml:
12379         * docs/gst/tmpl/gstsystemclock.sgml:
12380         * docs/gst/tmpl/gsttrace.sgml:
12381         * gst/gstghostpad.c:
12382         * gst/gstmacros.h:
12383         * gst/gstmemchunk.c:
12384         * gst/gstmemchunk.h:
12385         * gst/gstqueue.c:
12386         * gst/gstregistry.c:
12387         * gst/gstregistrypool.c:
12388         * gst/gststructure.c:
12389         * gst/gstsystemclock.c:
12390           more docs inlined
12391
12392 2005-09-02  Andy Wingo  <wingo@pobox.com>
12393
12394         * gst/gstelement.h (GstState): Renamed from GstElementState,
12395         changed to be a normal enum instead of flags.
12396         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12397         munged to be GST_STATE_CHANGE_*.
12398         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12399         work with the new state representation.
12400         (GstStateChange): New enumeration of possible state transitions.
12401         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12402         (GstElementClass::change_state): Pass the GstStateChange along as
12403         an argument. Helps language bindings, so they don't have to use
12404         tricky lock-needing macros like GST_STATE_CHANGE ().
12405
12406         * scripts/update-states (file): New script. Run it on a file to
12407         update it for state naming and API changes. Updates files in
12408         place.
12409
12410         * All files updated for the new API.
12411
12412 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12413
12414         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12415         * gst/gstutils.c: (gst_util_set_value_from_string),
12416         (gst_util_set_object_arg):
12417           fix a bunch of unchecked return values
12418         * tools/gst-complete.c: (main):
12419         * gstreamer.spec.in:
12420           clean up a little
12421
12422 2005-09-01  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12425         (gst_base_sink_event), (gst_base_sink_do_sync),
12426         (gst_base_sink_handle_event):
12427         * gst/base/gstbasesink.h:
12428         Handle newsegments more correctly.
12429
12430         * gst/gstbus.c:
12431         Fix docs.
12432
12433         * gst/gstevent.c: (gst_event_new_newsegment):
12434         A newsegment cannot have a start_time of -1
12435
12436 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12437
12438         * win32/gstenumtypes.c:
12439         * win32/gstenumtypes.h:
12440           Update
12441
12442 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12443
12444         * libs/gst/controller/gst-controller.c:
12445         (gst_controlled_property_set_interpolation_mode),
12446         (gst_controlled_property_new):
12447          fixed boolean again
12448
12449 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12450
12451         * docs/faq/gst-uninstalled:
12452           add -good
12453         * gst/gstevent.c:
12454         * gst/gstevent.h:
12455           remove wrong docs
12456         * gst/gstutils.c: (gst_element_link_filtered):
12457         * gst/gstutils.h:
12458           add gst_element_link_filtered
12459
12460 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12461
12462         * docs/gst/gstreamer-docs.sgml:
12463         * docs/gst/gstreamer-sections.txt:
12464         * docs/gst/tmpl/.cvsignore:
12465         * docs/gst/tmpl/gsterror.sgml:
12466         * docs/gst/tmpl/gstfilter.sgml:
12467         * docs/gst/tmpl/gsturihandler.sgml:
12468         * docs/gst/tmpl/gsturitype.sgml:
12469         * docs/gst/tmpl/gstutils.sgml:
12470         * docs/gst/tmpl/gstxml.sgml:
12471         * gst/gsterror.c:
12472         * gst/gsterror.h:
12473         * gst/gstfilter.c:
12474         * gst/gsturi.c:
12475         * gst/gsturitype.c:
12476         * gst/gstutils.c:
12477         * gst/gstxml.c:
12478           inlined more docs, fixed double id-ref
12479
12480 2005-08-31  Wim Taymans  <wim@fluendo.com>
12481
12482         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12483         (gst_base_transform_handle_buffer):
12484         Passthrough elements don't need the caps as they don't care.
12485
12486 2005-08-31  Wim Taymans  <wim@fluendo.com>
12487
12488         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12489         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12490         Don't leak refcounts on buffers.
12491
12492 2005-08-31  Wim Taymans  <wim@fluendo.com>
12493
12494         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12495         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12496         (gst_base_transform_chain), (gst_base_transform_change_state):
12497         * gst/base/gstbasetransform.h:
12498         Handle the case where we are not negotiated more gracefully.
12499
12500 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12501
12502         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12503         (gst_file_src_map_region):
12504           Set READONLY flag on mmap'ed buffers, otherwise
12505           gst_buffer_make_writable() won't work properly (#314708).
12506
12507 2005-08-31  Wim Taymans  <wim@fluendo.com>
12508
12509         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12510         passthrough elements can even do inplace on non writable
12511         buffers (as they don't touch them).
12512
12513 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12514
12515         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12516         (gst_test_mono_source_set_property),
12517         (gst_test_mono_source_class_init), (GST_START_TEST),
12518         (gst_controller_suite):
12519           more tests (hehe I have the most)
12520         * gst/gstbus.c:
12521           describe popping messages whenusing mulltiple sources
12522         * libs/gst/controller/gst-controller.c:
12523         (gst_controlled_property_set_interpolation_mode),
12524         (gst_controlled_property_new):
12525         * libs/gst/controller/gst-controller.h:
12526         * libs/gst/controller/gst-interpolation.c:
12527           implement boolean properties
12528
12529 2005-08-31  Wim Taymans  <wim@fluendo.com>
12530
12531         * gst/gstminiobject.c: (gst_mini_object_ref):
12532         Cannot assert that the refcount has to be positive
12533         since a disposed object can be resurrected.
12534
12535 2005-08-31  Wim Taymans  <wim@fluendo.com>
12536
12537         * gst/gstpad.c: (gst_pad_init):
12538         Revert change, need to first fix badly behaving 
12539         apps.
12540
12541 2005-08-30  Wim Taymans  <wim@fluendo.com>
12542
12543         * check/elements/fakesrc.c: (setup_fakesrc):
12544         * check/elements/identity.c: (setup_identity):
12545         Activate pads before using them.
12546
12547 2005-08-30  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/base/gstadapter.c: (gst_adapter_flush):
12550         Flushing out 0 bytes is ok for this function.
12551
12552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12553         no newsegment gives a warning and sets the start/stop to 
12554         invalid.
12555
12556         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12557         (gst_base_transform_set_passthrough):
12558         Some debug info.
12559
12560         * gst/gstminiobject.c: (gst_mini_object_ref):
12561         Check refcount here too.
12562
12563         * gst/gstpad.c: (gst_pad_init):
12564         Pads are initially flushing and refusing data.
12565
12566         * gst/gstutils.c: (gst_element_link_pads_filtered):
12567         When adding a capsfilter element make sure it has the
12568         same state as the parent bin.
12569
12570 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12571
12572         * docs/gst/tmpl/.cvsignore:
12573         * docs/gst/tmpl/gstformat.sgml:
12574         * docs/gst/tmpl/gstversion.sgml:
12575         * gst/gstbus.h:
12576         * gst/gstformat.c:
12577         * gst/gstformat.h:
12578         * gst/gstversion.h.in:
12579           more docs and two more inlined
12580
12581 2005-08-30  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12584         Don't sync to clock.
12585
12586 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12587
12588         * docs/gst/gstreamer-sections.txt:
12589           ultral33t func10ns deserve to appear in the docs actually
12590         * docs/gst/tmpl/.cvsignore:
12591         * docs/gst/tmpl/gstcompat.sgml:
12592         * docs/gst/tmpl/gstconfig.sgml:
12593         * gst/check/gstcheck.c:
12594         * gst/gstcompat.h:
12595         * gst/gstconfig.h.in:
12596           inlined more docs
12597
12598 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12599
12600         * docs/gst/tmpl/.cvsignore:
12601         * docs/gst/tmpl/gstquery.sgml:
12602         * docs/gst/tmpl/gstutils.sgml:
12603         * gst/gstquery.c:
12604         * gst/gstquery.h:
12605           inlined and extended docs
12606
12607 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12608
12609         * check/gst-libs/controller.c: (GST_START_TEST),
12610         (gst_controller_suite):
12611           more tests
12612         * docs/gst/tmpl/gstutils.sgml:
12613         * docs/libs/gstreamer-libs-sections.txt:
12614         * docs/libs/tmpl/gstdataprotocol.sgml:
12615           include path fixes
12616         * examples/controller/audio-example.c: (main):
12617           controller example works now
12618         * gst/gstclock.h:
12619           doc fixes
12620         * tools/gst-inspect.c: (print_element_properties_info):
12621           show param spec flags
12622
12623 2005-08-29  Andy Wingo  <wingo@pobox.com>
12624
12625         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12626
12627 2005-08-28  Andy Wingo  <wingo@pobox.com>
12628
12629         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12630         as having two arguments instead of just one. Allows superclasses
12631         to access information on subclasses -- see the terrible for() loop
12632         in gtype.c:g_type_create_instance for the reason why. All callers
12633         changed.
12634
12635 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12636
12637         * docs/design/part-messages.txt:
12638           update info
12639         * docs/gst/tmpl/.cvsignore:
12640         * docs/gst/tmpl/gstcaps.sgml:
12641         * docs/gst/tmpl/gstclock.sgml:
12642         * gst/gstbus.c:
12643         * gst/gstcaps.c:
12644         * gst/gstcaps.h:
12645         * gst/gstclock.c:
12646         * gst/gstclock.h:
12647         * gst/gstmessage.c:
12648           added descriptions for bus and message
12649           inline caps and clock docs
12650
12651 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12652
12653         * gst/gstmessage.c:
12654         * gst/gstmessage.h:
12655           doc fixes
12656
12657 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12658
12659         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12660           fix div-by-zero
12661
12662 2005-08-26  Andy Wingo  <wingo@pobox.com>
12663
12664         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12665         element_set_state's return val.
12666         (test_2_elements): Add test that's been disabled for months.
12667
12668         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12669         can-activate-pull properties.
12670
12671         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12672         can-activate-pull properties. Implement is_seekable so fakesrc can
12673         operate in pull mode.
12674
12675         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12676         properties.
12677         (gst_base_sink_activate, gst_base_sink_activate_pull)
12678         (gst_base_sink_activate_push): Make activation mode choosing work.
12679         Cleanups.
12680         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12681         is right. Make pull mode work. Post an eos before pausing in pull
12682         mode.
12683         (gst_base_sink_change_state): Pay attention to the core's
12684         change_state() return val.
12685         
12686         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12687         has-getrange properties. Cleanups.
12688         
12689         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12690         has_getrange and replace with can_activate_pull and
12691         can_activate_push.
12692
12693         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12694         locking comments. Remove has_loop, has_chain and replace with
12695         can_activate_pull and can_activate_push.
12696
12697 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12698
12699         * configure.ac:
12700         * examples/Makefile.am:
12701         * examples/metadata/Makefile.am:
12702         * examples/metadata/read-metadata.c: (message_loop),
12703         (have_pad_handler), (make_pipeline), (print_tag), (main):
12704           Add metadata reading example that loops over a list of filenames,
12705           dumping any tags found.
12706
12707         * gst/gstbus.c: (gst_bus_dispose):
12708         * gst/gstelement.c: (gst_element_dispose):
12709           Release a few potentially-held references in dispose.
12710
12711 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12712
12713         * docs/gst/tmpl/gstminiobject.sgml:
12714           do *not* add tmpl/*.sgml files to CVS!
12715
12716 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12717
12718         * libs/gst/bytestream/.cvsignore:
12719         * libs/gst/bytestream/Makefile.am:
12720         * libs/gst/bytestream/adapter.c:
12721         * libs/gst/bytestream/adapter.h:
12722         * libs/gst/bytestream/bytestream.c:
12723         * libs/gst/bytestream/bytestream.h:
12724         * libs/gst/bytestream/filepad.c:
12725         * libs/gst/bytestream/filepad.h:
12726           removing obsolete files
12727
12728 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12729
12730         * docs/gst/gstreamer-docs.sgml:
12731         * docs/libs/gstreamer-libs-docs.sgml:
12732           disabed additional index entries again, as this makes docs-gen just
12733           slow and they aren't useful yet
12734         * docs/libs/gstreamer-libs-sections.txt:
12735           little -section.txt cleanup for libs
12736
12737 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12738
12739         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12740         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12741           fix up some debugging
12742         (gst_base_transform_get_unit_size),
12743         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12744         (gst_base_transform_handle_buffer):
12745         * gst/base/gstbasetransform.h:
12746           handle and store timed NEWSEGMENT events so that subclasses that
12747           calculate time by counting samples have a segment_start time they
12748           need to add to their timestamps - see audioresample
12749
12750 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12751
12752         * gst/gstbin.h:
12753           removed ';' from the end of macro defs
12754         * docs/gst/gstreamer-docs.sgml:
12755         * docs/gst/gstreamer-sections.txt:
12756         * docs/gst/tmpl/.cvsignore:
12757         * gst/gstbus.h:
12758         * gst/gstelement.c: (gst_element_class_init),
12759         (gst_element_set_state), (activate_pads),
12760         (gst_element_save_thyself):
12761         * gst/gstevent.c: (gst_event_new_newsegment):
12762         * gst/gstevent.h:
12763         * gst/gstiterator.c:
12764         * gst/gstiterator.h:
12765         * gst/gstpad.c:
12766         * gst/gstprobe.h:
12767         * gst/gstutils.c: (gst_pad_query_convert):
12768         * gst/gstutils.h:
12769           fixed parameter name mismatches between source, header and docs
12770           added some more docs, resolved the last batch of unused elements in
12771           docs (now someone needs to doc them)
12772
12773 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12774
12775         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12776         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12777           don't walk through the plugins backwards.  Where is all this
12778           reversed logic coming from ?
12779
12780 2005-08-25  Wim Taymans  <wim@fluendo.com>
12781
12782         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12783         (gst_base_transform_transform_size),
12784         (gst_base_transform_configure_caps),
12785         (gst_base_transform_get_unit_size),
12786         (gst_base_transform_buffer_alloc),
12787         (gst_base_transform_change_state):
12788         * gst/base/gstbasetransform.h:
12789         Cache caps unit_size.
12790         Make sure we cannot negotiate up and downstream at the
12791         same time.
12792
12793 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12794
12795         * gst/gst.c: (init_pre), (init_post):
12796           register the installed plugin path after the env var
12797         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12798         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12799           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12800           directories, so the tests can prefer uninstalled over installed
12801
12802 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12803
12804         * gst/base/gstbasetransform.h:
12805           comment
12806         * gst/gstpad.c:
12807           add to docs
12808
12809 2005-08-25  Wim Taymans  <wim@fluendo.com>
12810
12811         * gst/gstbin.c: (bin_bus_handler):
12812         Be a bit more conservative about the posted message.
12813         
12814         * gst/gstbus.c: (gst_bus_post):
12815         Some cleanups, warn wrong return values.
12816
12817 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12818
12819         * check/gst/gstbin.c: (GST_START_TEST):
12820         * gst/gstbin.c: (bin_bus_handler):
12821         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12822         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12823         (gst_message_new_warning), (gst_message_new_tag),
12824         (gst_message_new_state_changed), (gst_message_new_segment_start),
12825         (gst_message_new_segment_done), (gst_message_new_custom):
12826         * gst/gstmessage.h:
12827         * tools/gst-launch.c: (event_loop):
12828         * tools/gst-md5sum.c: (event_loop):
12829           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12830
12831 2005-08-25  Wim Taymans  <wim@fluendo.com>
12832
12833         * check/generic/states.c: (GST_START_TEST):
12834         Cleanup can be done at the end.
12835
12836         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12837         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12838         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12839         Oh boy.. Thanks for finding this, Thomas. 
12840
12841 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12842
12843         * docs/gst/gstreamer.types:
12844           added missing types
12845
12846 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12847
12848         * docs/gst/gstreamer-docs.sgml:
12849         * docs/gst/gstreamer-sections.txt:
12850         * docs/gst/tmpl/.cvsignore:
12851         * gst/gstbin.c:
12852         * gst/gstiterator.c:
12853         * gst/gstutils.c:
12854         * gst/registries/gstxmlregistry.h:
12855           added missing classes and symbols (123 more to go)
12856           removed removed symbols from section file
12857           fixed many doc-comments
12858
12859 2005-08-24  Wim Taymans  <wim@fluendo.com>
12860
12861         * check/generic/states.c: (GST_START_TEST):
12862         Make sure all tasks are stopped.
12863
12864         * check/gst/gstbin.c: (GST_START_TEST):
12865         Unref after usage for proper valgrinding.
12866
12867         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12868         Really wait for the task to stop before destroying the
12869         mutex.
12870
12871         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12872         (gst_queue_src_activate_push):
12873         Small cleanups. Don't stop the task when we did not start
12874         it.
12875
12876         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12877         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12878         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12879         (gst_task_join):
12880         * gst/gsttask.h:
12881         Protect the stream lock with the object lock.
12882         Disallow setting the stream lock when running.
12883         Add cleanup_all to wait for the threadpool to finish.
12884         Remove code to autoallocate a mutex if none was provided.
12885         Add _join() to wait for a task to stop.
12886         Protect the thread pool with a global lock.
12887
12888 2005-08-24  Wim Taymans  <wim@fluendo.com>
12889
12890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12891         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12892         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12893         * gst/base/gstbasesink.h:
12894         Handle newsegment events correctly.
12895         Drop buffers out of the segment range.
12896
12897 2005-08-22  Andy Wingo  <wingo@pobox.com>
12898
12899         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12900         macro, implements an interface and gstimplementsinterface for a
12901         new type.
12902
12903 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12904
12905         * check/Makefile.am:
12906         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12907           add a test that does a bunch of state changes on elements
12908           needs some fixing for valgrind
12909         * check/states/sinks.c: (gst_object_suite):
12910           whitespace
12911         * gst/gstcaps.h:
12912           add prototype for gst_caps_is_equal_fixed
12913         * gst/gstplugin.c:
12914         * gst/gstregistrypool.c:
12915           doc fixes
12916
12917 2005-08-24  Andy Wingo  <wingo@pobox.com>
12918
12919         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12920         convert a negative value. Doesn't make much sense. Mostly this is
12921         here to force callers to ensure -1 maps to -1.
12922
12923 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12924
12925         * docs/pwg/advanced-types.xml:
12926           Well done to Michael for catching my deliberate introduction
12927           of this spelling mistake. 
12928         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12929         * gst/gstelement.h:
12930           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12931           unlink pads before removing the element from the bin.
12932
12933 2005-08-24  Andy Wingo  <wingo@pobox.com>
12934
12935         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12936         the same thing as GST_DEBUG=*:4.
12937         (parse_debug_level, parse_debug_category): New helper parsers.
12938
12939 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12940
12941         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12942         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12943         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12944         (gst_base_transform_buffer_alloc),
12945         (gst_base_transform_handle_buffer):
12946           use gboolean return values and pointers to size so we can use the
12947           full GST_BUFFER_SIZE range (guint) for buffer sizes
12948           use GstPadDirection for transform_caps
12949         * gst/base/gstbasetransform.h:
12950           rename get_size to get_unit_size since that's what it is
12951         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12952           use GstPadDirection for transform_caps
12953         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12954         * gst/gstutils.h:
12955           cleanup and debugging
12956
12957 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12958
12959         * gst/gstelement.c: (gst_element_class_init),
12960         (gst_element_set_state), (activate_pads),
12961         (gst_element_save_thyself):
12962         * tools/gst-compprep.c: (main):
12963         * tools/gst-inspect.c: (print_element_properties_info):
12964         * tools/gst-xmlinspect.c: (print_element_properties):
12965           Fixed long standing mem-leak
12966
12967 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12968
12969         * check/gst/gstbin.c: (GST_START_TEST):
12970         * gst/gstbin.c: (bin_bus_handler):
12971         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12972         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12973         (gst_message_new_warning), (gst_message_new_tag),
12974         (gst_message_new_state_changed), (gst_message_new_segment_start),
12975         (gst_message_new_segment_done), (gst_message_new_custom):
12976         * gst/gstmessage.h:
12977         * tools/gst-launch.c: (event_loop):
12978         * tools/gst-md5sum.c: (event_loop):
12979           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12980           that applications can sensibly post custom messages with references
12981           to their own objects.
12982
12983 2005-08-24  Andy Wingo  <wingo@pobox.com>
12984
12985         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12986         already.
12987
12988 2005-08-24  Wim Taymans  <wim@fluendo.com>
12989
12990         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12991         (gst_base_transform_transform_caps),
12992         (gst_base_transform_transform_size),
12993         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12994         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12995         (gst_base_transform_handle_buffer):
12996         * gst/base/gstbasetransform.h:
12997         Many fixes and new features added by Thomas. Can now also do
12998         transforms with variable sizes and a custom fixate_caps function.
12999
13000 2005-08-24  Wim Taymans  <wim@fluendo.com>
13001
13002         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13003         Some debugging.
13004
13005         * gst/gstclock.h:
13006         Cast to ClockTime before formatting to time.
13007
13008         * gst/gstutils.h:
13009         Cleanups.
13010
13011 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13012
13013         * check/gst-libs/controller.c: (GST_START_TEST),
13014         (gst_controller_suite):
13015         * docs/gst/tmpl/gstcaps.sgml:
13016         * docs/gst/tmpl/gstghostpad.sgml:
13017         * docs/gst/tmpl/gstquery.sgml:
13018         * docs/gst/tmpl/gstutils.sgml:
13019         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13020         (gst_object_sink_values), (gst_object_get_value_arrays),
13021         (gst_object_get_value_array):
13022           gracefully handle helper method calls to objects that are not beeing
13023           controlled, added test case for that          
13024
13025 2005-08-23  Wim Taymans  <wim@fluendo.com>
13026
13027         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13028         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13029         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13030         (gst_event_parse_qos), (gst_event_new_seek),
13031         (gst_event_parse_seek):
13032         * gst/gstevent.h:
13033         Some more debugging output and doc cleanups.
13034
13035         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13036         Fix possible deadlock.
13037
13038 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13039
13040         * docs/gst/gstreamer-docs.sgml:
13041         * docs/gst/gstreamer-sections.txt:
13042         * docs/gst/gstreamer.types:
13043         * docs/gst/tmpl/.cvsignore:
13044         * gst/gstbin.h:
13045         * gst/gstbus.c:
13046         * gst/gstelement.c:
13047         * gst/gstevent.h:
13048           added 100 symbols from gstreamer-unused.txt to the right sections
13049           fixed more broken comments
13050           added GstBus to docs
13051
13052 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13053
13054         * docs/gst/gstreamer-sections.txt:
13055         * docs/gst/tmpl/.cvsignore:
13056         * docs/gst/tmpl/gstbin.sgml:
13057         * docs/gst/tmpl/gstbuffer.sgml:
13058         * gst/base/gstbasesrc.c:
13059         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13060         * gst/gstbuffer.c:
13061         * gst/gstbuffer.h:
13062         * tools/gst-launch.1.in:
13063           inlined more doc comments, added missing comments and fixed comments
13064           fixed typos
13065
13066 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13067
13068         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13069           some debugging
13070         * gst/gstcaps.h:
13071           whitespace fixes
13072         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13073           more debugging
13074         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13075         * gst/gststructure.h:
13076           add a fixate function for booleans; add a FIXME that these func
13077           names should probably be gst_structure_fixate_*
13078
13079 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13080
13081         * docs/gst/gstreamer-docs.sgml:
13082         * docs/gst/gstreamer-sections.txt:
13083         * gst/Makefile.am:
13084         * gst/gstbin.c: (gst_bin_get_type),
13085         (gst_bin_child_proxy_get_child_by_index),
13086         (gst_bin_child_proxy_get_children_count),
13087         (gst_bin_child_proxy_init):
13088         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13089         (gst_child_proxy_get_child_by_index),
13090         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13091         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13092         (gst_child_proxy_get), (gst_child_proxy_set_property),
13093         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13094         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13095         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13096         * gst/gstchildproxy.h:
13097         * gst/parse/grammar.y:
13098         * tools/gst-inspect.c: (print_interfaces),
13099         (print_element_properties_info), (print_element_info):
13100           ported gstchildproxy over from 0.8
13101           ported gst-inspect fixes and enhancements over from 0.8
13102
13103 2005-08-22  Wim Taymans  <wim@fluendo.com>
13104
13105         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13106         (gst_base_transform_handle_buffer):
13107         Also call the transform function if we have ANY caps.
13108
13109         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13110         Fix debug info.
13111
13112 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13113
13114         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13115           Don't pretend to handle seek events if the source is not seekable
13116
13117 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13118
13119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13120           Remove extra parameter to debug output
13121
13122         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13123         (gst_base_src_do_seek), (gst_base_src_activate_push):
13124           Fix seek event handling.
13125
13126         * gst/gstpipeline.c: (gst_pipeline_change_state):
13127         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13128         (gst_queue_src_activate_push):
13129           Don't start the src pad task on FLUSH_STOP if the pad
13130           isn't linked.
13131           Debug changes.
13132
13133 2005-08-22  Wim Taymans  <wim@fluendo.com>
13134
13135         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13136         Added check for gst_static_caps_get() refcounting.
13137
13138 2005-08-22  Wim Taymans  <wim@fluendo.com>
13139
13140         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13141         Make _static_caps_get() refcounting sane.
13142         
13143         * gst/gstelement.c: (gst_element_set_state):
13144         Add g_return_val_if_fail() to protect against segfaults.
13145
13146 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13147
13148         * docs/gst/tmpl/gstevent.sgml:
13149         * gst/gstevent.c:
13150         * gst/gstevent.h:
13151           inlined remaining docs, added missing doc comments
13152
13153 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13154
13155         * check/gst/gstbin.c: (GST_START_TEST):
13156           since we don't know when preroll is done, use refcount range
13157           check for the sink
13158         * gst/check/gstcheck.h:
13159           add macro for checking refcount range
13160
13161 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13162
13163         * check/Makefile.am:
13164           clean up environment for when registry gets built versus
13165           when actual tests are run; valgrind seems to not report
13166           leaks if GST_PLUGIN_PATH is set to some specific values
13167         * check/gst/gstbin.c: (GST_START_TEST):
13168           add more refcounting checks; maybe this exposes a
13169           preroll lock bug ?
13170         * common/check.mak:
13171         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13172         * gst/check/gstcheck.h:
13173         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13174         (gst_bin_change_state):
13175         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13176           add/fix debugging/whitespace
13177
13178 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13179
13180         * check/gst/gstevent.c: (event_probe), (test_event),
13181         (GST_START_TEST):
13182          Er, don't call gst_bin_watch_for_state_change you idiot.
13183
13184 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13185
13186         * check/Makefile.am:
13187           Use CHECK_CFLAGS and CHECK_LIBS
13188         * check/gst/gstevent.c: (event_probe), (test_event),
13189         (GST_START_TEST):
13190           Don't leak events.
13191         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13192         (gst_base_src_start), (gst_base_src_stop),
13193         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13194         (gst_base_src_change_state):
13195           Sprinkle gst_base_src_stop liberally around error paths to fix
13196           problems reusing a source after failed state changes.
13197         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13198         (helper_find_suggest), (gst_type_find_helper):
13199           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13200         * gst/gstevent.h:
13201         * docs/gst/tmpl/gstevent.sgml:
13202           Migrate part of the docs from the SGML file. Wait for ensonic to
13203           tell me how I did it wrong ;)
13204         * tools/gst-typefind.c: (main):
13205           Extra robustness to state changes between files.
13206
13207 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13208
13209         * check/Makefile.am:
13210           don't valgrind the controller test - it's leaking - Stefan, HELP
13211         * gst/check/gstcheck.c: (gst_check_message_error),
13212         (gst_check_chain_func), (gst_check_setup_element),
13213         (gst_check_teardown_element), (gst_check_setup_src_pad),
13214         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13215         (gst_check_teardown_sink_pad):
13216         * gst/check/gstcheck.h:
13217           add a bunch of methods to set up elements, and src and sink pads
13218         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13219         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13220         (GST_START_TEST):
13221           use them
13222         * gst/gstmessage.c:
13223         * gst/gsttag.h:
13224           whitespace/doc fixes
13225
13226 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13227
13228         * gst/gstelement.h:
13229           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13230           be handled by the application and not always printed as well
13231
13232 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * check/Makefile.am:
13235           set GST_TOOLS_DIR
13236         * gst/check/gstcheck.c: (gst_check_message_error):
13237         * gst/check/gstcheck.h:
13238           add a fail_unless_equals_int
13239           add fail_unless for error messages
13240
13241 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13242
13243         * check/Makefile.am:
13244         * check/gst.supp:
13245         * common/Makefile.am:
13246         * common/check.mak:
13247         * common/gst.supp:
13248           factor out some of the common stuff so we can use it
13249
13250 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13251
13252         * check/Makefile.am:
13253         * check/gst/gstiterator.c: (GST_START_TEST):
13254         * check/gst/gstsystemclock.c: (GST_START_TEST),
13255         (gst_systemclock_suite):
13256         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13257         * gst/gstclock.c:
13258           valgrind more tests
13259
13260 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13261
13262         * check/elements/.cvsignore:
13263         * check/elements/gstfakesrc.c:
13264           rename to name of element
13265         * check/elements/identity.c: (chain_func), (event_func),
13266         (setup_identity), (cleanup_identity), (GST_START_TEST),
13267         (identity_suite), (main):
13268           add a test for identity
13269         * check/Makefile.am:
13270         * pkgconfig/Makefile.am:
13271         * pkgconfig/gstreamer-check.pc.in:
13272         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13273         * gst/check:
13274         * gst/Makefile.am:
13275         * configure.ac:
13276           move the check stuff to a library that gets installed
13277         * check/gst-libs/controller.c: (GST_START_TEST):
13278         * check/gst-libs/gdp.c:
13279         * check/gst/gst.c: (GST_START_TEST):
13280         * check/gst/gstbin.c:
13281         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13282         * check/gst/gstbus.c:
13283         * check/gst/gstcaps.c: (GST_START_TEST):
13284         * check/gst/gstelement.c:
13285         * check/gst/gstghostpad.c:
13286         * check/gst/gstiterator.c:
13287         * check/gst/gstmessage.c:
13288         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13289         * check/gst/gstobject.c:
13290         * check/gst/gstpad.c: (GST_START_TEST):
13291         * check/gst/gststructure.c: (GST_START_TEST):
13292         * check/gst/gstsystemclock.c: (GST_START_TEST),
13293         (gst_systemclock_suite):
13294         * check/gst/gsttag.c: (gst_tag_suite):
13295         * check/gst/gstvalue.c:
13296         * check/pipelines/cleanup.c:
13297         * check/pipelines/simple_launch_lines.c:
13298         * check/states/sinks.c:
13299           change include statement
13300
13301         * docs/gst/gstreamer-sections.txt:
13302         * docs/gst/tmpl/gstpad.sgml:
13303           document more pad stuff
13304         * gst/gstminiobject.c: (gst_mini_object_ref),
13305         (gst_mini_object_unref):
13306           debug refcounting
13307
13308 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13309
13310         * docs/gst/tmpl/gst.sgml:
13311         * gst/gst.c:
13312           eliminate another tmpl file, fix spelling in the long-description
13313
13314 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13315
13316         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13317         (test_event), (timediff), (gstevents_suite):
13318           Should fix build on 64-bit arch's
13319
13320 2005-08-18  Andy Wingo  <wingo@pobox.com>
13321
13322         Make sure that when a pipeline goes to PLAYING, that data has
13323         actually hit the sink.
13324
13325         * check/states/sinks.c (test_sink): A sink that doesn't get any
13326         data shouldn't return SUCCESS for going to either PLAYING or
13327         PAUSED. Test also the return values on the way back down.
13328
13329         * gst/gstelement.c (gst_element_set_state): When changing the
13330         state of an element currently changing state asynchronously, go to
13331         lost-state after commiting the pending state. Makes future calls
13332         to get_state continue to return ASYNC.
13333
13334         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13335         ASYNC when going to PLAYING if we still don't have preroll, as can
13336         happen with live sources.
13337
13338 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13339
13340         * docs/pwg/advanced-types.xml:
13341           Hack long paragraph into 2 chunks as a workaround for buggy
13342           jadetex version in sid and breezy that loops infinitely and
13343           eats all RAM.
13344
13345 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13346
13347         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13348         (test_event), (timediff), (gstevents_suite):
13349           Provide more error margin in clock measurements to allow for 
13350           g_get_current_time inaccuracies.
13351
13352 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13353
13354         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13355         (test_event), (timediff), (gstevents_suite):
13356            Fix error message output so I might be able to tell why the
13357            test works here but fails on the build farm.
13358
13359 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13360
13361         * check/Makefile.am:
13362         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13363         (test_event), (timediff), (gstevents_suite), (main):
13364           I wrote a test!
13365
13366         * docs/design/part-seeking.txt:
13367           Spelling correction
13368
13369         * docs/gst/tmpl/gstevent.sgml:
13370         * docs/gst/tmpl/gstfakesrc.sgml:
13371           Docs updates.
13372
13373         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13374           Treat a buffer-without-newsegment the same as a receiving 
13375           a newsegment not in time format, and disable syncing to the clock
13376           with a warning.
13377
13378         * gst/gstbus.c: (gst_bus_set_sync_handler):
13379           Assert if anyone tries to replace the existing sync_handler for bus, 
13380           as only the owner should be setting it.
13381
13382         * gst/gstevent.h:
13383           Have a fixed set of custom event enums with events identified by
13384           their structure name (as in 0.8), rather than a free-for-all
13385           allowing collisions between enum values from different plugins.
13386
13387         * gst/gstpad.c: (gst_pad_class_init):
13388           Docs change.
13389           
13390         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13391           Handle out-of-band downstream events from the sending thread.
13392
13393 2005-08-17  Andy Wingo  <wingo@pobox.com>
13394
13395         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13396         play-timeout==0 to mean no timeout at all. In that case, don't
13397         bother with a get_state or a warning, just return directly, even
13398         if it's ASYNC.
13399
13400         * gst/base/gstbasetransform.c: Debug changes.
13401
13402         * gst/gstutils.h:
13403         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13404         ensure bins post state change messages. A bit of a hack but I can't
13405         think of a way to avoid it.
13406
13407         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13408
13409 2005-08-16  Andy Wingo  <wingo@pobox.com>
13410
13411         * gst/base/gstadapter.h:
13412         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13413         peek() but you own the data. Not terribly efficient atm.
13414
13415 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13416
13417         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13418         (gst_element_found_tags):
13419         * gst/gstutils.h:
13420           Add two utility functions for tag handling.
13421
13422 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13423
13424         * docs/manual/advanced-dataaccess.xml:
13425         * docs/manual/basics-helloworld.xml:
13426           Fix docs to use _bin_add() before _link(), which fixes the examples
13427           with recent core versions (reported by Madhan Raj M
13428           <raj_madan@rediffmail.com>, #313199).
13429
13430 2005-08-16  Wim Taymans  <wim@fluendo.com>
13431
13432         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13433         Added subtract checks.
13434
13435         * docs/design/part-events.txt:
13436         Some more docs about newsegment
13437
13438         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13439         Fix FIXME
13440
13441         * gst/gstcaps.c: (gst_caps_to_string):
13442         Add comments, cleanups.
13443         
13444         * gst/gstelement.c: (gst_element_save_thyself):
13445         cleanups
13446         
13447         * gst/gstvalue.c: (gst_value_collect_int_range),
13448         (gst_string_unwrap), (gst_value_union_int_int_range),
13449         (gst_value_union_int_range_int_range),
13450         (gst_value_intersect_int_int_range),
13451         (gst_value_intersect_int_range_int_range),
13452         (gst_value_intersect_double_double_range),
13453         (gst_value_intersect_double_range_double_range),
13454         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13455         (gst_value_subtract_int_range_int),
13456         (gst_value_subtract_double_range_double),
13457         (gst_value_subtract_double_range_double_range),
13458         (gst_value_subtract_from_list), (gst_value_subtract_list),
13459         (gst_value_can_compare), (gst_value_compare_fraction):
13460         Cleanups, add comments, remove unneeded asserts.
13461
13462 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13463
13464         * tools/gst-launch.c: (event_loop):
13465           don't convert NULL structures to strings
13466
13467 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13468
13469         * docs/gst/gstreamer-sections.txt:
13470           made some defines private
13471         * docs/gst/tmpl/gstconfig.sgml:
13472         * docs/gst/tmpl/gstqueue.sgml:
13473         * docs/gst/tmpl/gsttaglist.sgml:
13474         * docs/gst/tmpl/gsttypes.sgml:
13475         * docs/gst/tmpl/gstutils.sgml:
13476         * docs/pwg/appendix-porting.xml:
13477         * gst/base/gstbasesink.h:
13478         * gst/base/gstbasesrc.c:
13479         * gst/base/gstbasesrc.h:
13480         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13481         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13482         * gst/gstelement.c: (gst_element_class_init):
13483         * gst/gstpad.c: (gst_pad_class_init):
13484         * gst/gstqueue.c: (gst_queue_class_init):
13485         * gst/gstxml.c: (gst_xml_class_init):
13486           documented all undocumented signal inline
13487         * libs/gst/controller/gst-controller.h:
13488           added padding
13489
13490 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13491
13492         * docs/pwg/appendix-porting.xml:
13493           Document _set_link_function -> _set_setcaps_function.
13494
13495 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13496
13497         * check/Makefile.am:
13498           add a .check target for running the check
13499         * check/gst-libs/controller.c: (GST_START_TEST):
13500           cosmetic fixups
13501         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13502           complete checks for gstbuffer; would be nice if I could get the
13503           gcov stuff to work so I can see if I actually completed gstbuffer.c
13504         * check/gstcheck.h:
13505           add ASSERT_BUFFER_REFCOUNT
13506
13507 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13508
13509         * docs/gst/gstreamer-sections.txt:
13510         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13511         * gst/gsttag.h:
13512           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13513           spew out a warning if a tag that is already registered
13514           is re-registered, unless it is re-registered with a 
13515           different type (#308438).
13516
13517 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13518
13519         * docs/pwg/appendix-porting.xml:
13520         * docs/pwg/building-state.xml:
13521           Add some paragraphs about state changes in 0.9 to the PWG
13522           and the porting guide, in particular about the new meaning
13523           of GST_STATE_PAUSED and how to write state change functions
13524           with concurrent access by multiple threads in mind.
13525
13526 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13527
13528         * docs/gst/gstreamer-docs.sgml:
13529         * docs/libs/gstreamer-libs-docs.sgml:
13530           added deprecation and since indexes
13531         * libs/gst/controller/gst-controller.c:
13532         * libs/gst/controller/gst-helper.c:
13533           added since tags
13534
13535
13536 2005-08-11  Wim Taymans  <wim@fluendo.com>
13537
13538         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13539         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13540         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13541         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13542         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13543         (gst_ghost_pad_set_target):
13544         Actually implement (re)setting the target on a ghostpad
13545         as described in the docs.
13546
13547 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13548
13549         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13550           Check whether GST_DEBUG_NO_COLOR environment variable is
13551           set and disable coloured debug output if that is the case.
13552
13553 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13554
13555         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13556         (gst_type_find_helper):
13557           The memory returned by gst_type_find_peek() needs to
13558           stay valid until the end of a typefind function, and
13559           typefind functions may keep results from different 
13560           offsets around, so we can't just unref the buffer from
13561           the previous _peek(), but have to save all buffers 
13562           returned by _peek() until typefinding is done and only
13563           free them then.
13564
13565 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13566
13567         * docs/gst/gstreamer-sections.txt:
13568         * gst/gstutils.h:
13569           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13570
13571 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13572
13573         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13574           Fix a pretty good memleak.
13575
13576 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13577
13578         * gst/gstiterator.h:
13579           Fix wrong include and 'make distcheck'.
13580
13581 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13582
13583         * gst/gstbin.c: (bin_bus_handler):
13584           Use gst_element_post_message() instead.
13585
13586 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13587
13588         * gst/base/gstadapter.h:
13589         * gst/base/gstbasesink.h:
13590         * gst/base/gstbasesrc.h:
13591         * gst/base/gstbasetransform.h:
13592         * gst/base/gstcollectpads.h:
13593         * gst/base/gstpushsrc.h:
13594         * gst/gstiterator.h:
13595           Add padding to our base elements' class and instance structs and
13596           to GstIterator (you will need to rebuild all plugins and apps!)
13597
13598 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13599
13600         * gst/gstbin.c: (bin_bus_handler):
13601           Make default message forwarding from child->bus to bin->bus
13602           threadsafe and make it not emit warnings if the parent has no bus.
13603
13604 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13605
13606         * gst/gstelement.c: (activate_pads):
13607           On paused->ready, set pad->caps to NULL, as is the documented
13608           behaviour in this state change. Fixes playback of series of
13609           media files when visualization is enabled in Totem.
13610
13611 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13612
13613         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13614           Allow NULL as filter-caps (which means "any").
13615
13616 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13617
13618         * docs/libs/gstreamer-libs-sections.txt:
13619         * libs/gst/controller/gst-controller.c:
13620         * libs/gst/controller/gst-controller.h:
13621         * libs/gst/controller/gst-helper.c:
13622           adding more entries to the docs and fix small doc-bugs
13623
13624 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13625
13626         * docs/gst/gstreamer-docs.sgml:
13627         * docs/gst/gstreamer-sections.txt:
13628         * docs/gst/gstreamer.types:
13629         * docs/gst/tmpl/gstbasesink.sgml:
13630         * docs/gst/tmpl/gstbasesrc.sgml:
13631         * docs/gst/tmpl/gstbasetransform.sgml:
13632         * docs/gst/tmpl/gstfakesrc.sgml:
13633         * gst/base/gstcollectpads.c:
13634         * gst/base/gstcollectpads.h:
13635         * libs/gst/controller/gst-controller.c:
13636         * libs/gst/controller/gst-controller.h:
13637         * libs/gst/controller/gst-helper.c:
13638         * libs/gst/controller/gst-interpolation.c:
13639         * libs/gst/controller/lib.c:
13640           added long/short desc for controller docs
13641           added collectpads base class docs
13642           added correct includes to base-class docs
13643
13644 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13645
13646         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13647         (gst_test_mono_source_set_property),
13648         (gst_test_mono_source_class_init), (GST_START_TEST),
13649         (gst_controller_suite):
13650         * docs/gst/gstreamer-docs.sgml:
13651         * docs/gst/gstreamer-sections.txt:
13652         * docs/gst/gstreamer.types:
13653         * docs/libs/gstreamer-libs-docs.sgml:
13654         * docs/libs/gstreamer-libs-sections.txt:
13655         * gst/base/gstadapter.c:
13656         * libs/gst/controller/gst-controller.c:
13657         (gst_controlled_property_new), (gst_controlled_property_free),
13658         (gst_controller_new_valist),
13659         (gst_controller_remove_properties_valist),
13660         (gst_controller_sink_values), (_gst_controller_finalize):
13661         * libs/gst/controller/gst-controller.h:
13662         * libs/gst/controller/gst-helper.c:
13663         (gst_object_control_properties), (gst_object_uncontrol_properties),
13664         (gst_object_get_controller), (gst_object_set_controller),
13665         (gst_object_sink_values), (gst_object_get_value_arrays),
13666         (gst_object_get_value_array):
13667           more tests (and fixes) for the controller
13668           more docs for the controller
13669           integrated companies docs for the adapter 
13670
13671 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13672
13673         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13674         (GST_START_TEST), (fakesrc_suite):
13675           add tests for sizetype
13676
13677 2005-08-04  Andy Wingo  <wingo@pobox.com>
13678
13679         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13680         fixes buffer_alloc proxying among other things.
13681
13682         * gst/base/gstbasetransform.c:
13683         * gst/base/gstbasetransform.h:
13684         Revert patch to gstbasetransform from 7-28 removing
13685         delay_configure.
13686
13687         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13688         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13689         Semantics changed, should return not the size of the output buffer
13690         but the byte size of a buffer with a given caps.
13691
13692         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13693         debug object.
13694         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13695         out) are not the pad caps until setcaps finishes.
13696         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13697         not-in-place case as well. Deal with changing from in-place to
13698         not-in-place within calling pad_alloc_buffer. Still a bit
13699         concerned about the overhead here...
13700
13701 2005-08-03  Andy Wingo  <wingo@pobox.com>
13702
13703         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13704         fixating is an error.
13705
13706 2005-08-04  Edward Hervey  <edward@fluendo.com>
13707
13708         * gst/base/gstadapter.h: 
13709         Added gst_adapter_get_type() to the header
13710
13711 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13712
13713         * check/Makefile.am:
13714         * check/gst-libs/controller.c:
13715         * libs/gst/controller/gst-controller.c:
13716         (gst_controller_new_valist):
13717           added check test suite for the controller
13718         * gst/base/gstpushsrc.c:
13719           fixed a doc typo
13720
13721 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13722
13723         * docs/gst/Makefile.am:
13724         * docs/gst/gstreamer-docs.sgml:
13725         * docs/gst/gstreamer-sections.txt:
13726         * docs/gst/gstreamer.types:
13727         * docs/gst/tmpl/gstfakesrc.sgml:
13728         * gst/base/README:
13729         * gst/base/gstbasesink.c:
13730         * gst/base/gstbasesink.h:
13731         * gst/base/gstbasesrc.c:
13732         * gst/base/gstbasesrc.h:
13733         * gst/base/gstbasetransform.c:
13734         * gst/base/gstpushsrc.c:
13735         * gst/base/gstpushsrc.h:
13736           add short/long description docs to base classes
13737           add pushsrc to the docs
13738           remove consolidated doc fragments
13739
13740 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13741
13742         * configure.ac:
13743         * docs/libs/Makefile.am:
13744         * docs/libs/gstreamer-libs-docs.sgml:
13745         * docs/libs/gstreamer-libs-sections.txt:
13746         * docs/libs/gstreamer-libs.types:
13747         * examples/Makefile.am:
13748         * examples/controller/.cvsignore:
13749         * examples/controller/Makefile.am:
13750         * examples/controller/audio-example.c: (main):
13751         * libs/gst/Makefile.am:
13752         * libs/gst/controller/.cvsignore:
13753         * libs/gst/controller/Makefile.am:
13754         * libs/gst/controller/gst-controller.c:
13755         (on_object_controlled_property_changed), (gst_timed_value_compare),
13756         (gst_timed_value_find),
13757         (gst_controlled_property_set_interpolation_mode),
13758         (gst_controlled_property_new), (gst_controlled_property_free),
13759         (gst_controller_find_controlled_property),
13760         (gst_controller_new_valist), (gst_controller_new),
13761         (gst_controller_remove_properties_valist),
13762         (gst_controller_remove_properties), (gst_controller_set),
13763         (gst_controller_set_from_list), (gst_controller_unset),
13764         (gst_controller_get), (gst_controller_get_all),
13765         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13766         (gst_controller_get_value_array),
13767         (gst_controller_set_interpolation_mode),
13768         (_gst_controller_finalize), (_gst_controller_init),
13769         (_gst_controller_class_init), (gst_controller_get_type):
13770         * libs/gst/controller/gst-controller.h:
13771         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13772         (g_object_uncontrol_properties), (g_object_get_controller),
13773         (g_object_set_controller), (g_object_sink_values),
13774         (g_object_get_value_arrays), (g_object_get_value_array):
13775         * libs/gst/controller/gst-interpolation.c:
13776         (gst_controlled_property_find_timed_value_node),
13777         (interpolate_none_get), (interpolate_trigger_get),
13778         (interpolate_trigger_get_value_array):
13779         * libs/gst/controller/lib.c: (gst_controller_init):
13780         * pkgconfig/Makefile.am:
13781         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13782         * pkgconfig/gstreamer-control.pc.in:
13783         * testsuite/Makefile.am:
13784         * testsuite/controller/.cvsignore:
13785         * testsuite/controller/Makefile.am:
13786         * testsuite/controller/interpolator.c: (main):
13787           added controller code
13788           removed dparam pc files
13789
13790 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13791         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13792         (gst_collectpads_stop):
13793           Broadcast the condition when shutting down, to make sure we wake all
13794           threads up. Shut down pads on finalize, for safety.
13795
13796 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13797         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13798         (gst_base_transform_handle_buffer),
13799         (gst_base_transform_change_state):
13800           Handle PAUSED->READY->PAUSED transition after negotiation
13801           occurred already.
13802         * gst/gstmessage.c: (gst_message_init):
13803           Extra piece of debug for new messages.
13804
13805 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13806
13807         * configure.ac:
13808         * docs/gst/tmpl/gstbasesrc.sgml:
13809         * docs/gst/tmpl/gstelement.sgml:
13810         * docs/gst/tmpl/gstevent.sgml:
13811         * docs/gst/tmpl/gstfakesrc.sgml:
13812         * docs/gst/tmpl/gstformat.sgml:
13813         * docs/gst/tmpl/gstghostpad.sgml:
13814         * docs/gst/tmpl/gstpad.sgml:
13815         * docs/gst/tmpl/gstquery.sgml:
13816         * docs/gst/tmpl/gststructure.sgml:
13817         * docs/gst/tmpl/gsttaglist.sgml:
13818         * docs/gst/tmpl/gstvalue.sgml:
13819         * docs/libs/gstreamer-libs-docs.sgml:
13820         * docs/libs/gstreamer-libs-sections.txt:
13821         * docs/libs/gstreamer-libs.types:
13822         * libs/gst/Makefile.am:
13823         * libs/gst/control/.cvsignore:
13824         * libs/gst/control/Makefile.am:
13825         * libs/gst/control/control.c:
13826         * libs/gst/control/control.h:
13827         * libs/gst/control/dparam.c:
13828         * libs/gst/control/dparam.h:
13829         * libs/gst/control/dparam_smooth.c:
13830         * libs/gst/control/dparam_smooth.h:
13831         * libs/gst/control/dparamcommon.h:
13832         * libs/gst/control/dparammanager.c:
13833         * libs/gst/control/dparammanager.h:
13834         * libs/gst/control/dplinearinterp.c:
13835         * libs/gst/control/dplinearinterp.h:
13836         * libs/gst/control/unitconvert.c:
13837         * libs/gst/control/unitconvert.h:
13838         * testsuite/Makefile.am:
13839         * testsuite/dynparams/.cvsignore:
13840         * testsuite/dynparams/Makefile.am:
13841         * testsuite/dynparams/dparamstest.c:
13842         * tools/Makefile.am:
13843         * tools/gst-inspect.c: (print_element_info), (main):
13844         * tools/gst-xmlinspect.c: (print_element_info), (main):
13845           deactivate and remove dparams (libgstcontrol)
13846
13847 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13848
13849         * gst/elements/gsttypefindelement.c:
13850         (gst_type_find_element_have_type), (gst_type_find_element_init),
13851         (stop_typefinding), (gst_type_find_element_handle_event),
13852         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13853         * gst/elements/gsttypefindelement.h:
13854           Set caps on all outgoing buffers, not just the first one.
13855
13856 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13857
13858         * gst/elements/gsttypefindelement.c:
13859         (gst_type_find_element_have_type),
13860         (gst_type_find_element_check_set_buffer_caps),
13861         (gst_type_find_element_init), (stop_typefinding),
13862         (gst_type_find_element_handle_event),
13863         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13864         * gst/elements/gsttypefindelement.h:
13865           Set caps on first outgoing buffer when we've found the type.
13866
13867 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13868
13869         * docs/gst/gstreamer-docs.sgml:
13870         * docs/gst/gstreamer-sections.txt:
13871         * docs/gst/tmpl/gstscheduler.sgml:
13872         * docs/gst/tmpl/gstschedulerfactory.sgml:
13873           Remove some old cruft from docs.
13874
13875 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13876
13877         * gst/gstpad.h:
13878           Fix inline docs for GstPadLinkReturn.
13879           
13880         * gst/gststructure.c: (gst_structure_has_name):
13881         * gst/gststructure.h:
13882         * docs/gst/gstreamer-sections.txt:
13883           New API: gst_structure_has_name().
13884
13885 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13886
13887         * configure.ac:
13888           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13889           and _LARGEFILE_SOURCE in config.h as required. Do not 
13890           export those flags in our .pc files any longer (#142209).
13891
13892           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13893
13894         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13895         (gst_file_sink_do_seek), (gst_file_sink_event),
13896         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13897           Redo seek/tell calls with large file support in mind; add some
13898           debugging messages; add log message that tells us when large
13899           file support is unavailable or not enabled for some reason.
13900
13901         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13902           Add log message that tells us when large file support 
13903           is unavailable or not enabled for some reason.
13904
13905 2005-07-29  Wim Taymans  <wim@fluendo.com>
13906
13907         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13908         Added test for removing an element with ghostpad from a bin.
13909         Fixed test as current implementation does the right thing.
13910
13911         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13912         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13913         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13914         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13915         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13916         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13917         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13918         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13919         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13920         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13921         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13922         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13923         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13924         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13925         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13926         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13927         * gst/gstghostpad.h:
13928         Clean up ghostpads, remove properties for internal stuff.
13929         Make threadsafe.
13930         Fix refcounting.
13931         Prepare for switching targets, not all use cases work yet.
13932
13933 2005-07-29  Wim Taymans  <wim@fluendo.com>
13934
13935         * docs/design/part-gstghostpad.txt:
13936         Small update.
13937
13938         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13939         (gst_bin_remove_func):
13940         Unlinking pads while holding the bin LOCK is not a good
13941         idea.
13942
13943         * gst/gstpad.c: (gst_pad_class_init),
13944         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13945         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13946         No prob setting template after creating the pad.
13947
13948 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13949
13950         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13951         (gst_bus_peek), (gst_bus_source_dispatch),
13952         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13953         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13954           gst_bus_poll may be called from other threads. Handle
13955           this nicely by not making poll_data disappear off the
13956           stack once gst_bus_poll returns.
13957           gst_bus_peek now increments the refcount on the returned
13958           message.
13959
13960 2005-07-29  Wim Taymans  <wim@fluendo.com>
13961
13962         * docs/design/part-gstghostpad.txt:
13963         Overview of current GhostPad datastructures and use
13964         cases for changing the target.
13965
13966 2005-07-28  Wim Taymans  <wim@fluendo.com>
13967
13968         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13969         Added checks for hierarchy consistency whan adding linked
13970         elements to bins.
13971
13972         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13973         Added check to test element scheduling without bin/pipeline.
13974
13975         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13976         First add elements to bin, then link.
13977         
13978         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13979         (gst_bin_remove_func):
13980         Unlink pads from elements added/removed from bin to maintain
13981         hierarchy consistency.
13982
13983 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13984
13985         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13986         (gst_base_transform_handle_buffer):
13987         * gst/base/gstbasetransform.h:
13988           Remove broken delay_configure (fixes renegotiation of software
13989           scaling pipelines); remove some leftover printf()s.
13990
13991 2005-07-28  Wim Taymans  <wim@fluendo.com>
13992
13993         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13994         Added some more tests for wrong hierarchy
13995
13996         * docs/design/part-overview.txt:
13997         Some updates.
13998
13999         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14000         Cleanups.
14001
14002         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14003         (gst_element_dispose):
14004         Some more cleanups.
14005
14006         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14007         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14008         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14009         (gst_pad_set_caps), (gst_pad_send_event):
14010         Check for correct hierarchy when linking pads. Moving to
14011         strict requirement for ghostpads when linking elements in
14012         different bins.
14013
14014         * gst/gstpad.h:
14015         Clean ups. Added WRONG_HIERARCHY return value.
14016
14017 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14018
14019         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14020           Better debug if no transform is possible.
14021
14022 2005-07-27  Wim Taymans  <wim@fluendo.com>
14023
14024         * docs/random/wtay/network-transp:
14025         Some old doc I had.
14026
14027 2005-07-27  Wim Taymans  <wim@fluendo.com>
14028
14029         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14030         (gst_dp_event_from_packet):
14031         Fix serialization of seek events.
14032
14033 2005-07-27  Wim Taymans  <wim@fluendo.com>
14034
14035         * check/gst-libs/gdp.c: (GST_START_TEST):
14036         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14037         Fix compilation and fix event serialization.
14038
14039 2005-07-27  Wim Taymans  <wim@fluendo.com>
14040
14041         * CHANGES-0.9:
14042         * docs/design/part-TODO.txt:
14043         * docs/design/part-events.txt:
14044         Some docs updates
14045
14046         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14047         (gst_base_sink_event), (gst_base_sink_do_sync),
14048         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14049         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14050         (gst_base_src_do_seek), (gst_base_src_event_handler),
14051         (gst_base_src_loop):
14052         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14053         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14054         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14055         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14056         (gst_base_transform_set_passthrough),
14057         (gst_base_transform_is_passthrough):
14058         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14059         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14060         Event updates.
14061
14062         * gst/gstbuffer.h:
14063         Use faster casts.
14064
14065         * gst/gstelement.c: (gst_element_seek):
14066         * gst/gstelement.h:
14067         Update gst_element_seek.
14068
14069         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14070         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14071         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14072         (gst_event_new_eos), (gst_event_new_newsegment),
14073         (gst_event_parse_newsegment), (gst_event_new_tag),
14074         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14075         (gst_event_parse_qos), (gst_event_new_seek),
14076         (gst_event_parse_seek), (gst_event_new_navigation):
14077         * gst/gstevent.h:
14078         Make GstEvent use GstStructure. Add parsing code, make sure the
14079         API is sufficiently generic.
14080         Mark possible directions of events and serialization.
14081
14082         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14083         (_gst_message_copy), (gst_message_new_segment_start),
14084         (gst_message_new_segment_done), (gst_message_new_custom),
14085         (gst_message_parse_segment_start),
14086         (gst_message_parse_segment_done):
14087         Small cleanups.
14088
14089         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14090         (gst_pad_set_caps), (gst_pad_send_event):
14091         Update for new events. 
14092         Catch events sent in wrong directions.
14093
14094         * gst/gstqueue.c: (gst_queue_link_src),
14095         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14096         (gst_queue_handle_src_query):
14097         Event updates.
14098
14099         * gst/gsttag.c:
14100         * gst/gsttag.h:
14101         Remove event code from this file.
14102
14103         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14104         (gst_dp_event_from_packet):
14105         Event updates.
14106
14107 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14108
14109         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14110         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14111         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14112           Make debugging actually useful.
14113
14114 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14115
14116         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14117         (gst_pad_fixate_caps):
14118           Implement default fixation once again, so that gst_pad_fixate()
14119           actually does anything at all. This probably needs to be some
14120           sort of a last resort, and use profile-based fixation first, but
14121           since that doesn't exist yet, this is the best we have. Fixes
14122           visualization in Totem.
14123
14124 2005-07-22  Wim Taymans  <wim@fluendo.com>
14125
14126         * docs/design/part-events.txt:
14127         Small update.
14128
14129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14130         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14131         (gst_base_sink_activate_pull):
14132         Some more comments.
14133
14134         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14135         (gst_fake_src_create):
14136         Fix handoff marshall.
14137
14138         * gst/elements/gstidentity.c: (gst_identity_class_init),
14139         (gst_identity_transform_ip):
14140         We're a real inplace element.
14141
14142         * gst/gstbus.c: (gst_bus_post):
14143         Added some comments.
14144
14145         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14146         * tests/muxing/case1.c: (main):
14147         * tests/sched/dynamic-pipeline.c: (main):
14148         * tests/sched/interrupt1.c: (main):
14149         * tests/sched/interrupt2.c: (main):
14150         * tests/sched/interrupt3.c: (main):
14151         * tests/sched/runxml.c: (main):
14152         * tests/sched/sched-stress.c: (main):
14153         * tests/seeking/seeking1.c: (event_received), (main):
14154         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14155         (main):
14156         * tests/threadstate/threadstate3.c: (main):
14157         * tests/threadstate/threadstate4.c: (main):
14158         * tests/threadstate/threadstate5.c: (main):
14159         Fix the tests.
14160
14161 2005-07-21  Wim Taymans  <wim@fluendo.com>
14162
14163         * docs/design/part-seeking.txt:
14164         Some small additions.
14165
14166         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14167         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14168         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14169         * gst/base/gstbasesink.h:
14170         discont values are gint64, handle the math correctly.
14171
14172         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14173         Make the basesrc report error if the source pad is not linked.
14174
14175         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14176         (gst_queue_loop), (gst_queue_handle_src_query),
14177         (gst_queue_src_activate_push):
14178         Make queue collect data even if the srcpad is not linked.
14179         Start pushing out data as soon as it is linked.
14180
14181         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14182         * gst/gstutils.h:
14183         Added gst_flow_get_name() to ease error reporting.
14184
14185 2005-07-20  Wim Taymans  <wim@fluendo.com>
14186
14187         * gst/gstmessage.c: (gst_message_new_segment_start),
14188         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14189         (gst_message_parse_segment_done):
14190         * gst/gstmessage.h:
14191         Added a bunch of messages for advanced seeking.
14192
14193         * gst/parse/grammar.y:
14194         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14195         (gst_dpman_state_changed):
14196         Fix some new-pad -> pad-added signals
14197
14198 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14199
14200         * docs/manual/appendix-porting.xml:
14201         * docs/pwg/appendix-porting.xml:
14202           Document new-pad/state-change signal renames and the FixedList
14203           type rename.
14204
14205 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14206
14207         * docs/manual/advanced-autoplugging.xml:
14208         * docs/manual/basics-helloworld.xml:
14209         * docs/manual/basics-pads.xml:
14210         * docs/random/ds/0.9-suggested-changes:
14211         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14212         * gst/gstelement.h:
14213         * gst/gstevent.h:
14214         * gst/gstformat.h:
14215         * gst/gstquery.h:
14216         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14217         (gst_structure_parse_array), (gst_structure_parse_value):
14218         * gst/gstvalue.c: (gst_type_is_fixed),
14219         (gst_value_list_prepend_value), (gst_value_list_append_value),
14220         (gst_value_list_get_size), (gst_value_list_get_value),
14221         (gst_value_transform_array_string), (gst_value_serialize_array),
14222         (gst_value_deserialize_array), (gst_value_intersect_array),
14223         (gst_value_is_fixed), (_gst_value_initialize):
14224         * gst/gstvalue.h:
14225           GstElement::new-pad -> pad-added, GstElement::state-change ->
14226           state-changed, GstValueFixedList -> GstValueArray, add format and
14227           flags as their own arguments in gst_element_seek() (should improve
14228           "bindeability"), remove function generators since they don't work
14229           under a whole bunch of compilers (they were deprecated already
14230           anyway).
14231
14232 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14233
14234         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14235         (_gst_debug_register_funcptr):
14236         * gst/gstinfo.h:
14237           Fix illegal cast on some platforms (#309253).
14238
14239 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14240
14241         * gst/gstmessage.c: (gst_message_new_custom):
14242         * gst/gstmessage.h:
14243           Add _new_custom, make _new_application a macro to _new_custom.
14244
14245 2005-07-20  Wim Taymans  <wim@fluendo.com>
14246
14247         * gst/base/gstbasesrc.c: (gst_base_src_init),
14248         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14249         * gst/base/gstbasesrc.h:
14250         Add a gboolean to decide when to push out a discont.
14251
14252         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14253         (gst_queue_loop), (gst_queue_handle_src_query),
14254         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14255         (gst_queue_set_property), (gst_queue_get_property):
14256         Some cleanups.
14257
14258         * tests/threadstate/threadstate1.c: (main):
14259         Make a thread test compile and run... very silly..
14260
14261
14262 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14263
14264         * docs/manual/appendix-porting.xml:
14265           Mention removal of libgstgconf-0.9.la and existence of gconf
14266           elements.
14267
14268 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14269
14270         * docs/pwg/advanced-clock.xml:
14271         * docs/pwg/appendix-porting.xml:
14272         * docs/pwg/intro-preface.xml:
14273         * docs/pwg/other-base.xml:
14274         * docs/pwg/other-manager.xml:
14275         * docs/pwg/other-nton.xml:
14276         * docs/pwg/other-ntoone.xml:
14277         * docs/pwg/other-oneton.xml:
14278         * docs/pwg/pwg.xml:
14279           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14280           demuxer), remove n-to-n (was never written), fix some code examples
14281           and links and update the porting section to include all this.
14282
14283 2005-07-19  Wim Taymans  <wim@fluendo.com>
14284
14285         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14286         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14287         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14288         (gst_queue_src_activate_push), (gst_queue_change_state),
14289         (gst_queue_get_property):
14290         * gst/gstqueue.h:
14291         Propagate GstFlowReturn more intelligently upstream and output
14292         an ERROR/EOS when streaming stopped due to fatal error.
14293
14294 2005-07-19  Wim Taymans  <wim@fluendo.com>
14295
14296         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14297         Don't block forever for the state change to complete, the
14298         pipeline already did with a sensible timeout.
14299
14300 2005-07-19  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14303         Make sure we never call the create function is we
14304         got deactivated.
14305
14306 2005-07-19  Andy Wingo  <wingo@pobox.com>
14307
14308         * gst/parse/parse.l: Attempt to solve bug #172815.
14309
14310 2005-07-19  Wim Taymans  <wim@fluendo.com>
14311
14312         * docs/design/part-clocks.txt:
14313         * docs/design/part-events.txt:
14314         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14315         Small docs updates.
14316         Only update the seeking values when we are not
14317         busy streaming.
14318
14319 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14320
14321         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14322           Oops, ignore the result of gst_pad_push_event here.
14323
14324 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14325
14326         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14327         (gst_base_src_activate_push):
14328           Send discont event from the loop function, as pads
14329           aren't activated yet in the activate_push handler.
14330
14331         * gst/gstbin.c: (bin_bus_handler):
14332           Don't leak element name.
14333
14334 2005-07-18  Andy Wingo  <wingo@pobox.com>
14335
14336         * configure.ac: Use AS_LIBTOOL_TAGS.
14337
14338 2005-07-18  Wim Taymans  <wim@fluendo.com>
14339
14340         * docs/gst/gstreamer.types:
14341         Remove deleted types.
14342
14343 2005-07-18  Wim Taymans  <wim@fluendo.com>
14344
14345         * check/elements/gstfakesrc.c: (GST_START_TEST):
14346         * configure.ac:
14347         * gst/Makefile.am:
14348         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14349         (init_popt_callback):
14350         * gst/gst.h:
14351         * gst/gst_private.h:
14352         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14353         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14354         * gst/gstbin.h:
14355         * gst/gstbus.h:
14356         * gst/gstconfig.h.in:
14357         * gst/gstelement.c: (gst_element_class_init),
14358         (gst_element_set_base_time), (gst_element_get_base_time),
14359         (iterator_fold_with_resync), (gst_element_change_state),
14360         (gst_element_dispose), (gst_element_get_bus):
14361         * gst/gstelement.h:
14362         * gst/gstelementfactory.h:
14363         * gst/gsterror.c: (_gst_core_errors_init):
14364         * gst/gsterror.h:
14365         * gst/gstevent.h:
14366         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14367         * gst/gstindex.c:
14368         * gst/gstinfo.c: (_gst_debug_init):
14369         * gst/gstmessage.c: (_gst_message_copy):
14370         * gst/gstmessage.h:
14371         * gst/gstminiobject.h:
14372         * gst/gstobject.c:
14373         * gst/gstobject.h:
14374         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14375         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14376         * gst/gstpad.h:
14377         * gst/gstparse.h:
14378         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14379         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14380         (gst_pipeline_get_last_stream_time):
14381         * gst/gstpipeline.h:
14382         * gst/gstpluginfeature.h:
14383         * gst/gstquery.h:
14384         * gst/gstscheduler.c:
14385         * gst/gstscheduler.h:
14386         * gst/gststructure.h:
14387         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14388         (gst_task_finalize), (gst_task_func), (gst_task_create),
14389         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14390         (gst_task_stop), (gst_task_pause):
14391         * gst/gsttask.h:
14392         * gst/gsttypefind.h:
14393         * gst/gsttypes.h:
14394         * gst/registries/gstlibxmlregistry.c: (load_feature),
14395         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14396         * gst/registries/gstxmlregistry.c:
14397         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14398         * gst/schedulers/threadscheduler.c:
14399         * libs/gst/control/dparammanager.h:
14400         * tools/gst-inspect.c: (print_element_list),
14401         (print_plugin_features), (print_element_features):
14402         * tools/gst-xmlinspect.c: (print_element_list),
14403         (print_plugin_info), (main):
14404         Removed plugable schedulers.
14405         Removed Scheduler/Manager from elements.
14406         Removed gsttypes.h, rearranged includes.
14407         Removed dependency pad<->element, element<>pipeline, and
14408         various others,  fix includes.
14409         implement gst_pad_get_parent() with gst_object_get_parent()
14410         Make GstTask sefcontained.
14411         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14412         timeout.
14413         Fix endless loop in iterator_fold_with_resync.
14414
14415
14416 2005-07-18  Wim Taymans  <wim@fluendo.com>
14417
14418         * gst/Makefile.am:
14419         * gst/gstarch.h:
14420         Remove old file.
14421
14422 2005-07-18  Wim Taymans  <wim@fluendo.com>
14423
14424         * gst/Makefile.am:
14425         No more cothreads.h
14426
14427 2005-07-18  Wim Taymans  <wim@fluendo.com>
14428
14429         * gst/cothreads.c:
14430         * gst/cothreads.h:
14431         Let's remove these.
14432
14433 2005-07-18  Wim Taymans  <wim@fluendo.com>
14434
14435         * docs/design/part-dynamic.txt:
14436         * docs/design/part-events.txt:
14437         * docs/design/part-seeking.txt:
14438         Some more docs in the works.
14439
14440         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14441         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14442         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14443         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14444         (gst_base_transform_handle_buffer),
14445         (gst_base_transform_sink_activate_push),
14446         (gst_base_transform_src_activate_pull),
14447         (gst_base_transform_set_passthrough),
14448         (gst_base_transform_is_passthrough):
14449         Refcounting fixes.
14450
14451         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14452         Cleanups.
14453
14454         * gst/gstevent.c: (gst_event_finalize):
14455         Set SRC to NULL.
14456
14457         * gst/gstutils.c: (gst_element_unlink),
14458         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14459         (gst_pad_proxy_setcaps):
14460         * gst/gstutils.h:
14461         Add _get_parent_element() to get a pads parent as an element.
14462
14463 2005-07-18  Wim Taymans  <wim@fluendo.com>
14464
14465         * check/gst/gstbin.c: (GST_START_TEST):
14466         Remove bogus test.
14467
14468 2005-07-18  Wim Taymans  <wim@fluendo.com>
14469
14470         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14471         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14472         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14473         (gst_base_sink_event), (gst_base_sink_do_sync),
14474         (gst_base_sink_chain), (gst_base_sink_loop),
14475         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14476         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14477         Refcounting fixes.
14478         Fix logic for returning ASYNC when not prerolled.
14479
14480 2005-07-18  Wim Taymans  <wim@fluendo.com>
14481
14482         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14483         Fix nasty refcount bug.
14484
14485 2005-07-16 Philippe Khalaf <burger@speedy.org>
14486
14487         * gst/elements/gstfdsrc.c:
14488         * gst/elements/gstfdsrc.h:
14489         * gst/elements/gstelements.c:
14490         * gst/elements/Makefile.am:
14491         Ported fdsrc to 0.9.
14492
14493 2005-07-16  Wim Taymans  <wim@fluendo.com>
14494
14495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14496         (gst_base_sink_do_sync):
14497         Fix compile error.
14498
14499 2005-07-16  Wim Taymans  <wim@fluendo.com>
14500
14501         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14502         (gst_base_sink_event), (gst_base_sink_get_times),
14503         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14504         * gst/base/gstbasesink.h:
14505         Store and use discont values when syncing buffers as described
14506         in design docs.
14507         
14508         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14509         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14510         (gst_base_src_activate_push):
14511         Push discont event when starting.
14512
14513         * gst/elements/gstidentity.c: (gst_identity_transform):
14514         Small cleanups.
14515
14516         * gst/gstbin.c: (gst_bin_change_state):
14517         Small cleanups in base_time  distribution.
14518
14519         * gst/gstelement.c: (gst_element_set_base_time),
14520         (gst_element_get_base_time), (gst_element_change_state):
14521         * gst/gstelement.h:
14522         Added methods for the base_time of the element.
14523         Some MT fixes.
14524
14525         * gst/gstpipeline.c: (gst_pipeline_send_event),
14526         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14527         (gst_pipeline_get_last_stream_time):
14528         * gst/gstpipeline.h:
14529         MT fixes.
14530         Handle seeking as described in design doc, remove stream_time
14531         hack.
14532         Cleanups clock and stream_time selection code. Added accessors
14533         for the stream_time.
14534         
14535
14536 2005-07-16  Andy Wingo  <wingo@pobox.com>
14537
14538         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14539         (#305291).
14540
14541 2005-07-16  Wim Taymans  <wim@fluendo.com>
14542
14543         * check/gst/gstbin.c: (GST_START_TEST):
14544         Make elements silent as the deep_notify refs the
14545         parent, which might make the test fail.
14546
14547         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14548         Don't hold the lock for too long.
14549
14550 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14551
14552         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14553           Don't unref the caps we passed to gst_caps_make_writable() after
14554           passing them. gst_caps_make_writable() will do that for us.
14555
14556 2005-07-15  Andy Wingo  <wingo@pobox.com>
14557
14558         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14559         (#157311).
14560
14561         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14562         own marshalling function for the handoff signal. Properly type the
14563         buffer as a buffer. Fixes some warnings. Should do a more general
14564         solution.
14565         (gst_identity_class_init): Plug into the right marshaller.
14566
14567 2005-07-15  Wim Taymans  <wim@fluendo.com>
14568
14569         * docs/design/part-TODO.txt:
14570         * docs/design/part-clocks.txt:
14571         * docs/design/part-element-sink.txt:
14572         * docs/design/part-events.txt:
14573         * docs/design/part-gstpipeline.txt:
14574         Updated docs, mostly DISCONT related.
14575
14576 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14577
14578         * docs/pwg/building-pads.xml:
14579           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14580
14581 2005-07-15  Andy Wingo  <wingo@pobox.com>
14582
14583         * tools/gst-typefind.c: Update, add copyright block.
14584
14585         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14586         Normalize and truncate caps before fixation.
14587
14588         * gst/gstcaps.h:
14589         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14590         discards all but the first structure from its argument.
14591
14592 2005-07-15  Wim Taymans  <wim@fluendo.com>
14593
14594         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14595         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14596         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14597         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14598         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14599         (gst_base_transform_chain), (gst_base_transform_change_state),
14600         (gst_base_transform_set_passthrough),
14601         (gst_base_transform_is_passthrough):
14602         * gst/base/gstbasetransform.h:
14603         Make passthrough work using the bufferpools.
14604         Changed API a bit, subclasses have to write into a buffer
14605         provided by the base class.
14606         More debug info in nego functions.
14607         
14608         * gst/elements/gstidentity.c: (gst_identity_init),
14609         (gst_identity_transform):
14610         Port to new base class.
14611
14612 2005-07-15  Wim Taymans  <wim@fluendo.com>
14613
14614         * gst/gstmessage.c: (gst_message_new_state_changed):
14615         * tools/gst-launch.c: (event_loop), (main):
14616         Totally dump messages in -launch with the -m option.
14617         Fix message name for State messages,
14618
14619 2005-07-14  Wim Taymans  <wim@fluendo.com>
14620
14621         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14622         Post error messages on errors.
14623
14624 2005-07-14  Wim Taymans  <wim@fluendo.com>
14625
14626         * gst/gstcaps.c: (gst_caps_do_simplify):
14627         Remove debug info.
14628
14629         * gst/gsterror.h:
14630         Define error for stream stopped.
14631
14632         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14633         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14634         Do proper return values.
14635
14636         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14637         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14638         (gst_pad_get_range):
14639         Better return values.
14640
14641         * gst/gstpad.h:
14642         Reorganise return values, add macro to check for fatal errors.
14643
14644         * gst/gstqueue.c: (gst_queue_chain):
14645         Return proper GstFlowReturn values,
14646
14647 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14648
14649         * docs/gst/gstreamer-sections.txt:
14650         * docs/gst/gstreamer.types:
14651         * docs/gst/tmpl/gst.sgml:
14652         * docs/gst/tmpl/gstbasesink.sgml:
14653         * docs/gst/tmpl/gstbasesrc.sgml:
14654         * docs/gst/tmpl/gstbasetransform.sgml:
14655         * docs/gst/tmpl/gstbin.sgml:
14656         * docs/gst/tmpl/gstbuffer.sgml:
14657         * docs/gst/tmpl/gstcaps.sgml:
14658         * docs/gst/tmpl/gstclock.sgml:
14659         * docs/gst/tmpl/gstcompat.sgml:
14660         * docs/gst/tmpl/gstconfig.sgml:
14661         * docs/gst/tmpl/gstelement.sgml:
14662         * docs/gst/tmpl/gstelementdetails.sgml:
14663         * docs/gst/tmpl/gstelementfactory.sgml:
14664         * docs/gst/tmpl/gstenumtypes.sgml:
14665         * docs/gst/tmpl/gsterror.sgml:
14666         * docs/gst/tmpl/gstevent.sgml:
14667         * docs/gst/tmpl/gstfakesink.sgml:
14668         * docs/gst/tmpl/gstfakesrc.sgml:
14669         * docs/gst/tmpl/gstfilesink.sgml:
14670         * docs/gst/tmpl/gstfilesrc.sgml:
14671         * docs/gst/tmpl/gstfilter.sgml:
14672         * docs/gst/tmpl/gstformat.sgml:
14673         * docs/gst/tmpl/gstghostpad.sgml:
14674         * docs/gst/tmpl/gstimplementsinterface.sgml:
14675         * docs/gst/tmpl/gstindex.sgml:
14676         * docs/gst/tmpl/gstindexfactory.sgml:
14677         * docs/gst/tmpl/gstinfo.sgml:
14678         * docs/gst/tmpl/gstiterator.sgml:
14679         * docs/gst/tmpl/gstmacros.sgml:
14680         * docs/gst/tmpl/gstmemchunk.sgml:
14681         * docs/gst/tmpl/gstminiobject.sgml:
14682         * docs/gst/tmpl/gstobject.sgml:
14683         * docs/gst/tmpl/gstpad.sgml:
14684         * docs/gst/tmpl/gstpadtemplate.sgml:
14685         * docs/gst/tmpl/gstparse.sgml:
14686         * docs/gst/tmpl/gstpipeline.sgml:
14687         * docs/gst/tmpl/gstplugin.sgml:
14688         * docs/gst/tmpl/gstpluginfeature.sgml:
14689         * docs/gst/tmpl/gstquery.sgml:
14690         * docs/gst/tmpl/gstqueue.sgml:
14691         * docs/gst/tmpl/gstregistry.sgml:
14692         * docs/gst/tmpl/gstregistrypool.sgml:
14693         * docs/gst/tmpl/gstscheduler.sgml:
14694         * docs/gst/tmpl/gstschedulerfactory.sgml:
14695         * docs/gst/tmpl/gststructure.sgml:
14696         * docs/gst/tmpl/gstsystemclock.sgml:
14697         * docs/gst/tmpl/gsttaglist.sgml:
14698         * docs/gst/tmpl/gsttagsetter.sgml:
14699         * docs/gst/tmpl/gsttrace.sgml:
14700         * docs/gst/tmpl/gsttrashstack.sgml:
14701         * docs/gst/tmpl/gsttypefind.sgml:
14702         * docs/gst/tmpl/gsttypefindfactory.sgml:
14703         * docs/gst/tmpl/gsttypes.sgml:
14704         * docs/gst/tmpl/gsturihandler.sgml:
14705         * docs/gst/tmpl/gsturitype.sgml:
14706         * docs/gst/tmpl/gstutils.sgml:
14707         * docs/gst/tmpl/gstvalue.sgml:
14708         * docs/gst/tmpl/gstversion.sgml:
14709         * docs/gst/tmpl/gstxml.sgml:
14710         * docs/libs/tmpl/gstcontrol.sgml:
14711         * docs/libs/tmpl/gstdataprotocol.sgml:
14712         * docs/libs/tmpl/gstdparam.sgml:
14713         * docs/libs/tmpl/gstdplinint.sgml:
14714         * docs/libs/tmpl/gstdpman.sgml:
14715         * docs/libs/tmpl/gstdpsmooth.sgml:
14716         * docs/libs/tmpl/gstgetbits.sgml:
14717         * docs/libs/tmpl/gstunitconvert.sgml:
14718         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14719         (gst_push_src_base_init), (gst_push_src_class_init),
14720         (gst_push_src_init), (gst_push_src_create):
14721         * gst/base/gstpushsrc.h:
14722         * gst/elements/gstelements.c:
14723         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14724         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14725         (gst_fake_sink_init), (gst_fake_sink_set_property),
14726         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14727         (gst_fake_sink_event), (gst_fake_sink_preroll),
14728         (gst_fake_sink_render), (gst_fake_sink_change_state):
14729         * gst/elements/gstfakesink.h:
14730         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14731         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14732         (gst_fake_src_base_init), (gst_fake_src_class_init),
14733         (gst_fake_src_init), (gst_fake_src_event_handler),
14734         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14735         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14736         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14737         (gst_fake_src_create_buffer), (gst_fake_src_create),
14738         (gst_fake_src_start), (gst_fake_src_stop):
14739         * gst/elements/gstfakesrc.h:
14740         * gst/elements/gstfilesink.c: (_do_init),
14741         (gst_file_sink_base_init), (gst_file_sink_class_init),
14742         (gst_file_sink_init), (gst_file_sink_dispose),
14743         (gst_file_sink_set_location), (gst_file_sink_set_property),
14744         (gst_file_sink_get_property), (gst_file_sink_open_file),
14745         (gst_file_sink_close_file), (gst_file_sink_query),
14746         (gst_file_sink_event), (gst_file_sink_render),
14747         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14748         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14749         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14750         * gst/elements/gstfilesink.h:
14751         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14752         (gst_file_src_class_init), (gst_file_src_init),
14753         (gst_file_src_finalize), (gst_file_src_set_location),
14754         (gst_file_src_set_property), (gst_file_src_get_property),
14755         (gst_file_src_map_region), (gst_file_src_map_small_region),
14756         (gst_file_src_create_mmap), (gst_file_src_create_read),
14757         (gst_file_src_create), (gst_file_src_is_seekable),
14758         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14759         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14760         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14761         (gst_file_src_uri_handler_init):
14762         * gst/elements/gstfilesrc.h:
14763           more autistic cleanliness in functions/names/defines
14764
14765 2005-07-13  Andy Wingo  <wingo@pobox.com>
14766
14767         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14768         source couldn't negotiate.
14769
14770         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14771         connections again.
14772
14773         * gst/gstutils.h:
14774         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14775         function. I am channeling Hades. Put your boots on suckers!!!
14776
14777 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14778
14779         * testsuite/caps/Makefile.am:
14780         * testsuite/caps/value_compare.c:
14781         * testsuite/caps/value_intersect.c:
14782         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14783           move two testsuite apps over to the check dir
14784
14785 2005-07-12  Wim Taymans  <wim@fluendo.com>
14786
14787         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14788         Added more debug info in the negotiate process.
14789
14790         * gst/gstmessage.h:
14791         Prepare for segment playback.
14792
14793         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14794         Better debugging.
14795
14796         * gst/gstutils.c:
14797         Some more docs.
14798
14799         * tools/gst-launch.c: (main):
14800         NULL pipeline on errors.
14801
14802 2005-07-12  Andy Wingo  <wingo@pobox.com>
14803
14804         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14805         not it comes from a malloc region. Make sure our copy gets freed.
14806
14807 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14808
14809         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14810         * check/gst/gstmessage.c: (GST_START_TEST):
14811         * check/gst/gststructure.c: (GST_START_TEST),
14812         (gst_structure_suite), (main):
14813           more testing
14814         * gst/gstelement.c: (gst_element_message_full):
14815           clean up GError and debug string now that they get copied
14816         * gst/gstmessage.c: (gst_message_new_error),
14817         (gst_message_new_warning), (gst_message_parse_error),
14818         (gst_message_parse_warning):
14819           use GST_TYPE_G_ERROR for structure_new, and take copies of
14820           arguments, so that we don't mess up refcounting
14821
14822 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14823
14824         * check/Makefile.am:
14825           add per-test valgrind targets
14826         * check/gst-libs/gdp.c: (GST_START_TEST),
14827         (gst_data_protocol_suite), (main):
14828           clean up
14829
14830 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14831
14832         * check/Makefile.am:
14833           instate more valgrindable tests
14834         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14835         (GST_START_TEST), (fakesrc_suite):
14836         * check/gst/gstpad.c: (GST_START_TEST):
14837         * check/gst/gststructure.c: (GST_START_TEST):
14838           fix test leaks
14839         * docs/gst/tmpl/gstminiobject.sgml:
14840         * gst/gstpad.c: (gst_pad_finalize):
14841           fix the static mutex leak
14842
14843 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14844
14845         * check/Makefile.am:
14846           add two more tests for valgrinding
14847         * check/gst/gstvalue.c: (GST_START_TEST):
14848           test refcount of deserialized buffer, found a leak
14849         * docs/gst/gstreamer-docs.sgml:
14850         * docs/gst/gstreamer-sections.txt:
14851         * docs/gst/gstreamer.types:
14852         * docs/gst/tmpl/gstminiobject.sgml:
14853           add miniobject to docs
14854         * gst/gstminiobject.c:
14855           add some docs
14856         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14857         (gst_string_unwrap):
14858           fix a hard-to-find invalid write for one of the tests
14859           fix a leak for deserialized buffers
14860
14861 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14862
14863         * docs/pwg/advanced-events.xml:
14864         * docs/pwg/advanced-request.xml:
14865         * docs/pwg/advanced-scheduling.xml:
14866         * docs/pwg/appendix-porting.xml:
14867         * docs/pwg/building-boiler.xml:
14868         * docs/pwg/intro-preface.xml:
14869         * docs/pwg/other-ntoone.xml:
14870           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14871           of example code and explanation for pad activation, loop() and
14872           getrange() functions and a bit more. Remove old comments pointing
14873           to loop-functions.
14874         * examples/pwg/Makefile.am:
14875           Add loop/getrange examples.
14876
14877 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14878
14879         * configure.ac:
14880           check for valgrind binary + some fixes
14881         * check/gst.supp:
14882           valgrind suppressions for the tests
14883         * check/Makefile.am:
14884           add a valgrind: target that valgrinds the unit tests
14885         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14886         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14887         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14888         * check/gst/gstghostpad.c:
14889           added some cleanup
14890         * check/gst/gstdata.c:
14891           removed
14892         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14893         (thread_unref), (gst_mini_object_suite), (main):
14894           added
14895         * gst/gst.c: (gst_deinit):
14896         * gst/gst.h:
14897           add a method to clean up.
14898         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14899         (gst_system_clock_obtain):
14900           allow for disposing the system clock.
14901         * tools/gst-launch.c: (main):
14902           deinit
14903
14904 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14905
14906         * docs/gst/tmpl/gstbasesrc.sgml:
14907         * docs/gst/tmpl/gstfakesrc.sgml:
14908         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14909         (gst_base_src_init), (gst_base_src_set_property),
14910         (gst_base_src_get_property), (gst_base_src_get_range),
14911         (gst_base_src_start):
14912         * gst/base/gstbasesrc.h:
14913           add num-buffers property
14914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14915         (gst_fakesrc_init), (gst_fakesrc_set_property),
14916         (gst_fakesrc_get_property), (gst_fakesrc_create),
14917         (gst_fakesrc_start):
14918           remove num-buffers property
14919
14920 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14921
14922         * docs/gst/gstreamer-sections.txt:
14923         * docs/gst/tmpl/gstbasesink.sgml:
14924         * docs/gst/tmpl/gstbasesrc.sgml:
14925         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14926         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14927         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14928         (gst_base_sink_set_property), (gst_base_sink_get_property),
14929         (gst_base_sink_handle_object), (gst_base_sink_event),
14930         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14931         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14932         (gst_base_sink_loop), (gst_base_sink_deactivate),
14933         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14934         (gst_base_sink_change_state):
14935         * gst/base/gstbasesink.h:
14936         * gst/base/gstbasesrc.h:
14937         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14938         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14939         (gst_filesink_init):
14940           more macro splitting
14941
14942 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14943
14944         * gst/gstelement.c: (gst_element_get_bus):
14945           add debug
14946         * tools/gst-launch.c: (check_intr), (event_loop):
14947           fix bus leaks
14948
14949 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14952           fix a caps leak
14953
14954 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14955
14956         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14957         (gst_base_src_finalize):
14958           add finalize method and clean up properly
14959         * gst/gstpipeline.c: (gst_pipeline_dispose):
14960           add debug
14961
14962 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14963
14964         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14965         (gst_bin_suite):
14966           add more things to check
14967         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14968         * gst/gstelement.c:
14969           more debug
14970
14971 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14974         (GST_START_TEST), (fakesrc_suite):
14975         * check/gst-libs/gdp.c: (GST_START_TEST):
14976         * check/gst/gst.c: (GST_START_TEST):
14977         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14978         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14979         * check/gst/gstbus.c: (GST_START_TEST):
14980         * check/gst/gstcaps.c: (GST_START_TEST):
14981         * check/gst/gstdata.c: (GST_START_TEST):
14982         * check/gst/gstelement.c: (GST_START_TEST):
14983         * check/gst/gstghostpad.c: (GST_START_TEST):
14984         * check/gst/gstiterator.c: (GST_START_TEST):
14985         * check/gst/gstmessage.c: (GST_START_TEST):
14986         * check/gst/gstobject.c: (GST_START_TEST):
14987         * check/gst/gstpad.c: (GST_START_TEST):
14988         * check/gst/gststructure.c: (GST_START_TEST):
14989         * check/gst/gstsystemclock.c: (GST_START_TEST),
14990         (gst_systemclock_suite):
14991         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14992         * check/gst/gstvalue.c: (GST_START_TEST):
14993         * check/pipelines/cleanup.c: (GST_START_TEST):
14994         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14995         * check/states/sinks.c: (GST_START_TEST):
14996         * check/gstcheck.c: (gst_check_init):
14997         * check/gstcheck.h:
14998           add debugging category
14999           use GST_START_TEST now, so we add a debug line
15000
15001 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15002
15003         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15004           add test for state change message on a bin
15005         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15006           add another test
15007         * gst/gstbin.c: (gst_bin_init):
15008         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15009         * gst/gstelement.c: (gst_element_post_message),
15010         (gst_element_set_state):
15011         * gst/gstelementfactory.c: (gst_element_factory_create):
15012         * gst/gstmessage.c: (gst_message_new):
15013         * gst/gstscheduler.c:
15014           various debugging additions and cleanups
15015
15016 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15017
15018         * check/Makefile.am:
15019         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15020         (main):
15021           adding tests for elements
15022         * gst/gstelement.c: (gst_element_dispose):
15023
15024 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15025
15026         * gst/registries/gstlibxmlregistry.c: (load_feature):
15027           plug more leaks.  A simple gst_init() now is leakfree, yay.
15028
15029 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15030
15031         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15032         (gst_xml_registry_load):
15033           plug another memleak
15034
15035 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15036
15037         * configure.ac:
15038           use GST_SET_ERROR_CFLAGS
15039         * docs/faq/cvs.xml:
15040           change to ERROR_CFLAGS
15041
15042 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15043
15044         * configure.ac:
15045           make GST_ERROR_CFLAGS overridable and re-enable Werror
15046         * docs/faq/cvs.xml:
15047           add a note about error CFLAGS
15048         * docs/gst/tmpl/gstfakesrc.sgml:
15049         * gst/elements/gstfakesrc.c:
15050           comment out some unused code
15051         * gst/gst.c: (split_and_iterate):
15052         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15053         (load_feature):
15054           plug some memleaks
15055
15056 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15057
15058         * common/Makefile.am:
15059         * common/gtk-doc.mak:
15060         * docs/gst/Makefile.am:
15061           factor out gtk-doc.mak
15062
15063 2005-07-07  Wim Taymans  <wim@fluendo.com>
15064
15065         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15066         (gst_thread_scheduler_dispose):
15067         Unlock the STREAM_LOCK completely.
15068
15069 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15070
15071         * check/Makefile.am:
15072         * check/elements/.cvsignore:
15073         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15074         (START_TEST), (fakesrc_suite), (main):
15075         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15076         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15077         (gst_fakesrc_create), (gst_fakesrc_start):
15078         * gst/elements/gstfakesrc.h:
15079           adding a first element test
15080
15081 2005-07-07  Andy Wingo  <wingo@pobox.com>
15082
15083         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15084         debug message.
15085
15086 2005-07-07  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/gstquery.c:
15089         * gst/gstquery.h:
15090         Remove old types
15091
15092 2005-07-07  Wim Taymans  <wim@fluendo.com>
15093
15094         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15095         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15096         Allow subclasses to implement their own negotiation.
15097
15098 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15099
15100         * docs/design/part-gstbin.txt:
15101         * docs/design/part-gstpipeline.txt:
15102           Update design notes to reflect the movement of
15103           responsibility for bus handling from GstPipeline to
15104           GstBin
15105
15106 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15107
15108         * configure.ac:
15109           Remove unnecessary queue2/3/4 examples.
15110
15111 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15112
15113         * examples/Makefile.am:
15114         * examples/helloworld/helloworld.c: (event_loop), (main):
15115         * examples/queue/queue.c: (event_loop), (main):
15116         * examples/queue2/queue2.c: (main):
15117           Update a couple of the examples to work again.
15118
15119         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15120         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15121          Spelling corrections and extra debug.
15122         
15123         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15124         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15125         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15126         * gst/gstbin.h:
15127         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15128         (gst_pipeline_change_state):
15129         * gst/gstpipeline.h:
15130           Move the bus handler for children to the GstBin, and create a
15131           separate bus for receiving messages from children to the one the
15132           bus sends 'upwards' on.
15133
15134 2005-07-06  Wim Taymans  <wim@fluendo.com>
15135
15136         * gst/base/README:
15137         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15138         (gst_base_sink_handle_object), (gst_base_sink_loop),
15139         (gst_base_sink_change_state):
15140         * gst/base/gstbasesink.h:
15141         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15142         (gst_base_src_init), (gst_base_src_setcaps),
15143         (gst_base_src_getcaps), (gst_base_src_loop),
15144         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15145         (gst_base_src_start), (gst_base_src_change_state):
15146         * gst/base/gstbasesrc.h:
15147         Make basesrc negotiate.
15148         Handle the case where preroll fails in basesink.
15149         Update README.
15150
15151 2005-07-06  Wim Taymans  <wim@fluendo.com>
15152
15153         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15154         Implement the fixate function.
15155         Clean up acceptcaps.
15156
15157 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15158
15159         * docs/pwg/building-filterfactory.xml:
15160         * docs/pwg/pwg.xml:
15161           Remove never-written filter-factory chapter; I'll add the various
15162           base classes to part 4 ("other element types") later on.
15163
15164 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15165
15166         * docs/pwg/advanced-negotiation.xml:
15167         * docs/pwg/building-boiler.xml:
15168         * docs/pwg/building-pads.xml:
15169         * docs/pwg/pwg.xml:
15170         * examples/pwg/Makefile.am:
15171           Add a chapter on caps negotiation, simplify the original code
15172           samples a bit w.r.t. caps negotiation, add link to the advanced
15173           section. Add a bunch of examples showing different use cases of
15174           different types of caps negotiation. Upstream renegotiation isn't
15175           fully documented yet since nobody knows how that works.
15176
15177 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15178
15179         * check/gst/gstpad.c:
15180         * check/gstcheck.c:
15181         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15182           if pad has no parent, return NULL as list of internal links
15183
15184 2005-07-05  Andy Wingo  <wingo@pobox.com>
15185
15186         * gst/elements/gstfilesrc.c:
15187         * gst/elements/gstfakesrc.c: 
15188         * gst/base/gstpushsrc.c:
15189         * gst/base/gstbasesrc.h: 
15190         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15191         
15192 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15193
15194         * Makefile.am:
15195           better report generation target (lcov needs a patch)
15196
15197 2005-07-05  Andy Wingo  <wingo@pobox.com>
15198
15199         * gst/elements, testsuite: Null if we got it...
15200
15201 2005-07-05  Wim Taymans  <wim@fluendo.com>
15202
15203         * configure.ac:
15204         * libs/gst/dataprotocol/Makefile.am:
15205         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15206         * libs/gst/dataprotocol/dataprotocol.h:
15207         * pkgconfig/Makefile.am:
15208         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15209         * pkgconfig/gstreamer-dataprotocol.pc.in:
15210         Ported dataprotol to 0.9. 
15211         Added pkgconfig files.
15212
15213 2005-07-05  Andy Wingo  <wingo@pobox.com>
15214
15215         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15216         Default to returning TRUE for the case when tranform_caps returns
15217         a fixed caps, like for identity or volume.
15218
15219         * check/gst/gstbus.c (pound_bus_with_messages): 
15220         * check/gst/gstmessage.c (START_TEST): 
15221         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15222         message API change.
15223
15224         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15225         logic weaks here: always run transform_caps, trying passthrough
15226         operation only if the original caps intersects with the transform.
15227
15228         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15229         source and sink caps.
15230
15231         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15232         Intersect the peer caps with the pad template before going into
15233         transform_caps.
15234         (gst_base_transform_transform_caps): More debugging.
15235
15236         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15237         src argument.
15238
15239 2005-07-04  Edward Hervey  <edward@fluendo.com>
15240
15241         * gst/gstutils.c:
15242         * gst/gstutils.h:
15243         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15244         in bindings.
15245
15246 2005-07-04  Andy Wingo  <wingo@pobox.com>
15247
15248         * check/gst/gstpad.c: Only set explicit caps on pads.
15249
15250 2005-07-01  Andy Wingo  <wingo@pobox.com>
15251
15252         * tests/network-clock.scm: Commentary update.
15253
15254         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15255         Didn't really make sense, not implementable with basetransform,
15256         etc.
15257         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15258         attempt at implementing the sync property, needs an unlock method.
15259
15260         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15261         New func, by default returns the same caps (the identity
15262         transformation).
15263         (gst_base_transform_getcaps): Uses transform_caps to return
15264         something sensible.
15265         (gst_base_transform_setcaps): Complicated logic to get caps on
15266         both pads, even if they are different, and to call set_caps once
15267         for every time both pads get their caps set.
15268         (gst_base_transform_handle_buffer): Give the ref to the transform
15269         function. Allows in-place modification of the buffer.
15270
15271         * gst/base/gstbasetransform.h (transform_caps): New class method.
15272         Given caps on one side, what can I do on the other.
15273         (set_caps): Take two caps, one for each side of the element.
15274
15275         * gst/gstpad.h:
15276         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15277         caps in place. This is safe because we can check the mutability of
15278         the caps, and a good idea because fixate functions are just called
15279         as a matter of last resort. (Not actually implemented.)
15280         (gst_pad_set_caps): If the caps we're setting is actually the same
15281         as the existing pad caps, just update the pointer without calling
15282         setcaps. Assert that caps is either NULL or fixed, as per the
15283         docs.
15284
15285         * gst/gstghostpad.c: Update for fixate changes.
15286
15287 2005-07-02  Andy Wingo  <wingo@pobox.com>
15288
15289         * gst/gstcaps.c:
15290         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15291         two refcounts makes it immutable, which is enough. Doc more.
15292
15293 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15294
15295         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15296           Put the mini_object into GValue as a mini_object,
15297           not a gpointer, since that's how we declared
15298           the signal.
15299
15300 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15301
15302         * examples/pwg/Makefile.am:
15303           Fix buildbot again.
15304
15305 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15306
15307         * docs/pwg/building-testapp.xml:
15308           Add extra check.
15309         * examples/pwg/Makefile.am:
15310           Fix buildbot.
15311
15312 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15313
15314         * configure.ac:
15315         * examples/Makefile.am:
15316         * examples/pwg/Makefile.am:
15317         * examples/pwg/extract.pl:
15318           Enable building the PWG examples.
15319         * docs/pwg/advanced-interfaces.xml:
15320           Add URI interface stub.
15321         * docs/pwg/advanced-types.xml:
15322         * docs/pwg/other-autoplugger.xml:
15323         * docs/pwg/appendix-porting.xml:
15324         * docs/pwg/pwg.xml:
15325           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15326         * docs/pwg/building-boiler.xml:
15327         * docs/pwg/building-chainfn.xml:
15328         * docs/pwg/building-pads.xml:
15329         * docs/pwg/building-props.xml:
15330         * docs/pwg/building-state.xml:
15331         * docs/pwg/building-testapp.xml:
15332           Update the building-*.xml parts for 0.9 changes. All examples
15333           code blocks compile in examples/pwg/*.
15334
15335 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15336
15337         * docs/manual/advanced-autoplugging.xml:
15338         * docs/manual/appendix-checklist.xml:
15339         * docs/manual/appendix-integration.xml:
15340         * docs/manual/highlevel-components.xml:
15341           Fix playbin/decodebin examples, update docs a bit, mention bus
15342           instead of signals in various places, mention kmplayer and
15343           kaffeine since they have a working GStreamer backend in the KDE
15344           section.
15345
15346 2005-06-30  Wim Taymans  <wim@fluendo.com>
15347
15348         * CHANGES-0.9:
15349         * docs/design/draft-ghostpads.txt:
15350         * docs/design/draft-push-pull.txt:
15351         * docs/design/draft-query.txt:
15352         * docs/design/part-TODO.txt:
15353         * docs/design/part-query.txt:
15354         Added CHANGES-0.9 doc, updated status of other docs.
15355         
15356         * gst/gstquery.h:
15357         Remove "hmm" macro
15358
15359 2005-06-30  Wim Taymans  <wim@fluendo.com>
15360
15361         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15362         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15363         (gst_base_sink_change_state):
15364         * gst/base/gstbasesink.h:
15365         Some tweaks, only EOS and a buffer complete a preroll.
15366
15367 2005-06-30  Andy Wingo  <wingo@pobox.com>
15368
15369         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15370         activate_push down to the internal pad as well.
15371
15372 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15373
15374         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15375
15376         * gst/gsttaginterface.c:
15377           Some documentation fixes (#307394 and #307397).
15378
15379 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15380
15381         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15382
15383         * gst/gstvalue.c: (gst_value_intersect_list):
15384           Fix memleak (#309125).
15385
15386 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15387
15388         * docs/manual/advanced-dataaccess.xml:
15389           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15390         * docs/manual/basics-pads.xml:
15391           Add reference for filtered caps to above chapter.
15392
15393 2005-06-30  Wim Taymans  <wim@fluendo.com>
15394
15395         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15396         (gst_bin_change_state):
15397         Probes are gone.
15398         Lame attempt at making the state change function a bit
15399         more readable.
15400
15401 2005-06-30  Wim Taymans  <wim@fluendo.com>
15402
15403         * docs/design/part-clocks.txt:
15404         * docs/design/part-element-sink.txt:
15405         * docs/design/part-events.txt:
15406         * docs/design/part-preroll.txt:
15407         * docs/design/part-states.txt:
15408         Some more tweeks and additions to the docs.
15409
15410 2005-06-30  Wim Taymans  <wim@fluendo.com>
15411
15412         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15413         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15414         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15415         (gst_pad_check_pull_range), (gst_pad_get_range),
15416         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15417         * gst/gstpad.h:
15418         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15419         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15420         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15421         (gst_pad_remove_buffer_probe):
15422         Removed atomic operations, use existing LOCK.
15423         Move exception handling out of main code path.
15424
15425 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15426
15427         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15428         (silly_return_true_function), (gst_pad_class_init),
15429         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15430         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15431         (gst_pad_send_event):
15432           Fix accumulator, add default value by using _emitv() instead
15433           of _emit() for signal emission.
15434
15435 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15436
15437         * docs/manual/advanced-dataaccess.xml:
15438         * examples/manual/Makefile.am:
15439           Add probe example.
15440         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15441           Make work (??).
15442
15443 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15444
15445         * gst/elements/gstfilesink.c: (gst_filesink_render):
15446           Simplify code so that we don't have to handle short
15447           writes and return GST_FLOW_ERROR if an error occured.
15448
15449 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15450
15451         * docs/gst/gstreamer-docs.sgml:
15452           Remove probes more.
15453
15454 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15455
15456         * docs/gst/gstreamer-sections.txt:
15457         * docs/gst/tmpl/gstpad.sgml:
15458         * docs/gst/tmpl/gstprobe.sgml:
15459         * gst/Makefile.am:
15460         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15461         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15462         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15463         (gst_pad_push_event), (gst_pad_send_event):
15464         * gst/gstpad.h:
15465         * gst/gstutils.c: (gst_pad_add_data_probe),
15466         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15467         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15468         (gst_pad_remove_buffer_probe):
15469         * gst/gstutils.h:
15470           Remove old probes, add new g-signal-based probes and some utility
15471           functions.
15472
15473 2005-06-29  Edward Hervey  <edward@fluendo.com>
15474
15475         * gst/gstelementfactory.c:
15476         * gst/gstutils.h:
15477         * gst/gstutils.c:
15478         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15479         the definition to the header file.
15480
15481 2005-06-29  Andy Wingo  <wingo@pobox.com>
15482
15483         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15484         plugins from the source directory.
15485
15486 2005-06-29  Wim Taymans  <wim@fluendo.com>
15487
15488         * docs/gst/tmpl/gstbuffer.sgml:
15489         * docs/gst/tmpl/gstclock.sgml:
15490         Some fixings for blantently wrong text.
15491
15492 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15493
15494         * check/Makefile.am:
15495         * gst/gst.c: (add_path_func), (init_pre):
15496         * gst/gstregistry.c: (gst_registry_add_path):
15497           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15498           only scan the GST_PLUGIN_PATH locations, and not add
15499           system locations
15500
15501 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15502
15503         * docs/gst/gstreamer-sections.txt:
15504         * docs/gst/tmpl/gstbasesrc.sgml:
15505         * gst/gstelement.c:
15506         * gst/gstelement.h:
15507         * gst/gstevent.c:
15508         * gst/gstutils.c:
15509           doc fixes
15510
15511 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15512
15513         * docs/manual/advanced-autoplugging.xml:
15514           Fix autoplugging example.
15515
15516 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15517
15518         * docs/manual/advanced-autoplugging.xml:
15519         * docs/manual/mime-world.fig:
15520           Try to get autoplugging working, fix type detection. Fix text
15521           in hello-world image.
15522
15523 2005-06-29  Wim Taymans  <wim@fluendo.com>
15524
15525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15526         (gst_base_sink_change_state):
15527         Small debug line.
15528
15529         * gst/gstclock.h:
15530         map SIGNAL and BROADCAST to the right function.
15531
15532         * gst/gstobject.h:
15533         Remove redundant braces.
15534
15535         * gst/gstpad.c: (gst_pad_set_caps):
15536         Don't call setcaps function when reseting caps to NULL.
15537
15538         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15539         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15540         (gst_system_clock_id_unschedule):
15541         Use BROADCAST as this is what we do.
15542
15543 2005-06-29  Wim Taymans  <wim@fluendo.com>
15544
15545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15546         We are actually prerolling before commiting the state
15547         change. 
15548
15549 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15550
15551         * docs/manual/advanced-clocks.xml:
15552         * docs/manual/advanced-interfaces.xml:
15553         * docs/manual/advanced-metadata.xml:
15554         * docs/manual/advanced-position.xml:
15555         * docs/manual/advanced-schedulers.xml:
15556         * docs/manual/advanced-threads.xml:
15557         * docs/manual/appendix-porting.xml:
15558         * docs/manual/basics-bins.xml:
15559         * docs/manual/basics-bus.xml:
15560         * docs/manual/basics-elements.xml:
15561         * docs/manual/basics-helloworld.xml:
15562         * docs/manual/basics-pads.xml:
15563         * docs/manual/highlevel-components.xml:
15564         * docs/manual/manual.xml:
15565         * docs/manual/thread.fig:
15566           Update (until threads/scheduling) Application Development Manual;
15567           remove GstThread, add GstBus, add simple porting checklist, add
15568           documentation for tag writing, clocks, make all examples until this
15569           part compile and run.
15570         * examples/manual/Makefile.am:
15571           Update from changes to Application Development Manual; add bus
15572           example, remove thread example.
15573
15574 2005-06-28  Wim Taymans  <wim@fluendo.com>
15575
15576         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15577         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15578         (gst_bus_source_dispatch):
15579         Add debugging messages.
15580         Make internal methods static.
15581         Handle the case where the bus is flushed in the handler.
15582         
15583         * gst/gstelement.c: (gst_element_get_bus):
15584         Fix refcount in _get_bus();
15585
15586         * gst/gstpipeline.c: (gst_pipeline_change_state),
15587         (gst_pipeline_get_clock_func):
15588         Clock refcounting fixes.
15589         Handle the case where preroll timed out more gracefully.
15590         
15591         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15592         Clean up the internal thread in dispose. This is needed
15593         for subclasses that actually get disposed.
15594         
15595         * gst/schedulers/threadscheduler.c:
15596         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15597         (gst_thread_scheduler_dispose):
15598         Free thread pool in dispose.
15599
15600 2005-06-28  Andy Wingo  <wingo@pobox.com>
15601
15602         * tests/network-clock-utils.scm (debug, print-event): New utils.
15603
15604         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15605         (*packet-loss*): Unified loss probability.
15606         (network-time): Report out-of-band events.
15607
15608         * tests/plot-data: Add support for out-of-band events. Hack it
15609         into this script instead of passing it down the pipe; should fix
15610         this later.
15611
15612 2005-06-28  Wim Taymans  <wim@fluendo.com>
15613
15614         * docs/gst/gstreamer.types:
15615         * docs/gst/tmpl/gstbasesrc.sgml:
15616         * docs/gst/tmpl/gstpad.sgml:
15617         Docs fixes.
15618
15619 2005-06-28  Wim Taymans  <wim@fluendo.com>
15620
15621         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15622         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15623         (gst_proxy_pad_do_fixatecaps):
15624         Correctly proxy the check_pull_range function.
15625
15626 2005-06-28  Andy Wingo  <wingo@pobox.com>
15627
15628         * tests/network-clock.scm: Removed need for slib.
15629         
15630 2005-06-28  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15633         (gst_basesink_preroll_queue_flush):
15634         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15635         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15636         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15637         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15638         (gst_proxy_pad_set_property):
15639         * gst/gstpad.c:
15640         * gst/gstpad.h:
15641         * gst/gstqueue.c: (gst_queue_init):
15642         The deprecated pad loop function is removed now.
15643
15644 2005-06-28  Andy Wingo  <wingo@pobox.com>
15645
15646         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15647         New parameters, simulate network packet loss.
15648
15649         * tests/network-clock-utils.scm: Initialize the RNG.
15650
15651 2005-06-28  Wim Taymans  <wim@fluendo.com>
15652
15653         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15654         (gst_basesink_event), (gst_basesink_deactivate):
15655         Flushing the preroll queue always needs to unlock the waiters.
15656
15657 2005-06-28  Edward Hervey  <edward@fluendo.com>
15658
15659         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15660         Wheen a seek was successful on a pipeline, set the stream_time to the
15661         seek offset in order to have a synchronized stream_time.
15662
15663 2005-06-28  Wim Taymans  <wim@fluendo.com>
15664
15665         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15666         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15667         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15668         (gst_proxy_pad_do_fixatecaps):
15669         Call wrapper function instead of just calling the function
15670         pointers. This takes care of any locking and whatmore.
15671
15672 2005-06-28  Wim Taymans  <wim@fluendo.com>
15673
15674         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15675         (gst_pad_pull_range):
15676         * gst/gstpad.h:
15677         CONNECTED -> LINKED.
15678
15679 2005-06-28  Andy Wingo  <wingo@pobox.com>
15680
15681         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15682         source-munging commit!!!
15683
15684         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15685         (gst_object_sink): Take gpointer arguments, not GstObject --
15686         avoids casts. Like GLib.
15687
15688         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15689         activate.
15690
15691 2005-06-27  Andy Wingo  <wingo@pobox.com>
15692
15693         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15694         remaining buffer.
15695
15696         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15697         returns a sorted copy of the trace list.
15698         (gst_alloc_trace_print_live): New API, only prints traces with
15699         live objects. Sort the list.
15700         (gst_alloc_trace_print_all): Sort the list.
15701         (gst_alloc_trace_print): Align columns.
15702
15703         * gst/elements/gstttypefindelement.c:
15704         * gst/elements/gsttee.c:
15705         * gst/base/gstbasesrc.c:
15706         * gst/base/gstbasesink.c:
15707         * gst/base/gstbasetransform.c:
15708         * gst/gstqueue.c: Adapt for pad activation changes.
15709
15710         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15711         sched.
15712         (gst_pipeline_dispose): Drop ref on sched.
15713
15714         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15715         (gst_pad_activate_default): Push mode by default.
15716         (pre_activate_switch, post_activate_switch): New stubs, things to
15717         do before and after switching activation modes on pads.
15718         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15719         the pad's activate function to choose which mode to activate.
15720         Shortcut on deactivation and call the right function directly.
15721         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15722         mode.
15723         (gst_pad_activate_push): New API, same for push mode.
15724         (gst_pad_set_activate_function) 
15725         (gst_pad_set_activatepull_function) 
15726         (gst_pad_set_activatepush_function): Setters for new API.
15727
15728         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15729         Trace all miniobjects.
15730         (gst_mini_object_make_writable): Unref the arg if we copy, like
15731         gst_caps_make_writable.
15732
15733         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15734
15735         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15736         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15737         Adapt for new pad API.
15738
15739         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15740
15741         * gst/gstelement.h:
15742         * gst/gstelement.c (gst_element_iterate_src_pads) 
15743         (gst_element_iterate_sink_pads): New API functions.
15744         
15745         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15746         should fold into gstiterator.c in some form.
15747         (gst_element_pads_activate): Simplified via use of fold and
15748         delegation of decisions to gstpad->activate.
15749
15750         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15751         help in debugging.
15752
15753         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15754         class once in init, like gstmessage. Didn't run into this issue
15755         but it seems correct. Don't initialize a trace, gstminiobject does
15756         that.
15757
15758         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15759         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15760         to the bus.
15761         (assert_live_count): New util function, uses alloc traces to check
15762         cleanup.
15763
15764         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15765         To be modified when unlink drops the internal pad.
15766
15767 2005-06-27  Wim Taymans  <wim@fluendo.com>
15768
15769         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15770         (gst_bin_change_state):
15771         Cleanup the get_state() function a little, make sure it
15772         iterates the same set of elements.
15773         Added stub iterate_state_order().
15774
15775 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15776
15777         * docs/gst/gstreamer-docs.sgml:
15778         * docs/gst/gstreamer-sections.txt:
15779         * docs/gst/gstreamer.types:
15780         * docs/gst/tmpl/gstbasesink.sgml:
15781         * docs/gst/tmpl/gstbasesrc.sgml:
15782         * docs/gst/tmpl/gstbasetransform.sgml:
15783         * docs/gst/tmpl/gstelement.sgml:
15784         * docs/gst/tmpl/gstiterator.sgml:
15785         * gst/base/gstbasesrc.c:
15786         * gst/base/gstbasesrc.h:
15787         * gst/base/gstbasetransform.h:
15788         * gst/gstelement.c:
15789         * gst/gstiterator.h:
15790           adding basetransform and iterator docs
15791
15792 2005-06-27  Andy Wingo  <wingo@pobox.com>
15793
15794         * docs/design/part-activation.txt: Notes on how activation should
15795         work -- not quite implemented yet.
15796
15797 2005-06-25  Wim Taymans  <wim@fluendo.com>
15798
15799         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15800         At least get the chain function correct, needs more
15801         fixing.
15802
15803 2005-06-25  Wim Taymans  <wim@fluendo.com>
15804
15805         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15806         (gst_basesink_handle_object), (gst_basesink_event),
15807         (gst_basesink_do_sync), (gst_basesink_handle_event),
15808         (gst_basesink_change_state):
15809         * gst/gsttask.h:
15810         Right, two problems here: ghostpads don't take locks and
15811         glib _rec_mutex_lock_full() with depth==0 still locks.
15812         Catch illegal locking and g_warn them.
15813
15814 2005-06-25  Wim Taymans  <wim@fluendo.com>
15815
15816         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15817         Have to check for completion now...
15818
15819 2005-06-25  Wim Taymans  <wim@fluendo.com>
15820
15821         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15822         (gst_basesink_handle_object), (gst_basesink_event),
15823         (gst_basesink_do_sync), (gst_basesink_handle_event),
15824         (gst_basesink_change_state):
15825         * gst/gstpad.h:
15826         Unlock STREAM_LOCK whatever the recursion was.
15827
15828 2005-06-25  Wim Taymans  <wim@fluendo.com>
15829
15830         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15831         (gst_basesink_preroll_queue_empty),
15832         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15833         (gst_basesink_event), (gst_basesink_do_sync),
15834         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15835         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15836         (gst_basesink_change_state):
15837         Reworked the base sink, handle event and buffer serialisation
15838         correctly and removed possible deadlock.
15839         Handle EOS correctly.
15840
15841 2005-06-25  Wim Taymans  <wim@fluendo.com>
15842
15843         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15844         (gst_pipeline_change_state):
15845         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15846         Allow elements to post EOS in the state change function.
15847         Fix up -launch, make it exit the poll loop when the
15848         pipeline actually changed state.
15849         Fix up warning parsing in -launch.
15850
15851 2005-06-25  Wim Taymans  <wim@fluendo.com>
15852
15853         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15854         (gst_tee_sink_activate):
15855         Core takes STREAM_LOCK for us now.
15856
15857 2005-06-25  Wim Taymans  <wim@fluendo.com>
15858
15859         * gst/gstelement.c: (gst_element_get_state_func),
15860         (gst_element_set_state):
15861         * gst/gstelement.h:
15862         * gst/gstmessage.c: (gst_message_parse_error),
15863         (gst_message_parse_warning):
15864         Keep track of current target state while performing a state
15865         change so that subclasses can do something interesting.
15866         Fix parsing of warning/error messages when GError is NULL.
15867
15868 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15869
15870         * docs/gst/Makefile.am:
15871         * docs/gst/gstreamer-docs.sgml:
15872         * docs/gst/gstreamer-sections.txt:
15873         * docs/gst/gstreamer.types:
15874         * docs/gst/tmpl/gstbasesink.sgml:
15875         * docs/gst/tmpl/gstbasesrc.sgml:
15876         * docs/gst/tmpl/gstbin.sgml:
15877         * docs/gst/tmpl/gstcompat.sgml:
15878         * docs/gst/tmpl/gstfakesink.sgml:
15879         * docs/gst/tmpl/gstfakesrc.sgml:
15880         * docs/gst/tmpl/gstfilesink.sgml:
15881         * docs/gst/tmpl/gstfilesrc.sgml:
15882         * docs/gst/tmpl/gstindex.sgml:
15883         * docs/manual/appendix-quotes.xml:
15884         * gst/base/gstbasesrc.h:
15885         * gst/elements/gstfakesrc.h:
15886         * gst/gstmessage.h:
15887           start pulling in base classes and elements in our docs
15888
15889 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15890
15891         * docs/gst/Makefile.am:
15892         * docs/libs/Makefile.am:
15893           fixed make distcheck with gtk-doc 1.3
15894
15895 2005-06-23  Wim Taymans  <wim@fluendo.com>
15896
15897         * gst/gstelement.c: (gst_element_get_state_func),
15898         (gst_element_set_state), (gst_element_change_state):
15899         When the state did not change, also report NO_PREROLL
15900         when it matters.
15901
15902 2005-06-23  Wim Taymans  <wim@fluendo.com>
15903
15904         * gst/gstpad.c: (gst_pad_event_default):
15905         * gst/gstqueue.c: (gst_queue_loop):
15906         No unsafe task pausing please.
15907
15908 2005-06-23  Wim Taymans  <wim@fluendo.com>
15909
15910         * gst/schedulers/threadscheduler.c:
15911         (gst_thread_scheduler_task_start),
15912         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15913         Ref the task before pushing it on the threadpool. This
15914         makes sure that we have a ref when the threadfunction is
15915         actually called.
15916
15917 2005-06-23  Andy Wingo  <wingo@pobox.com>
15918
15919         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15920         offset is greater than the file's size.
15921
15922         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15923         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15924         * gst/gstobject.c (gst_object_class_init): Make the class lock
15925         recursive. Wim won't let me drop deep_notify. Decodebin works
15926         again, whoopdy doo.
15927
15928         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15929         internal pad, and hacks accordingly. Doesn't do it on the target
15930         pad because we change its caps. Probably catches all cases of
15931         interest tho.
15932         (gst_ghost_pad_set_property): Connect to notify::caps as
15933         appropritate.
15934
15935         * tests/network-clock.scm (plot-simulation): Pipe data to the
15936         elite python skript.
15937
15938         * tests/network-clock-utils.scm (define-parameter): New macro,
15939         defines a parameter that can be set via the command line.
15940         (set-parameter!, parse-parameter-arguments): Command line args
15941         parser.
15942
15943         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15944         stdin.
15945
15946 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15947
15948         * gst/elements/gsttypefindelement.c:
15949         (gst_type_find_element_handle_event):
15950           Don't restart typefinding on a discont.
15951         * gst/gstelement.c: (gst_element_set_state):
15952           Debug spelling fix.
15953         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15954           Allow changing mode of an active pad.
15955           Debug output fixes.
15956         * gst/registries/gstlibxmlregistry.c: (load_feature):
15957           Don't cast a static pad template to a normal pad template.
15958
15959 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15960
15961         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15962         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15963           remove gst_strtoll completely, since it didn't actually do
15964           anything more than what g_ascii_strtoull already does.
15965           check for range errors when deserializing
15966           do a cast for the unsigned cases; but further fixing needs
15967           a decision on what the interpretation of "(int)" and
15968           deserialization should be for values that fall outside the
15969           type's boundaries (ie, refuse, or interpret as casting)
15970
15971 2005-06-23  Wim Taymans  <wim@fluendo.com>
15972
15973         * check/Makefile.am:
15974         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15975         * docs/design/part-live-source.txt:
15976         * docs/design/part-states.txt:
15977         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15978         (gst_basesrc_set_live), (gst_basesrc_is_live),
15979         (gst_basesrc_get_range), (gst_basesrc_activate),
15980         (gst_basesrc_change_state):
15981         * gst/base/gstbasesrc.h:
15982         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15983         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15984         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15985         * gst/gstelement.c: (gst_element_get_state_func),
15986         (gst_element_set_state):
15987         * gst/gstelement.h:
15988         * gst/gsttypes.h:
15989         * tools/gst-launch.c: (event_loop), (main):
15990         Added support for live sources and other elements that
15991         cannot do preroll.
15992         Updated design docs, added live-source design doc.
15993         Implemented live source functionality in basesrc
15994         Fix error condition in _bin_get_state()
15995         Implement live source handling in -launch.
15996         Added check for live sources.
15997         Fixed case in GstBin where elements were changed state
15998         multiple times.
15999
16000
16001 2005-06-23  Andy Wingo  <wingo@pobox.com>
16002
16003         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16004         borken refcounting.
16005
16006         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16007         gst_caps_replace takes care of this for us.
16008
16009         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16010         gst_pad_set_caps on the target, not just its setcaps() function.
16011
16012         * tests/network-clock.scm: 
16013         * tests/network-clock-utils.scm: A network clock simulator.
16014         Something of an algorithmic testbed before doing something in C.
16015
16016 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16017
16018         * check/Makefile.am:
16019         * check/gst/capslist.h:
16020           copy over from 0.8, and add two with bitmasks specified with
16021           (int) 0xFF...
16022         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16023           add test to parse everything from capslist.h
16024         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16025         (main):
16026           add test for structure deserialization
16027         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16028           add tests for deserialization of strings to int types
16029         * gst/gststructure.c: (gst_structure_nth_field_name):
16030         * gst/gststructure.h:
16031           add a way to get the name of a field referenced by index
16032         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16033           instead of checking if the resulting long long lies between
16034           min and max, we check if the long long would fit into
16035           a number of bytes for the final type.
16036           This fixes cases where a string represents 2^32 - 1, which
16037           when cast to int would be the (valid) -1, but is bigger than
16038           G_MAXINT
16039
16040 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16041
16042         * gst/parse/grammar.y:
16043           add a log line for type deserialization
16044
16045 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16046
16047         * check/gst/gstvalue.c: (START_TEST):
16048         * gst/gstvalue.c: (gst_value_deserialize):
16049           return long long, not int, so gint64 deserialization actually
16050           works.  Is there any flag that makes the compiler check this ?
16051           Fixes #308559
16052
16053 2005-06-22  Wim Taymans  <wim@fluendo.com>
16054
16055         * gst/gstbuffer.h:
16056         Added convenience macros for setting buffers in GValue.
16057
16058 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16059
16060         * check/gst/.cvsignore:
16061         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16062           add a test deserializing int64, and comment part out because
16063           it fails, yay !
16064
16065 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16066
16067         * check/Makefile.am:
16068         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16069         * testsuite/Makefile.am:
16070         * testsuite/caps/Makefile.am:
16071         * testsuite/caps/value_serialize.c:
16072         * testsuite/test_gst_init.c:
16073           move a value_serialize test over
16074
16075 2005-06-20  Wim Taymans  <wim@fluendo.com>
16076
16077         * gst/gstpad.c:
16078         Small doc updates.
16079         
16080         * gst/gstvalue.c: (gst_value_compare_buffer),
16081         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16082         (gst_value_compare_flags), (gst_value_serialize_flags),
16083         (gst_value_deserialize_flags), (_gst_value_initialize):
16084         Fix serialisation of buffers, they are not boxed types anymore
16085
16086 2005-06-20  Wim Taymans  <wim@fluendo.com>
16087
16088         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16089         Testcase to show error in buffer-on-caps serialisation.
16090
16091 2005-06-20  Andy Wingo  <wingo@pobox.com>
16092
16093         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16094         will be adding to later.
16095
16096         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16097         if its socks fill with rocks.
16098         (gst_system_clock_obtain): Set the name on object construction.
16099         Avoid double-checked locking.
16100
16101 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16102
16103         * gst/gsturi.c: (gst_element_make_from_uri):
16104           Fix potential endless loop.
16105
16106 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16107
16108         * check/Makefile.am:
16109           add gsttag
16110         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16111         (main):
16112           move over from testsuite dir and clean up
16113         * configure.ac:
16114         * gst/gsttag.c:
16115         * testsuite/Makefile.am:
16116         * testsuite/tags/.cvsignore:
16117         * testsuite/tags/Makefile.am:
16118         * testsuite/tags/merge.c:
16119           remove testsuite/tags
16120
16121 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16122
16123         * docs/gst/gstreamer-sections.txt:
16124         * docs/gst/tmpl/gstenumtypes.sgml:
16125         * win32/gstenumtypes.c:
16126           clean up documentation build a little
16127
16128 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16129
16130         * check/gstcheck.h:
16131           add macros for checking refcounts on objects and caps
16132         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16133           add some more unit tests
16134         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16135         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16136           fix leaked refcounts (I hope :)) so unittest works
16137         * gst/gstpad.h:
16138           whitespace removal
16139
16140 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16141
16142         * configure.ac: back to HEAD
16143
16144 === release 0.9.1 ===
16145
16146 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16147
16148         * NEWS:
16149         * RELEASE:
16150           updated
16151
16152 2005-06-17  Andy Wingo  <wingo@pobox.com>
16153
16154         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16155         assert; it's always possible that the pad gets deactivated in
16156         between the checks in gstpad.c and the implementation. Rely on
16157         finish_preroll() to return a FLUSHING or similar instead of on the
16158         assert.
16159         
16160         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16161         clock and post an EOS message if we come out of finish_preroll in
16162         the playing state.
16163
16164 2005-06-16  David Schleef  <ds@schleef.org>
16165
16166         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16167         (gst_capsfilter_set_property): Allow NULL as possible value
16168         for filter_caps property, indicating GST_CAPS_ANY.
16169
16170 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16171
16172         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16173           fix debug output
16174         * gst/schedulers/Makefile.am:
16175           use libgst prefix
16176         * gstreamer.spec.in:
16177           fix spec for it
16178
16179 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16180
16181         * gstreamer.spec.in:
16182           clean up
16183
16184 2005-06-08  Andy Wingo  <wingo@pobox.com>
16185
16186         * gst/gstutils.c: RPAD fixes all around.
16187         (gst_element_link_pads): Refcounting fixes.
16188
16189         * tools/gst-inspect.c:
16190         * tools/gst-xmlinspect.c:
16191         * parse/grammar.y:
16192         * gst/base/gsttypefindhelper.c:
16193         * gst/base/gstbasesink.c:
16194         * gst/gstqueue.c: RPAD fixes.
16195
16196         * gst/gstghostpad.h:
16197         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16198         pads. The tricky thing is they provide both source and sink
16199         interfaces, since they proxy the internal pad for the external
16200         pad, and vice versa. Implement with lower-level ProxyPad objects,
16201         with the interior proxy pad as a child of the exterior ghost pad.
16202         Should write a doc on this.
16203         
16204         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16205         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16206         gst_object API.
16207         
16208         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16209         pads are real pads. No ghost pads in this file. Not documenting
16210         the myriad s/RPAD/PAD/ and REALIZE fixes.
16211         (gst_pad_class_init): Add properties for "direction" and
16212         "template". Both are construct-only, so they can't change during
16213         the life of the pad. Fixes properly deriving from GstPad.
16214         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16215         derived objects, just set properties when creating the objects via
16216         g_object_new.
16217         (gst_pad_get_parent): Implement as a function, return NULL if the
16218         parent is not an element.
16219         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16220         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16221         
16222         * gst/gstobject.c (gst_object_class_init): Make name a construct
16223         property. Don't set it in the object init.
16224
16225         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16226         with UNKNOWN direction.
16227         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16228         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16229         (gst_element_remove_pad): Remove ghost-pad special cases.
16230         (gst_element_pads_activate): Remove rpad cruft.
16231
16232         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16233         catch the pad's-parent-not-an-element case.
16234
16235         * gst/gst.h: Include gstghostpad.h.
16236
16237         * gst/gst.c (init_post): No more real, ghost pads.
16238
16239         * gst/Makefile.am: Add gstghostpad.[ch].
16240
16241         * check/Makefile.am:
16242         * check/gst/gstbin.c:
16243         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16244         into a bin creates ghost pads, and that the refcounts are right.
16245         Partly moved from gstbin.c.
16246
16247 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16248
16249         * check/gst-libs/.cvsignore:
16250         * check/gst/.cvsignore:
16251         * check/pipelines/.cvsignore:
16252           ignore more
16253         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16254         (START_TEST), (cleanup_suite), (main):
16255           add some tests related to cleanup after running pipelines
16256
16257 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16258
16259         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16260           add a testsuite for GstBuffer
16261
16262 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16263
16264         * gst/gstminiobject.h:
16265           add defines for accessing the refcount
16266
16267 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16268
16269         * Makefile.am: added support for html unit test coverage reports
16270
16271 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16272
16273         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16274           Free existing caps if the capsfilter changes. Add a FIXME about
16275           setting those caps on the pads.
16276
16277         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16278           Before adding a ghost pad to a parent bin, check that there isn't
16279           already one for the element on the bin. Prevents infinite recursion
16280           when using decodebin in parse pipelines. Andy says he'll rewrite the
16281           way this works anyway, so ignore the hack.
16282
16283 2005-06-02  Andy Wingo  <wingo@pobox.com>
16284
16285         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16286         file size, pass it on to the type find helper.
16287
16288         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16289         segment_start and segment_end properly according to the seek
16290         method. Segment_end is still a bit flaky because offset can be
16291         negative for CUR and END cases, but it takes -1 as an "unset"
16292         value.
16293
16294 2005-06-02  Wim Taymans  <wim@fluendo.com>
16295
16296         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16297         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16298         (gst_basesink_activate):
16299         * gst/base/gstbasesink.h:
16300         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16301         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16302         (gst_pad_query), (gst_pad_start_task):
16303         * gst/gstpad.h:
16304         * gst/gstqueue.c: (gst_queue_bufferalloc),
16305         (gst_queue_handle_sink_event), (gst_queue_chain):
16306         Bufferalloc: return GstFlowReturn to more accuratly report
16307         why allocation failed.
16308
16309 2005-06-02  Wim Taymans  <wim@fluendo.com>
16310
16311         * gst/gstpipeline.c: (gst_pipeline_send_event):
16312         Take snapshot of state without blocking.
16313
16314 2005-06-02  Wim Taymans  <wim@fluendo.com>
16315
16316         * docs/design/part-TODO.txt:
16317         * docs/design/part-caps.txt:
16318         * docs/design/part-clocks.txt:
16319         * docs/design/part-negotiation.txt:
16320         * docs/design/part-preroll.txt:
16321         Small doc updates 
16322
16323 2005-05-30  Wim Taymans  <wim@fluendo.com>
16324
16325         * gst/elements/gstidentity.c: (gst_identity_event),
16326         (gst_identity_transform), (gst_identity_get_property):
16327         Protect last_message property as it is accessed from
16328         multiple threads.
16329
16330 2005-05-30  Wim Taymans  <wim@fluendo.com>
16331
16332         * gst/gstelement.c: (gst_element_init),
16333         (gst_element_pads_activate), (gst_element_change_state):
16334         Slicker pad activation code.
16335
16336 2005-05-30  Wim Taymans  <wim@fluendo.com>
16337
16338         * gst/Makefile.am:
16339         * gst/gstelement.h:
16340         * gst/gstelementfactory.h:
16341         * gst/gsttypes.h:
16342         Move elementfactory methods to separate .h file.
16343
16344 2005-05-30  Wim Taymans  <wim@fluendo.com>
16345
16346         * docs/design/part-overview.txt:
16347         * gst/gstsystemclock.h:
16348         Small typo fixes, doc updates.
16349
16350 2005-05-30  Wim Taymans  <wim@fluendo.com>
16351
16352         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16353         (init_popt_callback):
16354         Remove cpu-opt flag.
16355
16356 2005-05-30  Wim Taymans  <wim@fluendo.com>
16357
16358         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16359         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16360         * gst/gstbuffer.h:
16361         Avoid typechecking in places where not needed.
16362         Added accessor for malloc_data.
16363
16364 2005-05-30  Wim Taymans  <wim@fluendo.com>
16365
16366         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16367         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16368         (gst_pad_configure_sink), (gst_pad_configure_src),
16369         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16370         (gst_pad_start_task):
16371         Propagate errors from _set_caps() in configure_src/sink
16372         functions instead of returning TRUE.
16373         FLUSH events can travel up and downstream
16374
16375
16376 2005-05-30  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16379         (gst_basesink_activate):
16380         Handle EOS in preroll.
16381
16382 2005-05-30  Wim Taymans  <wim@fluendo.com>
16383
16384         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16385         (gst_queue_loop), (gst_queue_handle_src_event):
16386         Remove old pieces of code
16387         Flushing the queue in an upstream event is a very bad idea.
16388
16389 2005-05-26  Andy Wingo  <wingo@pobox.com>
16390
16391         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16392         gst_value_set_mini_object so as to add a ref on the object (which
16393         will be removed when the value is unset).
16394
16395         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16396         arg type in ::handoff.
16397
16398         * gst/gstelement.c (gst_element_change_state): Also deactivate
16399         pads in READY->NULL, just in case the element didn't make it to
16400         PAUSED. Wingo tested, Wim approved.
16401
16402 2005-05-26  Wim Taymans  <wim@fluendo.com>
16403
16404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16405         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16406         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16407         A flushing pad cannot be used to alloc_buffer from.
16408
16409 2005-05-26  Wim Taymans  <wim@fluendo.com>
16410
16411         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16412         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16413         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16414         (gst_bus_create_watch), (gst_bus_add_watch_full):
16415         * gst/gstbus.h:
16416         Implement a real GSource and use g_main_context_wakeup() to
16417         signal new messages instead of the socketpair.
16418
16419 2005-05-25  Wim Taymans  <wim@fluendo.com>
16420
16421         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16422         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16423         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16424         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16425         (gst_pad_send_event), (gst_pad_start_task):
16426         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16427         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16428         (gst_queue_sink_activate), (gst_queue_src_activate),
16429         (gst_queue_change_state):
16430         * gst/gstqueue.h:
16431         Fix state changes for non sinks. We now change sinks, then elements
16432         with unconnected srcpads, then the rest.
16433         More efficient queue unlocking in flush and state changes.
16434         Set the pad activate mode even if it does not have an activate
16435         function.
16436
16437 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16438
16439         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16440           Don't go in pull mode for non-seekable sources.
16441         * gst/elements/gsttypefindelement.h:
16442         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16443         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16444         (free_entry), (stop_typefinding),
16445         (gst_type_find_element_handle_event), (find_peek),
16446         (gst_type_find_element_chain), (do_pull_typefind),
16447         (gst_type_find_element_change_state):
16448           Allow typefinding (w/o seeking) in push-mode, simplified version
16449           of what was in 0.8.
16450         * gst/gstutils.c: (gst_buffer_join):
16451         * gst/gstutils.h:
16452           gst_buffer_join() from 0.8.
16453
16454 2005-05-25  Wim Taymans  <wim@fluendo.com>
16455
16456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16457         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16458         (gst_pad_send_event), (gst_pad_start_task):
16459         Disable attempt at mode switching until it is figured out.
16460
16461 2005-05-25  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16464         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16465         (gst_basesink_finish_preroll), (gst_basesink_chain),
16466         (gst_basesink_loop), (gst_basesink_activate),
16467         (gst_basesink_change_state):
16468         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16469         (gst_basesrc_get_range), (gst_basesrc_loop),
16470         (gst_basesrc_activate):
16471         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16472         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16473         (gst_real_pad_init), (gst_real_pad_set_property),
16474         (gst_real_pad_get_property), (gst_pad_set_active),
16475         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16476         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16477         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16478         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16479         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16480         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16481         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16482         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16483         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16484         (gst_pad_stop_task):
16485         * gst/gstpad.h:
16486         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16487         (gst_queue_loop), (gst_queue_src_activate):
16488         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16489         (gst_task_get_state):
16490         * gst/gsttask.h:
16491         * gst/schedulers/threadscheduler.c:
16492         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16493         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16494         in task function.
16495         Remove ACTIVE pad flag, use FLUSHING everywhere
16496         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16497         functions.
16498         Add locks around IS_FLUSHING when reading.
16499         Take STREAM lock in chain(), get_range() functions so plugins
16500         don't need to take it anymore.
16501         
16502
16503
16504 2005-05-25  Wim Taymans  <wim@fluendo.com>
16505
16506         * tools/gst-launch.c: (event_loop):
16507         Unref message after using its contents instead of
16508         before.
16509
16510 2005-05-24  Wim Taymans  <wim@fluendo.com>
16511
16512         * docs/design/draft-ghostpads.txt:
16513         * docs/design/draft-push-pull.txt:
16514         * docs/design/draft-query.txt:
16515         * docs/design/part-overview.txt:
16516         Docs updates, added general overview doc.
16517
16518 2005-05-21  David Schleef  <ds@schleef.org>
16519
16520         * docs/gst/tmpl/old/GstBin.sgml:
16521         * docs/gst/tmpl/old/GstBuffer.sgml:
16522         * docs/gst/tmpl/old/GstCaps.sgml:
16523         * docs/gst/tmpl/old/GstClock.sgml:
16524         * docs/gst/tmpl/old/GstCompat.sgml:
16525         * docs/gst/tmpl/old/GstData.sgml:
16526         * docs/gst/tmpl/old/GstElement.sgml:
16527         * docs/gst/tmpl/old/GstEvent.sgml:
16528         * docs/gst/tmpl/old/GstIndex.sgml:
16529         * docs/gst/tmpl/old/GstStructure.sgml:
16530         * docs/gst/tmpl/old/GstTag.sgml:
16531         * docs/gst/tmpl/old/cothreads.sgml:
16532         * docs/gst/tmpl/old/cothreads_compat.sgml:
16533         * docs/gst/tmpl/old/gettext.sgml:
16534         * docs/gst/tmpl/old/gobject2gtk.sgml:
16535         * docs/gst/tmpl/old/grammar.tab.sgml:
16536         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16537         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16538         * docs/gst/tmpl/old/gst_private.sgml:
16539         * docs/gst/tmpl/old/gstaggregator.sgml:
16540         * docs/gst/tmpl/old/gstarch.sgml:
16541         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16542         * docs/gst/tmpl/old/gstbufferstore.sgml:
16543         * docs/gst/tmpl/old/gstdata_private.sgml:
16544         * docs/gst/tmpl/old/gstdisksink.sgml:
16545         * docs/gst/tmpl/old/gstdisksrc.sgml:
16546         * docs/gst/tmpl/old/gstelementfactory.sgml:
16547         * docs/gst/tmpl/old/gstextratypes.sgml:
16548         * docs/gst/tmpl/old/gstfakesink.sgml:
16549         * docs/gst/tmpl/old/gstfakesrc.sgml:
16550         * docs/gst/tmpl/old/gstfdsink.sgml:
16551         * docs/gst/tmpl/old/gstfdsrc.sgml:
16552         * docs/gst/tmpl/old/gstfilesink.sgml:
16553         * docs/gst/tmpl/old/gstfilesrc.sgml:
16554         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16555         * docs/gst/tmpl/old/gstidentity.sgml:
16556         * docs/gst/tmpl/old/gstindexfactory.sgml:
16557         * docs/gst/tmpl/old/gstmarshal.sgml:
16558         * docs/gst/tmpl/old/gstmd5sink.sgml:
16559         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16560         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16561         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16562         * docs/gst/tmpl/old/gstpipefilter.sgml:
16563         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16564         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16565         * docs/gst/tmpl/old/gstshaper.sgml:
16566         * docs/gst/tmpl/old/gstspider.sgml:
16567         * docs/gst/tmpl/old/gstspideridentity.sgml:
16568         * docs/gst/tmpl/old/gststatistics.sgml:
16569         * docs/gst/tmpl/old/gsttee.sgml:
16570         * docs/gst/tmpl/old/gsttimecache.sgml:
16571         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16572         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16573         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16574         * docs/gst/tmpl/old/types.sgml:
16575           I didn't intend to add these or check them in.
16576
16577 2005-05-19  David Schleef  <ds@schleef.org>
16578
16579         * configure.ac: Use -no-common everywhere.  In a sane world, it
16580           would be the default in libtool, because without it, you can't
16581           build DLLs on Windows.
16582         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16583         * docs/gst/gstreamer-sections.txt:
16584         * docs/gst/tmpl/gstcpu.sgml:
16585         * docs/gst/tmpl/gstdata.sgml:
16586         * docs/gst/tmpl/gstthread.sgml:
16587
16588 2005-05-19  David Schleef  <ds@schleef.org>
16589
16590         * gst/gstminiobject.c: (gst_value_set_mini_object),
16591         (gst_value_take_mini_object), (gst_value_get_mini_object):
16592         * gst/gstminiobject.h: Add GValue set/get functions.
16593
16594 2005-05-19  Wim Taymans  <wim@fluendo.com>
16595
16596         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16597         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16598         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16599         * gst/gstbuffer.h:
16600         * gst/gstbus.c: (gst_bus_post):
16601         * gst/gstelement.c: (gst_element_get_random_pad):
16602         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16603         Make subbufer unref the parent in finalize.
16604         some more debugging info.
16605
16606
16607 2005-05-19  Wim Taymans  <wim@fluendo.com>
16608
16609         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16610         (gst_basesink_init), (gst_basesink_finalize),
16611         (gst_basesink_activate), (gst_basesink_change_state):
16612         Don't free preroll queue too early.
16613
16614 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16615
16616         * gst/Makefile.am:
16617         * gst/ROADMAP:
16618           Hi, I'm outdated. Please shoot me.
16619
16620 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16621
16622         * gst/gstpipeline.c: (gst_pipeline_send_event):
16623           Do not access variables after they have been deleted.
16624
16625 2005-05-19  Wim Taymans  <wim@fluendo.com>
16626
16627         * tools/gst-inspect.c: (print_plugin_features):
16628         A plugin feature does unfortunatly not use the
16629         object name yet...
16630
16631 2005-05-18  Wim Taymans  <wim@fluendo.com>
16632
16633         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16634         Port _span() functions to new subbuffers.
16635
16636 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16637
16638         * gst/gstbin.c: (gst_bin_add_func):
16639           Fix clock settery in bins when adding kids after the clock has
16640           been selected.
16641
16642 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16643
16644         * gst/elements/gstidentity.c: (gst_identity_class_init):
16645           Workaround until signals support GstMiniObject.
16646
16647 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16648
16649         * gst/gstbuffer.c:
16650         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16651
16652 2005-05-18  Wim Taymans  <wim@fluendo.com>
16653
16654         * gst/base/Makefile.am:
16655         * gst/base/gstadapter.c: (gst_adapter_base_init),
16656         (gst_adapter_class_init), (gst_adapter_init),
16657         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16658         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16659         (gst_adapter_flush), (gst_adapter_available),
16660         (gst_adapter_available_fast):
16661         * gst/base/gstadapter.h:
16662         Ported and added adapter to the base classes.
16663
16664 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16665
16666         * gst/gst.c:
16667         * gst/gstmessage.c:
16668           Make sure the class is reffed/unreffed once before threads can be
16669           used.  Fixes #304551.
16670
16671 2005-05-17  Wim Taymans  <wim@fluendo.com>
16672
16673         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16674         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16675         * gst/gstminiobject.c: (gst_mini_object_get_type),
16676         (gst_mini_object_free):
16677         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16678         (gst_pad_push), (gst_pad_push_event):
16679         * gst/gstqueue.c: (gst_queue_change_state):
16680         Don't queue buffers in basesink when we are flushing.
16681         Unref buffer when flushing in basesink.
16682         Flush queue when going to READY
16683         Unref buffer when _push() returns an error.
16684         Don't free MiniObject instance when refcount is incremented
16685         in _finalize() so that we can recover objects.
16686
16687 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16688
16689         * docs/manual/advanced-schedulers.xml:
16690         * docs/manual/appendix-checklist.xml:
16691         * docs/pwg/advanced-clock.xml:
16692         * docs/pwg/advanced-interfaces.xml:
16693         * docs/pwg/advanced-request.xml:
16694         * docs/pwg/advanced-types.xml:
16695         * docs/pwg/intro-preface.xml:
16696         * examples/plugins/example.c: (gst_example_get_type),
16697         (gst_example_class_init), (gst_example_chain),
16698         (gst_example_set_property), (gst_example_get_property),
16699         (gst_example_change_state), (plugin_init):
16700         * examples/plugins/example.h:
16701           small doc fixes
16702
16703 2005-05-17  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16706         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16707         * gst/gstqueue.c: (gst_queue_change_state):
16708         Clear queue when going to READY.
16709         Remove IN_SETCAPS flag too.
16710
16711 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16712
16713         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16714           Remove implicit cast from gboolean to GstElementStateReturn;
16715           make sure we still return failure in paused => ready case if
16716           the parent class fails to change state and our own stop 
16717           vfunc succeeds.
16718
16719 2005-05-17  Wim Taymans  <wim@fluendo.com>
16720
16721         * tools/gst-launch.c: (event_loop):
16722         Message was unreffed too soon.
16723
16724 2005-05-16  Andy Wingo  <wingo@pobox.com>
16725
16726         * gst/gstbin.c (sink_iterator_filter): Err... um...
16727
16728         * check/gst/gstbin.c (test_ghost_pads): New test for the
16729         ghosting-if-elements-not-in-same-bin behavior.
16730
16731 2005-05-16  David Schleef  <ds@schleef.org>
16732
16733         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16734         accessing refcount directly.
16735
16736 2005-05-15  David Schleef  <ds@schleef.org>
16737
16738         * check/Makefile.am: remove GstData checks
16739         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16740         * gst/Makefile.am: add miniobject, remove data
16741         * gst/gst.h: add miniobject, remove data
16742         * gst/gstdata.c: remove
16743         * gst/gstdata.h: remove
16744         * gst/gstdata_private.h: remove
16745         * gst/gsttypes.h: remove GstEvent and GstMessage
16746         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16747         * gst/gstmarshal.list: change BOXED -> OBJECT
16748
16749         Implement GstMiniObject.
16750         * gst/gstminiobject.c:
16751         * gst/gstminiobject.h:
16752
16753         Modify to be subclasses of GstMiniObject.
16754         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16755         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16756         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16757         (gst_subbuffer_get_type), (gst_subbuffer_init),
16758         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16759         (gst_buffer_span):
16760         * gst/gstbuffer.h:
16761         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16762         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16763         (_gst_event_copy), (gst_event_new):
16764         * gst/gstevent.h:
16765         * gst/gstmessage.c: (_gst_message_initialize),
16766         (gst_message_get_type), (gst_message_class_init),
16767         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16768         (gst_message_new), (gst_message_new_error),
16769         (gst_message_new_warning), (gst_message_new_tag),
16770         (gst_message_new_state_changed), (gst_message_new_application):
16771         * gst/gstmessage.h:
16772         * gst/gstprobe.c: (gst_probe_perform),
16773         (gst_probe_dispatcher_dispatch):
16774         * gst/gstprobe.h:
16775         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16776         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16777         (_gst_query_copy), (gst_query_new):
16778
16779         Update elements for GstData -> GstMiniObject changes
16780         * gst/gstquery.h:
16781         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16782         (gst_queue_chain), (gst_queue_loop):
16783         * gst/elements/gstbufferstore.c:
16784         (gst_buffer_store_add_buffer_func),
16785         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16786         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16787         (gst_fakesink_render):
16788         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16789         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16790         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16791         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16792         (gst_filesrc_create_read):
16793         * gst/elements/gstidentity.c: (gst_identity_class_init):
16794         * gst/elements/gsttypefindelement.c:
16795         (gst_type_find_element_src_event), (free_entry_buffers),
16796         (gst_type_find_element_handle_event):
16797         * libs/gst/dataprotocol/dataprotocol.c:
16798         (gst_dp_header_from_buffer):
16799         * libs/gst/dataprotocol/dataprotocol.h:
16800         * libs/gst/dataprotocol/dp-private.h:
16801
16802 2005-05-15  David Schleef  <ds@schleef.org>
16803
16804         * gst/elements/gstelements.c: Don't include headers that were
16805         just removed.
16806
16807 2005-05-15  David Schleef  <ds@schleef.org>
16808
16809         * gst/elements/Makefile.am: Remove some elements that don't
16810         need to be in the core (or even exist at all).
16811         * gst/elements/gstaggregator.c:
16812         * gst/elements/gstaggregator.h:
16813         * gst/elements/gstmd5sink.c:
16814         * gst/elements/gstmd5sink.h:
16815         * gst/elements/gstmultifilesrc.c:
16816         * gst/elements/gstmultifilesrc.h:
16817         * gst/elements/gstpipefilter.c:
16818         * gst/elements/gstpipefilter.h:
16819         * gst/elements/gstshaper.c:
16820         * gst/elements/gstshaper.h:
16821         * gst/elements/gststatistics.c:
16822         * gst/elements/gststatistics.h:
16823         * po/POTFILES.in: Remove above files.
16824
16825 2005-05-14  Andy Wingo  <wingo@pobox.com>
16826
16827         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16828         so as to get the refs right.
16829         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16830         unreffing objects that don't pass the filter.
16831
16832         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16833         gst_element_set_bus.
16834         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16835         normal cases, this will destroy the bus.
16836
16837         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16838         object.
16839
16840         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16841         has no sinks.
16842
16843 2005-05-13  Andy Wingo  <wingo@pobox.com>
16844
16845         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16846         gst_pad_link, call pad_link_maybe_ghosting,
16847         (pad_link_maybe_ghosting): Links pads, making sure that the
16848         elements being linked are in the same bin.
16849         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16850         Helpers for pad_link_maybe_ghosting.
16851
16852 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16853
16854         * configure.ac:
16855           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16856
16857 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16858
16859         * docs/design/part-element-source.txt:
16860           Mention GstPushSrc
16861
16862 2005-05-12  Wim Taymans  <wim@fluendo.com>
16863
16864         * gst/base/gstbasesink.c: (gst_basesink_init),
16865         (gst_basesink_activate):
16866         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16867         (gst_basesrc_is_seekable):
16868         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16869         (bin_element_is_sink), (gst_bin_change_state):
16870         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16871         * gst/gstelement.h:
16872         Identify sinks by their flag to avoid overly complicated
16873         checks (fow now).
16874         Do state changes even for elements not reachable from the
16875         sinks.
16876         BaseSink is a sink now :)
16877         Some more debugging info in the basesrc.
16878
16879
16880 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16881
16882         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16883           Implement _query on a bin, similar to _send_event.
16884
16885 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16886
16887         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16888           Discont event offset format should be GST_FORMAT_BYTES,
16889           not GST_FORMAT_TIME.
16890
16891 2005-05-12  Wim Taymans  <wim@fluendo.com>
16892
16893         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16894         Same fix as Ronald's but without the signal. 
16895
16896 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16897
16898         * gst/gstutils.c: (gst_element_query_position):
16899           No, an element is not a pad.
16900
16901 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16902
16903         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16904         (gst_bin_get_state):
16905           If a child is removed from a bin while we remove the child from
16906           the bin and while we're retrieving its state, signal this to the
16907           get_state function so we abort the wait (instead of waiting for
16908           a timeout) and can immediately re-iterate over all other elements.
16909
16910 2005-05-12  Wim Taymans  <wim@fluendo.com>
16911
16912         * gst/base/Makefile.am:
16913         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16914         (gst_basesrc_start):
16915         * gst/base/gstbasesrc.h:
16916         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16917         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16918         (gst_pushsrc_init), (gst_pushsrc_create):
16919         * gst/base/gstpushsrc.h:
16920         Added is_seekable to BaseSrc
16921         Added simple PushSrc.
16922
16923 2005-05-11  Wim Taymans  <wim@fluendo.com>
16924
16925         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16926         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16927         (gst_element_link_pads), (gst_element_query_position),
16928         (gst_element_query_convert), (intersect_caps_func),
16929         (gst_pad_query_position), (gst_pad_query_convert):
16930         Fix refcounting in utils function.
16931         No point in trying to activate a pad when it's added, it could
16932         be added from the state change function and then we deadlock, the
16933         element has to decide what to do.
16934
16935 2005-05-10  Andy Wingo  <wingo@pobox.com>
16936
16937         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16938         *all* the arguments.
16939
16940         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16941         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16942         lock (according to the docs -- if this is wrong change the docs).
16943
16944         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16945         flush messages in the NULL state.
16946
16947         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16948         message immediately and return.
16949         (gst_bus_set_flushing): New function. If a bus is flushing, it
16950         flushes out any queued messages and immediately unrefs new
16951         messages. This is so when an element goes to NULL, all of the
16952         unhandled messages coming from it can be freed, and their
16953         references to the element dropped. In other words: message source
16954         ref considered harmful :P
16955
16956         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16957         we're finished with it.
16958
16959         * gst/gstmessage.c (gst_message_new_state_changed): 
16960
16961 2005-05-10  Wim Taymans  <wim@fluendo.com>
16962
16963         * gst/gstvalue.c: (gst_value_compare_flags),
16964         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16965         (_gst_value_initialize):
16966         Added flags serialize/deserialize/compare code.
16967
16968 2005-05-09  Andy Wingo  <wingo@pobox.com>
16969
16970         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16971         Intersect the peer's caps with our caps.
16972
16973 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16974
16975         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16976         * gst/elements/gsttypefindelement.c: (find_peek):
16977           Handle negative offsets better. Fixes decodebin.
16978
16979 2005-05-09  Wim Taymans  <wim@fluendo.com>
16980
16981         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16982         (gst_base_transform_event):
16983         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16984         Implement accept_caps.
16985         Fix silly lock/unlock mismatch in base class.
16986
16987 2005-05-09  Wim Taymans  <wim@fluendo.com>
16988
16989         * docs/design/draft-push-pull.txt:
16990         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16991         * gst/elements/gstfilesink.c: (gst_filesink_init),
16992         (gst_filesink_query):
16993         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16994         (gst_type_find_handle_src_query), (find_element_get_length):
16995         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16996         * gst/gstelement.h:
16997         * gst/gstmessage.c:
16998         * gst/gstmessage.h:
16999         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17000         (gst_real_pad_get_caps_unlocked),
17001         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17002         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17003         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17004         (gst_real_pad_dispose), (gst_real_pad_finalize),
17005         (gst_pad_load_and_link), (gst_pad_save_thyself),
17006         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17007         (gst_pad_check_pull_range), (gst_pad_pull_range),
17008         (gst_pad_template_get_type), (gst_pad_template_class_init),
17009         (gst_pad_template_init), (gst_pad_template_dispose),
17010         (name_is_valid), (gst_static_pad_template_get),
17011         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17012         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17013         (gst_pad_get_element_private), (gst_pad_start_task),
17014         (gst_pad_pause_task), (gst_pad_stop_task),
17015         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17016         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17017         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17018         (gst_ghost_pad_new):
17019         * gst/gstpad.h:
17020         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17021         (gst_query_new_position), (gst_query_set_position),
17022         (gst_query_parse_position), (gst_query_new_convert),
17023         (gst_query_set_convert), (gst_query_parse_convert):
17024         * gst/gstquery.h:
17025         * gst/gstqueryutils.c:
17026         * gst/gstqueryutils.h:
17027         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17028         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17029         (gst_queue_handle_src_query):
17030         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17031         (gst_element_query_position), (gst_element_query_convert),
17032         (intersect_caps_func), (gst_pad_query_position),
17033         (gst_pad_query_convert):
17034         * gst/gstutils.h:
17035         * tools/gst-inspect.c: (print_pad_info):
17036         * tools/gst-xmlinspect.c: (print_element_info):
17037         Remove old query functions. Ported old code.
17038         Added position/convert helper functions to gstutils.
17039         Reordered gstpad.c code, grouping relevant things.
17040         Remove gst_message_new(), always need to speficy a specific
17041         message.
17042
17043
17044 2005-05-09  Andy Wingo  <wingo@pobox.com>
17045
17046         * gst/gstiterator.h: Add some includes.
17047
17048         * gst/gstqueryutils.h: Include more headers.
17049
17050         * gst/gstpad.h:
17051         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17052         some uses of gst_pad_query.
17053
17054         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17055         NULL out parameters.
17056         (gst_query_new_position): New proc, allocates a new position
17057         query.
17058
17059         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17060         gstqueryutils.c to the build.
17061
17062         * gst/gststructure.c (gst_structure_set_valist): Implement with
17063         the generic G_VALUE_COLLECT.
17064         
17065 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17066
17067         * gst/Makefile.am: (gst_headers):
17068         Added gstqueryutils.h to the list of headers to install, that was
17069         a 'nachty' move wingo :)
17070
17071 2005-05-06  Andy Wingo  <wingo@pobox.com>
17072
17073         * gst/gstquery.h
17074         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17075         GstData, init a memchunk.
17076         (standard_definitions): Add a few query types, deprecate a few.
17077         (gst_query_get_type): New proc.
17078         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17079         implementation.
17080         (gst_query_new_application, gst_query_get_structure): New public
17081         procs.
17082
17083         * docs/design/draft-query.txt: Removed LINKS from the query types,
17084         because all the rest can be dispatched to other pads -- seemed
17085         ugly to have a query that couldn't be dispatched. internal_links
17086         is fine as a pad method.
17087
17088         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17089         in gstpad.c, but maintain binary compatibility for the moment.
17090         Will fix before 0.9 is out.
17091
17092         * gst/gstqueryutils.c: 
17093         * gst/gstqueryutils.h: New files, implement 3 methods for each
17094         query type: parse_query, parse_response, and set. Probably need an
17095         allocator as well.
17096
17097         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17098
17099         * gst/elements/gstfilesink.c (gst_filesink_query2):
17100         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17101         query_types, and formats methods.
17102
17103         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17104         (gst_pad_set_query2_function): New functions.
17105         (gst_real_pad_init): Set query2_default as the default query2
17106         function. Basically just dispatches to internally linked pads.
17107
17108         Needs review!
17109         
17110         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17111         without using the atomic operations. Only one thread can possibly
17112         be accessing the data at this point. Changed so as to avoid
17113         gst_atomic operations.
17114
17115 2005-05-06  Wim Taymans  <wim@fluendo.com>
17116
17117         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17118         Also set caps if we use the fallback buffer alloc.
17119
17120 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17121
17122         * docs/gst/Makefile.am:
17123         * docs/gst/gstreamer-docs.sgml:
17124         * docs/gst/gstreamer-sections.txt:
17125         * docs/gst/tmpl/gstatomic.sgml:
17126         * docs/gst/tmpl/gstmemchunk.sgml:
17127         * testsuite/elements/struct_i386.h:
17128         * win32/GStreamer.vcproj:
17129         * win32/Makefile:
17130           Purge GstAtomic stuff from docs and win32 makefiles as well
17131
17132 2005-05-06  Wim Taymans  <wim@fluendo.com>
17133
17134         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17135         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17136         * gst/gstpad.c: (gst_pad_peer_get_caps):
17137         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17138         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17139         (gst_queue_src_activate), (gst_queue_change_state):
17140         * gst/gstqueue.h:
17141         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17142         (intersect_caps_func):
17143         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17144         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17145         Some fixes for the peer_get_caps() change.
17146
17147 2005-05-06  Wim Taymans  <wim@fluendo.com>
17148
17149         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17150         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17151         (gst_basesink_activate):
17152         Actually do something with error codes returned from the push
17153         functions.
17154
17155 2005-05-06  Wim Taymans  <wim@fluendo.com>
17156
17157         * docs/design/part-element-sink.txt:
17158         * docs/design/part-element-source.txt:
17159         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17160         (gst_basesink_event), (gst_basesink_activate):
17161         * gst/base/gstbasesink.h:
17162         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17163         (gst_basesrc_activate):
17164         * gst/base/gstbasesrc.h:
17165         * gst/gstelement.c: (gst_element_pads_activate):
17166         Some more documentation.
17167         Fixed scheduling decision in _pads_activate().
17168
17169 2005-05-05  Andy Wingo  <wingo@pobox.com>
17170
17171         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17172         the test suite.
17173
17174 2005-05-05  Wim Taymans  <wim@fluendo.com>
17175
17176         * gst/base/Makefile.am:
17177         * gst/base/gstbasesink.h:
17178         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17179         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17180         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17181         (gst_collectpads_class_init), (gst_collectpads_init),
17182         (gst_collectpads_finalize), (gst_collectpads_new),
17183         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17184         (find_pad), (gst_collectpads_remove_pad),
17185         (gst_collectpads_is_active), (gst_collectpads_collect),
17186         (gst_collectpads_collect_range), (gst_collectpads_start),
17187         (gst_collectpads_stop), (gst_collectpads_peek),
17188         (gst_collectpads_pop), (gst_collectpads_available),
17189         (gst_collectpads_read), (gst_collectpads_flush),
17190         (gst_collectpads_chain):
17191         * gst/base/gstcollectpads.h:
17192         * gst/elements/Makefile.am:
17193         * gst/elements/gstelements.c:
17194         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17195         (gst_fakesink_get_times), (gst_fakesink_event),
17196         (gst_fakesink_preroll), (gst_fakesink_render):
17197         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17198         (gst_filesink_init), (gst_filesink_set_location),
17199         (gst_filesink_open_file), (gst_filesink_close_file),
17200         (gst_filesink_pad_query), (gst_filesink_event),
17201         (gst_filesink_render), (gst_filesink_change_state):
17202         * gst/elements/gstfilesink.h:
17203         Added object to help in making collect pad based elements.
17204         Ported filesink.
17205         Make event function in sink baseclass return gboolean.
17206
17207 2005-05-05  Wim Taymans  <wim@fluendo.com>
17208
17209         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17210         (gst_bin_get_by_name):
17211         * gst/gstbuffer.h:
17212         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17213         (gst_clock_finalize):
17214         * gst/gstdata.c: (gst_data_replace):
17215         * gst/gstdata.h:
17216         * gst/gstelement.c: (gst_element_request_pad),
17217         (gst_element_pads_activate):
17218         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17219         (gst_object_unref):
17220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17221         (gst_pad_set_checkgetrange_function),
17222         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17223         (gst_pad_check_pull_range), (gst_pad_pull_range),
17224         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17225         (gst_pad_pause_task), (gst_pad_stop_task):
17226         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17227         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17228         Fix name lookup in GstBin.
17229         Added _data_replace() function and _buffer_replace()
17230         Use finalize method to clean up clock.
17231         Fix refcounting on request pads.
17232         Fix pad schedule mode error.
17233         Some more object refcounting debug info,
17234
17235
17236 2005-05-04  Andy Wingo <wingo@pobox.com>
17237
17238         * check/Makefile.am:
17239         * docs/gst/tmpl/gstatomic.sgml:
17240         * docs/gst/tmpl/gstplugin.sgml:
17241         * gst/base/gstbasesink.c: (gst_basesink_activate):
17242         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17243         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17244         (gst_basesrc_query), (gst_basesrc_set_property),
17245         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17246         (gst_basesrc_activate):
17247         * gst/base/gstbasesrc.h:
17248         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17249         (gst_base_transform_src_activate):
17250         * gst/elements/gstelements.c:
17251         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17252         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17253         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17254         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17255         (gst_type_find_element_checkgetrange),
17256         (gst_type_find_element_activate):
17257         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17258         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17259         (gst_caps_load_thyself):
17260         * gst/gstelement.c: (gst_element_pads_activate),
17261         (gst_element_save_thyself), (gst_element_restore_thyself):
17262         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17263         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17264         * gst/gstpad.h:
17265         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17266         (gst_xml_parse_file), (gst_xml_parse_memory),
17267         (gst_xml_get_element), (gst_xml_make_element):
17268         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17269         (_file_index_id_save_xml), (gst_file_index_commit):
17270         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17271         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17272         (load_paths):
17273         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17274         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17275         * tools/gst-complete.c: (main):
17276         * tools/gst-compprep.c: (main):
17277         * tools/gst-inspect.c: (print_element_properties_info):
17278         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17279         * tools/gst-xmlinspect.c: (print_element_properties):
17280         GCC 4 fixen.
17281         
17282 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17283
17284         * gst/gstplugin.c: (gst_plugin_check_module),
17285         (gst_plugin_check_file), (gst_plugin_load_file):
17286             apply patch from #172526 to make register work on MacOSX
17287
17288 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17289
17290         * docs/gst/tmpl/gstconfig.sgml:
17291         * gst/gstconfig.h.in:
17292           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17293         * testsuite/debug/printf_extension.c: (main):
17294           Do not use GST_PTR_FORMAT on pointers to types with
17295           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17296         * testsuite/elements/property.h:
17297           use correct printf format
17298
17299 2005-05-02  Wim Taymans  <wim@fluendo.com>
17300
17301         * docs/design/draft-push-pull.txt:
17302         * docs/design/draft-query.txt:
17303         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17304         (gst_basesrc_start):
17305         Added draft for new query API.
17306         Added draft for better selecting scheduling methods.
17307         Make basesrc ignore length if the subclass does not support
17308         it.
17309
17310 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17311
17312         * gst/Makefile.am:
17313           possible fixes for automake-1.5 - _LIBADD is reserved
17314
17315 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17316
17317         * docs/faq/Makefile.am:
17318         * docs/manual/Makefile.am:
17319         * docs/manuals.mak:
17320         * docs/pwg/Makefile.am:
17321         * gst/Makefile.am:
17322           possible fixes for automake-1.5
17323
17324 2005-04-28  Wim Taymans  <wim@fluendo.com>
17325
17326         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17327         (gst_basesink_pad_getcaps), (gst_basesink_init),
17328         (gst_basesink_do_sync):
17329         * gst/gstclock.c: (gst_clock_entry_new):
17330         * gst/gstevent.c: (gst_event_discont_get_value):
17331         * gst/gstpipeline.c: (pipeline_bus_handler),
17332         (gst_pipeline_change_state):
17333         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17334         Better debugging of clocking info.
17335         Allow NULL values when getting discont values.
17336
17337 2005-04-27  Wim Taymans  <wim@fluendo.com>
17338
17339         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17340         * check/gst/gstpad.c: (gst_pad_suite):
17341         Increase timeout for checks.
17342
17343 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17344
17345         * check/Makefile.am:
17346           fix the broken rule for cleanup.  Apparently this rule is
17347           only needed on FC2, so maybe this warrants further autotool
17348           inspection.
17349
17350 2005-04-26  Wim Taymans  <wim@fluendo.com>
17351
17352         * gst/gsttrashstack.h:
17353         Ooohh. a nasty one! After having a failed pop() from the stack,
17354         it's possible that the stack is empty. In that case, don't
17355         follow the NULL pointer.
17356
17357 2005-04-25  Wim Taymans  <wim@fluendo.com>
17358
17359         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17360         (gst_pad_set_checkgetrange_function),
17361         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17362         (gst_pad_check_pull_range), (gst_pad_pull_range),
17363         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17364         (gst_pad_pause_task), (gst_pad_stop_task):
17365         * gst/gstplugin.c: (gst_plugin_load):
17366         * gst/gstplugin.h:
17367         Remove gst_library_load as it does more harm than good with
17368         the new g_module flags.
17369         Revert bogus caps template check in pad linking, pad caps
17370         are important when linking not the template, which is more
17371         general than the current caps.
17372
17373 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17374
17375         * gst/autoplug/.cvsignore:
17376         * gst/autoplug/Makefile.am:
17377         * gst/autoplug/gstsearchfuncs.c:
17378         * gst/autoplug/gstsearchfuncs.h:
17379         * gst/autoplug/gstspider.c:
17380         * gst/autoplug/gstspider.h:
17381         * gst/autoplug/gstspideridentity.c:
17382         * gst/autoplug/gstspideridentity.h:
17383         * gst/autoplug/spidertest.c:
17384           Die, spider, die.
17385
17386 2005-04-25  Wim Taymans  <wim@fluendo.com>
17387
17388         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17389         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17390         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17391         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17392         * gst/gstpad.h:
17393         Added stubs for unimplemented functions. 
17394
17395 2005-04-24  David Schleef  <ds@schleef.org>
17396
17397         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17398         please fix.
17399
17400 2005-04-24  David Schleef  <ds@schleef.org>
17401
17402         Convert everything from GstAtomicInt to g_atomic_int_*, and
17403         remove gstatomic.
17404         * gst/Makefile.am:
17405         * gst/gstatomic.c:
17406         * gst/gstatomic.h:
17407         * gst/gstatomic_impl.h:
17408         * gst/gstbuffer.c:
17409         * gst/gstcaps.c:
17410         * gst/gstcaps.h:
17411         * gst/gstclock.c:
17412         * gst/gstclock.h:
17413         * gst/gstdata.c:
17414         * gst/gstdata.h:
17415         * gst/gstdata_private.h:
17416         * gst/gstevent.c:
17417         * gst/gstinfo.c:
17418         * gst/gstinfo.h:
17419         * gst/gstmessage.c:
17420         * gst/gstobject.c:
17421         * gst/gstobject.h:
17422         * gst/gststructure.c:
17423         * gst/gststructure.h:
17424         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17425         * gst/gstutils.h:
17426
17427 2005-04-24  David Schleef  <ds@schleef.org>
17428
17429         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17430         make the regressions tests work.  Remove some code that is no
17431         longer true.
17432         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17433         Disable warning for pads without templates.
17434
17435 2005-04-24  David Schleef  <ds@schleef.org>
17436
17437         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17438         functions that handle filtered links.
17439         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17440         removed functions.
17441         * gst/gstutils.c: Fix/remove utility functions that handle
17442         filtered caps.
17443         * gst/gstutils.h:
17444         * gst/gstvalue.c: Add serialization/deserialization of caps
17445         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17446         requires fixing so that the filter caps notation creates
17447         a capsfilter element and sets the filter_caps property.  I
17448         think everyone probably wants to keep the shorthand notation.
17449         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17450         * docs/gst/tmpl/gstpad.sgml:
17451
17452         * gst/elements/gstelements.c: Register capsfilter element.
17453         * gst/Makefile.am: fix spacing
17454         * docs/random/ds/0.9-suggested-changes: random
17455
17456 2005-04-23  David Schleef  <ds@schleef.org>
17457
17458         * gst/elements/Makefile.am:
17459         * gst/elements/gstcapsfilter.c: New element that acts like an
17460         identity, but filters caps.  Will eventually replace filtered
17461         caps in pad linking.
17462         * gst/gstutils.c: (gst_element_create_all_pads): New function
17463         to create all the ALWAYS pads that are registered with an
17464         element class.  This functionality should eventually be
17465         merged in with GstElement initialization.
17466         * gst/gstutils.h:
17467         * testsuite/trigger/README: part of trigger test code that should
17468         have been checked in a long time ago.
17469
17470 2005-04-23  David Schleef  <ds@schleef.org>
17471
17472         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17473         needed with new versions of libtool (nobody will confirm this),
17474         and hard to carry around.
17475         * gst/autoplug/Makefile.am:
17476         * gst/base/Makefile.am:
17477         * gst/elements/Makefile.am:
17478         * gst/indexers/Makefile.am:
17479         * gst/schedulers/Makefile.am:
17480         * libs/gst/bytestream/Makefile.am:
17481         * libs/gst/control/Makefile.am:
17482         * libs/gst/dataprotocol/Makefile.am:
17483         * libs/gst/getbits/Makefile.am:
17484
17485 2005-04-21  Wim Taymans  <wim@fluendo.com>
17486
17487         * docs/design/draft-push-pull.txt:
17488         * docs/design/part-MT-refcounting.txt:
17489         * docs/design/part-TODO.txt:
17490         * docs/design/part-caps.txt:
17491         * docs/design/part-events.txt:
17492         * docs/design/part-gstbus.txt:
17493         * docs/design/part-gstpipeline.txt:
17494         * docs/design/part-messages.txt:
17495         * docs/design/part-push-pull.txt:
17496         * docs/design/part-query.txt:
17497         Some more docs.
17498
17499 2005-04-21  Wim Taymans  <wim@fluendo.com>
17500
17501         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17502         (gst_message_new), (gst_message_new_error),
17503         (gst_message_new_warning), (gst_message_new_tag),
17504         (gst_message_new_state_changed), (gst_message_new_application),
17505         (gst_message_get_structure):
17506         * gst/gstmessage.h:
17507         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17508         (gst_structure_copy_conditional):
17509         Use parent refcount in GstMessage to ensure GstStructure
17510         consistency.
17511         Cleaned up headers a bit.
17512         
17513
17514 2005-04-20  Wim Taymans  <wim@fluendo.com>
17515
17516         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17517         (gst_basesink_pad_getcaps), (gst_basesink_init),
17518         (gst_basesink_chain_unlocked):
17519         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17520         (gst_type_find_helper):
17521         * gst/elements/gsttypefindelement.c:
17522         (gst_type_find_element_have_type), (gst_type_find_element_init),
17523         (stop_typefinding), (gst_type_find_element_handle_event),
17524         (find_suggest), (gst_type_find_element_chain),
17525         (gst_type_find_element_checkgetrange),
17526         (gst_type_find_element_getrange), (do_typefind),
17527         (gst_type_find_element_activate):
17528         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17529         (gst_buffer_default_free), (gst_buffer_default_copy),
17530         (gst_buffer_set_caps):
17531         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17532         (gst_caps_replace):
17533         * gst/gstmessage.c: (gst_message_new),
17534         (gst_message_new_state_changed):
17535         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17536         (gst_pad_set_checkgetrange_function),
17537         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17538         (gst_pad_set_caps), (gst_pad_check_pull_range),
17539         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17540         * gst/gstpad.h:
17541         * gst/gsttypefind.c: (gst_type_find_register):
17542         Make gst_caps_replace() work like other _replace() functions.
17543         Use _caps_replace() where possible.
17544         Make sure _message_new() initialises its field.
17545         Add gst_static_pad_template_get_caps()
17546
17547
17548 2005-04-18  Andy Wingo  <wingo@pobox.com>
17549
17550         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17551         on the peer, not the pad. I think that was a typo. Pass an extra
17552         arg to see if random access is possible. Activate the pads as
17553         PULL_RANGE if possible.
17554
17555         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17556
17557         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17558         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17559         to PROP_....
17560
17561 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17562
17563         * docs/faq/using.xml:
17564           Add note on gstreamer-properties (#154996).
17565
17566 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17567
17568         * docs/random/bbb/optional-properties:
17569           Some analysis on optional properties.
17570
17571 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17572
17573         * docs/gst/tmpl/gstelementfactory.sgml:
17574         * gst/gstelement.h:
17575         * gst/gstelementfactory.c: (gst_element_factory_init),
17576         (gst_element_factory_cleanup), (gst_element_register),
17577         (__gst_element_factory_add_static_pad_template),
17578         (gst_element_factory_get_static_pad_templates),
17579         (gst_element_factory_can_src_caps),
17580         (gst_element_factory_can_sink_caps):
17581         * gst/registries/Makefile.am:
17582         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17583         (gst_xml_registry_class_init), (gst_xml_registry_init),
17584         (gst_xml_registry_new), (gst_xml_registry_set_property),
17585         (gst_xml_registry_get_property), (get_time), (make_dir),
17586         (gst_xml_registry_get_perms_func),
17587         (plugin_times_older_than_recurse), (plugin_times_older_than),
17588         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17589         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17590         (add_to_char_array), (read_string), (read_uint), (read_enum),
17591         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17592         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17593         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17594         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17595         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17596         (gst_xml_registry_rebuild):
17597         * gst/registries/gstlibxmlregistry.h:
17598         * tools/gst-compprep.c: (main):
17599         * tools/gst-inspect.c: (print_pad_templates_info):
17600         * tools/gst-xmlinspect.c: (print_element_info):
17601           Use libxml2 for registry parsing, use staticpadtemplates in
17602           elementfactories. Makes gst_init() +/- 10x faster.
17603
17604 2005-04-12  Wim Taymans  <wim@fluendo.com>
17605
17606         * gst/base/Makefile.am:
17607         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17608         (gst_basesink_pad_getcaps), (gst_basesink_init),
17609         (gst_basesink_event), (gst_basesink_change_state):
17610         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17611         (gst_basesrc_init), (gst_basesrc_query),
17612         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17613         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17614         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17615         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17616         (gst_basesrc_stop), (gst_basesrc_activate),
17617         (gst_basesrc_change_state):
17618         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17619         (helper_find_suggest), (gst_type_find_helper):
17620         * gst/base/gsttypefindhelper.h:
17621         * gst/elements/Makefile.am:
17622         * gst/elements/gstelements.c:
17623         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17624         (gst_fakesink_get_times), (gst_fakesink_event),
17625         (gst_fakesink_preroll), (gst_fakesink_render):
17626         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17627         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17628         (gst_fakesrc_get_property), (gst_fakesrc_create),
17629         (gst_fakesrc_start), (gst_fakesrc_stop):
17630         * gst/elements/gstfakesrc.h:
17631         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17632         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17633         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17634         (gst_filesrc_create_read), (gst_filesrc_create),
17635         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17636         (gst_filesrc_start):
17637         * gst/elements/gsttypefindelement.c:
17638         (gst_type_find_element_have_type), (gst_type_find_element_init),
17639         (start_typefinding), (stop_typefinding), (push_buffer_store),
17640         (gst_type_find_element_handle_event),
17641         (gst_type_find_element_chain),
17642         (gst_type_find_element_checkgetrange),
17643         (gst_type_find_element_getrange), (do_typefind),
17644         (gst_type_find_element_activate),
17645         (gst_type_find_element_change_state):
17646         * gst/elements/gsttypefindelement.h:
17647         * gst/gstpipeline.c: (pipeline_bus_handler):
17648         Added typefind helper.
17649         Small preroll fix in the base sink.
17650         Disable typefind code in basesrc.
17651         Crude port of typefindelement.
17652         Fakesrc cleanups.
17653
17654
17655 2005-04-11  Wim Taymans  <wim@fluendo.com>
17656
17657         * check/gst/gstbus.c: (gstbus_suite):
17658         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17659         * check/gstcheck.h:
17660           Fix up the timeout so that the test does not fail.
17661
17662 2005-04-06  Wim Taymans  <wim@fluendo.com>
17663
17664         * gst/base/README:
17665         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17666         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17667         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17668         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17669         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17670         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17671         (gst_basesrc_stop), (gst_basesrc_activate),
17672         (gst_basesrc_change_state), (basesrc_find_peek),
17673         (basesrc_find_suggest), (gst_basesrc_type_find):
17674         * gst/base/gstbasesrc.h:
17675         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17676         (gst_filesrc_class_init), (gst_filesrc_init),
17677         (gst_filesrc_finalize), (gst_filesrc_set_location),
17678         (gst_filesrc_set_property), (gst_filesrc_get_property),
17679         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17680         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17681         (gst_filesrc_create_read), (gst_filesrc_create),
17682         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17683         * gst/elements/gstfilesrc.h:
17684         * gst/gstelement.c: (gst_element_get_state_func),
17685         (gst_element_lost_state), (gst_element_pads_activate):
17686         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17687         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17688         (gst_pad_pull_range):
17689         * gst/gstpad.h:
17690         More work on the generic source base class, implement seeking,
17691         query.
17692         Make filesrc extend the base source class.
17693         Added gst_pad_set_checkgetrange_function to GstPad.
17694
17695 2005-04-06  Andy Wingo  <wingo@pobox.com>
17696
17697         * pkgconfig/gstreamer-base.pc.in:
17698         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17699
17700         * pkgconfig/Makefile.am:
17701         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17702
17703 2005-04-04  Wim Taymans  <wim@fluendo.com>
17704
17705         * gst/base/Makefile.am:
17706         * gst/base/README:
17707         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17708         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17709         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17710         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17711         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17712         (gst_basesrc_base_init), (gst_basesrc_class_init),
17713         (gst_basesrc_init), (gst_basesrc_get_formats),
17714         (gst_basesrc_get_query_types), (gst_basesrc_query),
17715         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17716         (gst_basesrc_set_property), (gst_basesrc_get_property),
17717         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17718         (gst_basesrc_loop), (gst_basesrc_activate),
17719         (gst_basesrc_change_state):
17720         * gst/base/gstbasesrc.h:
17721         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17722         (gst_fakesrc_class_init), (gst_fakesrc_init),
17723         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17724         (gst_fakesrc_get_property), (gst_fakesrc_create):
17725         * gst/elements/gstfakesrc.h:
17726         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17727         (gst_filesrc_open_file), (gst_filesrc_loop),
17728         (gst_filesrc_activate), (filesrc_find_peek),
17729         (gst_filesrc_type_find):
17730         Made base source class, make fakesrc extend it.
17731         Add comments to basesink class.
17732         Some filesrc cleanup.
17733
17734 2005-03-31  David Schleef  <ds@schleef.org>
17735
17736         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17737         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17738         expected to link against libgstreamer.
17739         * gst/base/Makefile.am: link against libgstreamer
17740         * gst/elements/Makefile.am: same
17741
17742 2005-03-31  Andy Wingo  <wingo@pobox.com>
17743
17744         * tests/instantiate/Makefile.am:
17745         * tests/instantiate/caps.c: Add test to test speed of caps copy
17746         and free.
17747
17748         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17749         GMemChunk to be fair.
17750
17751         * gst/gsttrashstack.h: Remove warning about using the fallback
17752         trash stack implementation, it's still faster than malloc.
17753
17754 2005-03-30  Andy Wingo  <wingo@pobox.com>
17755
17756         * tests/complexity.c: Add a copyright.
17757
17758 2005-03-31  Wim Taymans  <wim@fluendo.com>
17759
17760         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17761         (gst_base_transform_class_init), (gst_base_transform_init),
17762         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17763         (gst_base_transform_get_property),
17764         (gst_base_transform_sink_activate),
17765         (gst_base_transform_src_activate),
17766         (gst_base_transform_change_state):
17767         * gst/base/gstbasetransform.h:
17768         * gst/elements/gstidentity.c: (gst_identity_class_init),
17769         (gst_identity_event), (gst_identity_check_perfect),
17770         (gst_identity_transform), (gst_identity_start),
17771         (gst_identity_stop):
17772         Added start/stop methods to transform base class so subclasses 
17773         don't need to deal with state changes even.
17774
17775 2005-03-31  Wim Taymans  <wim@fluendo.com>
17776
17777         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17778         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17779         * gst/gstevent.h:
17780         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17781         (gst_pad_pull_range):
17782         Added rate to the discont event to prepare for variable speed
17783         and reverse playback.
17784
17785 2005-03-29  David Schleef  <ds@schleef.org>
17786
17787         * configure.ac:
17788         * testsuite/trigger/Makefile.am:
17789         * testsuite/trigger/trigger.c: A little example program to show
17790         how trigger-based elements can work.
17791
17792 2005-03-29  Wim Taymans  <wim@fluendo.com>
17793
17794         * gst/base/Makefile.am:
17795         * gst/base/README:
17796         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17797         (gst_basesink_base_init), (gst_basesink_class_init),
17798         (gst_basesink_pad_getcaps), (gst_basesink_init),
17799         (gst_basesink_activate), (gst_basesink_change_state):
17800         * gst/base/gstbasesink.h:
17801         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17802         (gst_base_transform_base_init), (gst_base_transform_finalize),
17803         (gst_base_transform_class_init), (gst_base_transform_init),
17804         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17805         (gst_base_transform_event), (gst_base_transform_getrange),
17806         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17807         (gst_base_transform_set_property),
17808         (gst_base_transform_get_property),
17809         (gst_base_transform_sink_activate),
17810         (gst_base_transform_src_activate),
17811         (gst_base_transform_change_state):
17812         * gst/base/gstbasetransform.h:
17813         * gst/elements/gstidentity.c: (gst_identity_finalize),
17814         (gst_identity_class_init), (gst_identity_init),
17815         (gst_identity_event), (gst_identity_check_perfect),
17816         (gst_identity_transform), (gst_identity_set_property),
17817         (gst_identity_get_property), (gst_identity_change_state):
17818         * gst/elements/gstidentity.h:
17819         * gst/gstelement.c: (gst_element_get_state_func),
17820         (gst_element_lost_state), (gst_element_pads_activate):
17821         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17822         (gst_pad_check_pull_range), (gst_pad_pull_range):
17823         * gst/gstpad.h:
17824         Simplify pad activation.
17825         Added function to check if pull_range can be performed.
17826         Error out when pulling inactive or flushing pads.
17827         Removed const from refcounted types as it does not make sense.
17828         Simplify pad templates in basesink
17829         Added base class for simple 1-to-1 transforms.
17830         Make identity subclass the base transform.
17831
17832 2005-03-29  Andy Wingo  <wingo@pobox.com>
17833
17834         * docs/libs/gstreamer-libs-overrides.txt: 
17835         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17836         really don't understand what's going on, but like whatever. I want
17837         green buildbot!
17838
17839         * docs/gst/Makefile.am:
17840         * docs/libs/Makefile.am: Dist the overrides files.
17841
17842         * check/Makefile.am (clean-local): Remove .libs directories.
17843
17844         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17845         elements to EXTRA_DIST, so po/ files are happy.
17846
17847         * po/POTFILES.in: Er, remove it here.
17848
17849         * po/POTFILES: Remove gstspider.c.
17850
17851         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17852
17853         * docs/libs/gstreamer-libs-docs.sgml: 
17854         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17855         bytestream.
17856
17857         * tests/complexity.c (main): Set the length of the preroll queue
17858         on the sinks to prevent a lockup.
17859
17860         * libs/gst/dataprotocol/Makefile.am: 
17861         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17862         the same as the one in check/gst-libs/gdp.c.
17863
17864         * po/, docs/gst/: Commit automatic changes to docs and po files.
17865
17866         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17867         the versioned libgstbase.
17868
17869         * check/Makefile.am: Depend on an unversioned gst-register, seems
17870         to make autoconf happier.
17871
17872         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17873
17874 2005-03-28  Wim Taymans  <wim@fluendo.com>
17875
17876         * configure.ac:
17877         * docs/design/part-gstelement.txt:
17878         * docs/design/part-negotiation.txt:
17879         * docs/design/part-preroll.txt:
17880         * docs/design/part-scheduling.txt:
17881         * docs/design/part-states.txt:
17882         * gst/Makefile.am:
17883         * gst/base/Makefile.am:
17884         * gst/base/README:
17885         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17886         (gst_basesink_base_init), (gst_basesink_class_init),
17887         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17888         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17889         (gst_basesink_set_pad_functions),
17890         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17891         (gst_basesink_set_property), (gst_basesink_get_property),
17892         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17893         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17894         (gst_basesink_preroll_queue_push),
17895         (gst_basesink_preroll_queue_empty),
17896         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17897         (gst_basesink_event), (gst_basesink_get_times),
17898         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17899         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17900         (gst_basesink_loop), (gst_basesink_activate),
17901         (gst_basesink_change_state):
17902         * gst/base/gstbasesink.h:
17903         * gst/elements/Makefile.am:
17904         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17905         (gst_fakesink_class_init), (gst_fakesink_init),
17906         (gst_fakesink_set_property), (gst_fakesink_get_property),
17907         (gst_fakesink_get_times), (gst_fakesink_event),
17908         (gst_fakesink_preroll), (gst_fakesink_render),
17909         (gst_fakesink_change_state):
17910         * gst/elements/gstfakesink.h:
17911         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17912         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17913         * gst/gstelement.c: (gst_element_add_pad),
17914         (gst_element_get_state_func), (gst_element_abort_state),
17915         (gst_element_commit_state), (gst_element_lost_state),
17916         (gst_element_set_state), (gst_element_pads_activate):
17917         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17918         * gst/gstpipeline.c: (gst_pipeline_send_event),
17919         (gst_pipeline_change_state):
17920         Added state change code.
17921         Added/updated docs.
17922         Added sink base class, make fakesink extend the base class.
17923         Small cleanups in GstPipeline.
17924
17925 2005-03-26  David Schleef  <ds@schleef.org>
17926
17927         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17928         is broken and should be implemented in a different library.
17929         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17930         * gst/gst.h: remove gstcpu.h
17931         * gst/gstcpu.c: remove
17932         * gst/gstcpu.h: remove
17933         * gst/Makefile.am.future: Remove this file.  It's ancient.
17934
17935 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17936
17937         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17938         (gst_bin_send_event):
17939           Add default event/set_manager handlers. The set_manager handler
17940           takes care that the manager is distributed over kids that were
17941           already in the bin before the manager was set. The event handler
17942           is a utility virtual function that sends the event over all sinks,
17943           so that gst_element_send_event (bin, event); has the expected
17944           behaviour.
17945         * gst/gstpad.c: (gst_pad_event_default):
17946           Re-install default event handling for discontinuities, so that
17947           seeking works without requiring hacks in applications or extra
17948           code in sinks.
17949         * gst/gstpipeline.c: (gst_pipeline_class_init),
17950         (gst_pipeline_send_event):
17951           Half hack, half utility: set a pipeline to PAUSED for seek events,
17952           since that is the only way we can guarantee a/v sync. Means that
17953           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17954           and it "just works".
17955
17956 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17957
17958         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17959           Lock/unlock mismatch.
17960
17961 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17962
17963         * docs/faq/gst-uninstalled:
17964           add gst-plugins-base
17965         * docs/gst/Makefile.am:
17966           don't error out until docs are fixed
17967         * docs/gst/gstreamer.types:
17968           remove thread
17969
17970 2005-03-22  Wim Taymans  <wim@fluendo.com>
17971
17972         * check/Makefile.am:
17973         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17974         * gst/gststructure.c: (gst_structure_set_valist),
17975         (gst_structure_copy_conditional):
17976         Activated more tests.
17977         Added message test.
17978         Added G_TYPE_POINTER to GstStructure.
17979         
17980
17981 2005-03-22  Wim Taymans  <wim@fluendo.com>
17982
17983         * docs/design/part-TODO.txt:
17984         * docs/design/part-events.txt:
17985         * docs/design/part-gstbin.txt:
17986         * docs/design/part-gstbus.txt:
17987         * docs/design/part-gstpipeline.txt:
17988         * docs/design/part-messages.txt:
17989         * gst/gstbus.c:
17990         * gst/gstmessage.c:
17991         Docs updates
17992
17993 2005-03-21  Wim Taymans  <wim@fluendo.com>
17994
17995         * gst/gstbus.c: (gst_bus_post):
17996         Fix copy-and-paste error.
17997
17998 2005-03-21  Wim Taymans  <wim@fluendo.com>
17999
18000         * check/Makefile.am:
18001         * gst/Makefile.am:
18002         * gst/elements/Makefile.am:
18003         * gst/elements/gstelements.c:
18004         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18005         (gst_fakesink_event), (gst_fakesink_chain):
18006         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18007         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18008         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18009         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18010         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18011         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18012         (gst_fakesrc_loop), (gst_fakesrc_activate),
18013         (gst_fakesrc_change_state):
18014         * gst/elements/gstfakesrc.h:
18015         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18016         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18017         (gst_filesrc_open_file), (gst_filesrc_loop),
18018         (gst_filesrc_activate), (gst_filesrc_change_state),
18019         (filesrc_find_peek), (filesrc_find_suggest),
18020         (gst_filesrc_type_find):
18021         * gst/elements/gstidentity.c: (gst_identity_finalize),
18022         (gst_identity_class_init), (gst_identity_init),
18023         (gst_identity_proxy_getcaps), (identity_queue_push),
18024         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18025         (gst_identity_getrange), (gst_identity_chain),
18026         (gst_identity_sink_loop), (gst_identity_src_loop),
18027         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18028         (gst_identity_set_property), (gst_identity_get_property),
18029         (gst_identity_change_state):
18030         * gst/elements/gstidentity.h:
18031         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18032         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18033         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18034         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18035         (gst_tee_sink_activate):
18036         * gst/elements/gsttee.h:
18037         * gst/gst.c: (gst_register_core_elements), (init_post):
18038         * gst/gst.h:
18039         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18040         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18041         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18042         (gst_bin_change_state):
18043         * gst/gstbin.h:
18044         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18045         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18046         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18047         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18048         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18049         (bus_watch_callback), (bus_watch_destroy),
18050         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18051         (poll_timeout), (gst_bus_poll):
18052         * gst/gstbus.h:
18053         * gst/gstcaps.h:
18054         * gst/gstdata.h:
18055         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18056         (gst_element_post_message), (gst_element_message_full),
18057         (gst_element_get_state_func), (gst_element_get_state),
18058         (gst_element_abort_state), (gst_element_commit_state),
18059         (gst_element_lost_state), (gst_element_set_state),
18060         (gst_element_pads_activate), (gst_element_change_state),
18061         (gst_element_dispose), (gst_element_set_manager_func),
18062         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18063         (gst_element_set_manager), (gst_element_get_manager),
18064         (gst_element_set_bus), (gst_element_get_bus),
18065         (gst_element_set_scheduler), (gst_element_get_scheduler):
18066         * gst/gstelement.h:
18067         * gst/gstevent.c: (gst_event_new_segment_seek),
18068         (gst_event_new_flush):
18069         * gst/gstevent.h:
18070         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18071         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18072         (gst_message_new_eos), (gst_message_new_error),
18073         (gst_message_new_warning), (gst_message_new_tag),
18074         (gst_message_new_state_changed), (gst_message_new_application),
18075         (gst_message_get_structure), (gst_message_parse_tag),
18076         (gst_message_parse_state_changed), (gst_message_parse_error),
18077         (gst_message_parse_warning):
18078         * gst/gstmessage.h:
18079         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18080         (gst_real_pad_set_property), (gst_pad_set_active),
18081         (gst_pad_is_active), (gst_pad_set_blocked_async),
18082         (gst_pad_set_blocked), (gst_pad_is_blocked),
18083         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18084         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18085         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18086         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18087         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18088         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18089         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18090         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18091         (gst_pad_set_caps), (gst_pad_configure_sink),
18092         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18093         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18094         (gst_real_pad_dispose), (gst_real_pad_finalize),
18095         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18096         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18097         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18098         * gst/gstpad.h:
18099         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18100         (pipeline_bus_handler), (gst_pipeline_change_state),
18101         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18102         * gst/gstpipeline.h:
18103         * gst/gstprobe.h:
18104         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18105         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18106         (gst_queue_link_src), (gst_queue_bufferalloc),
18107         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18108         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18109         (gst_queue_loop), (gst_queue_handle_src_event),
18110         (gst_queue_handle_src_query), (gst_queue_src_activate),
18111         (gst_queue_change_state):
18112         * gst/gstqueue.h:
18113         * gst/gstscheduler.c: (gst_scheduler_init),
18114         (gst_scheduler_dispose), (gst_scheduler_create_task),
18115         (gst_scheduler_factory_create):
18116         * gst/gstscheduler.h:
18117         * gst/gststructure.c: (gst_structure_get_type),
18118         (gst_structure_copy_conditional):
18119         * gst/gststructure.h:
18120         * gst/gsttaginterface.h:
18121         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18122         (gst_task_init), (gst_task_dispose), (gst_task_create),
18123         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18124         (gst_task_pause):
18125         * gst/gsttask.h:
18126         * gst/gstthread.c:
18127         * gst/gstthread.h:
18128         * gst/gsttypes.h:
18129         * gst/schedulers/Makefile.am:
18130         * gst/schedulers/cothreads_compat.h:
18131         * gst/schedulers/entryscheduler.c:
18132         * gst/schedulers/faircothreads.c:
18133         * gst/schedulers/faircothreads.h:
18134         * gst/schedulers/fairscheduler.c:
18135         * gst/schedulers/gstbasicscheduler.c:
18136         * gst/schedulers/gstoptimalscheduler.c:
18137         * gst/schedulers/gthread-cothreads.h:
18138         * gst/schedulers/threadscheduler.c:
18139         (gst_thread_scheduler_task_get_type),
18140         (gst_thread_scheduler_task_class_init),
18141         (gst_thread_scheduler_task_init),
18142         (gst_thread_scheduler_task_start),
18143         (gst_thread_scheduler_task_stop),
18144         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18145         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18146         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18147         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18148         (plugin_init):
18149         * libs/gst/Makefile.am:
18150         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18151         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18152         (gst_file_pad_parent_set):
18153         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18154         (gst_dp_event_from_packet):
18155         * tests/complexity.c: (main):
18156         * tests/mass_elements.c: (main):
18157         * testsuite/states/locked.c: (message_received), (main):
18158         * testsuite/states/parent.c: (main):
18159         * tools/gst-inspect.c: (print_element_flag_info),
18160         (print_implementation_info), (print_pad_info):
18161         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18162         (main):
18163         * tools/gst-md5sum.c: (event_loop), (main):
18164         * tools/gst-typefind.c: (main):
18165         * tools/gst-xmlinspect.c: (print_element_info):
18166         Next big merge.
18167         Added GstBus for mainloop integration.
18168         Added GstMessage for sending notifications on the bus.
18169         Added GstTask as an abstraction for pipeline entry points.
18170         Removed GstThread.
18171         Removed Schedulers.
18172         Simplified GstQueue for multithreaded core.
18173         Made _link threadsafe, removed old capsnego.
18174         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18175         Added pad blocking functions.
18176         Reworked scheduling functions in GstPad to prepare for
18177         scheduling updates soon.
18178         Moved events out of data stream.
18179         Simplified GstEvent types.
18180         Added return values to push/pull.
18181         Removed clocking from GstElement.
18182         Added prototypes for state change function for next merge.
18183         Removed iterate from bins and state change management.
18184         Fixed some elements, disabled others for now.
18185         Fixed -inspect and -launch.
18186         Added check for GstBus.
18187
18188 2005-03-10  Wim Taymans  <wim@fluendo.com>
18189
18190         * docs/design/part-MT-refcounting.txt:
18191         * docs/design/part-clocks.txt:
18192         * docs/design/part-gstelement.txt:
18193         * docs/design/part-gstobject.txt:
18194         * docs/design/part-standards.txt:
18195         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18196         (gst_bin_remove_func), (gst_bin_remove):
18197         * gst/gstbin.h:
18198         * gst/gstbuffer.c:
18199         * gst/gstcaps.h:
18200         * testsuite/clock/clock1.c: (main):
18201         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18202         (main):
18203         * testsuite/dlopen/loadgst.c: (do_test):
18204         * testsuite/refcounting/bin.c: (add_remove_test1),
18205         (add_remove_test2), (main):
18206         * testsuite/refcounting/element.c: (main):
18207         * testsuite/refcounting/element_pad.c: (main):
18208         * testsuite/refcounting/pad.c: (main):
18209         * tools/gst-launch.c: (sigint_handler_sighandler):
18210         * tools/gst-typefind.c: (main):
18211         Doc updates.
18212         Added doc about clock.
18213         removed gst_bin_iterate_recurse_up(), marked methods
18214         for removal.
18215         Fix more testsuites.
18216
18217 2005-03-09  Wim Taymans  <wim@fluendo.com>
18218
18219         * gst/gstpad.c: (gst_pad_get_direction),
18220         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18221         (gst_pad_collect_valist):
18222         * testsuite/bins/interface.c: (main):
18223         * testsuite/caps/audioscale.c: (test_caps):
18224         * testsuite/caps/caps.c: (test1), (test2), (test3):
18225         * testsuite/caps/deserialize.c: (main):
18226         * testsuite/caps/enumcaps.c: (main):
18227         * testsuite/caps/filtercaps.c: (main):
18228         * testsuite/caps/intersect2.c: (main):
18229         * testsuite/caps/random.c: (main):
18230         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18231         * testsuite/caps/sets.c: (check_caps):
18232         * testsuite/caps/simplify.c: (check_caps), (main):
18233         * testsuite/caps/subtract.c: (check_caps):
18234         Fix _pad_get_direction wrt ghostpads.
18235         Fix caps testsuite.
18236
18237 2005-03-09  Wim Taymans  <wim@fluendo.com>
18238
18239         * check/Makefile.am:
18240         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18241         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18242         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18244         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18245         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18246         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18247         (bin_element_is_sink), (gst_bin_iterate_sinks),
18248         (gst_bin_iterate_all_by_interface):
18249         * gst/gstbin.h:
18250         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18251         (gst_element_change_state), (gst_element_dispose),
18252         (gst_element_finalize), (gst_element_set_loop_function):
18253         * gst/gstelement.h:
18254         * gst/gstiterator.c: (find_custom_fold_func):
18255         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18256         (gst_pad_collectv), (gst_pad_collect_valist),
18257         (gst_pad_template_new):
18258         * gst/gstpipeline.c: (gst_pipeline_class_init),
18259         (gst_pipeline_dispose), (gst_pipeline_set_property),
18260         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18261         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18262         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18263         * gst/gstutils.h:
18264         * gst/schedulers/entryscheduler.c:
18265         * gst/schedulers/gstbasicscheduler.c:
18266         (gst_basic_scheduler_cothreaded_chain),
18267         (gst_basic_scheduler_chain_add_element):
18268         * testsuite/bins/interface.c: (main):
18269         Added GstBin test.
18270         Added GstSystemClock test.
18271         Implemented clock distribution code in GstBin.
18272         Implemented iterate sinks method for future use.
18273         Rearranged gstelement.h
18274         Fix GstIterator comparison bug.
18275         Moved some code to GstPipeline, mostly clocking related.
18276
18277 2005-03-09  Wim Taymans  <wim@fluendo.com>
18278
18279         * configure.ac:
18280         * gst/gst_private.h:
18281         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18282         (gst_bin_remove_func), (gst_bin_remove),
18283         (gst_bin_get_by_name_recurse_up):
18284         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18285         (gst_clock_id_compare_func), (gst_clock_id_wait),
18286         (gst_clock_id_wait_async), (gst_clock_init),
18287         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18288         * gst/gstelement.h:
18289         * gst/gstinfo.c: (_gst_debug_init):
18290         * gst/gstobject.h:
18291         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18292         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18293         * gst/gstpad.h:
18294         Bump version number, we're now 0.9.0
18295         Add future debugging category.
18296         Fix NULL _unref() in _get_by_name_recurse_up
18297         Rearrange gstpad.h.
18298         Update some docs.
18299
18300 2005-03-08  Wim Taymans  <wim@fluendo.com>
18301
18302         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18303         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18304         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18305         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18306         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18307         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18308         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18309         * gst/elements/gstidentity.c: (gst_identity_class_init):
18310         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18311         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18312         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18313         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18314         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18315         (gst_tee_link):
18316         * gst/gstelement.c: (gst_element_class_init),
18317         (gst_element_base_class_init), (gst_element_init),
18318         (gst_element_get_random_pad), (gst_element_wait_state_change),
18319         (gst_element_change_state), (gst_element_dispose),
18320         (gst_element_finalize), (gst_element_set_loop_function):
18321         * gst/gstelement.h:
18322         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18323         * gst/gstthread.c: (gst_thread_class_init),
18324         (gst_thread_release_children_locks), (gst_thread_change_state):
18325         * gst/schedulers/gstbasicscheduler.c:
18326         (gst_basic_scheduler_loopfunc_wrapper),
18327         (gst_basic_scheduler_chain_wrapper),
18328         (gst_basic_scheduler_src_wrapper),
18329         (gst_basic_scheduler_remove_element):
18330         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18331         Remove threadsafe properties. Fix elements because GObject
18332         complains when installing a property before declaring a
18333         set/get_property handler.
18334         Rearrange gstelement.h file, use STATE macros for state locks.
18335         Free mutexes in the finalize method instead of dispose.
18336
18337 2005-03-08  Wim Taymans  <wim@fluendo.com>
18338
18339         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18340         * gst/gstthread.c: (gst_thread_release_children_locks):
18341         Added parentage check.
18342         Fix build og GstThread again.
18343
18344 2005-03-08  Wim Taymans  <wim@fluendo.com>
18345
18346         * docs/design/part-MT-refcounting.txt:
18347         * docs/design/part-conventions.txt:
18348         * docs/design/part-gstobject.txt:
18349         * docs/design/part-relations.txt:
18350         * docs/design/part-standards.txt:
18351         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18352         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18353         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18354         (gst_bin_iterate_all_by_interface):
18355         * gst/gstbuffer.h:
18356         * gst/gstclock.h:
18357         * gst/gstelement.c: (gst_element_class_init),
18358         (gst_element_change_state), (gst_element_set_loop_function):
18359         * gst/gstelement.h:
18360         * gst/gstiterator.c:
18361         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18362         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18363         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18364         (gst_object_set_parent), (gst_object_unparent),
18365         (gst_object_check_uniqueness):
18366         * gst/gstobject.h:
18367         Docs updates, clean up some headers.
18368
18369 2005-03-07  Wim Taymans  <wim@fluendo.com>
18370
18371         * check/.cvsignore:
18372         * check/Makefile.am:
18373         * check/gst-libs/.cvsignore:
18374         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18375         * check/gst/.cvsignore:
18376         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18377         (START_TEST), (gstbus_suite), (main):
18378         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18379         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18380         (gst_data_suite), (main):
18381         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18382         (add_fold_func), (gstiterator_suite), (main):
18383         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18384         (thread_name_object), (thread_name_object_default),
18385         (gst_object_name_compare), (gst_object_suite), (main):
18386         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18387         (gst_pad_suite), (main):
18388         * check/gstcheck.c: (gst_check_log_message_func),
18389         (gst_check_log_critical_func), (gst_check_init):
18390         * check/gstcheck.h:
18391         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18392         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18393         Added checks.
18394
18395 2005-03-07  Wim Taymans  <wim@fluendo.com>
18396
18397         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18398         (gst_list_iterator_next), (gst_list_iterator_resync),
18399         (gst_list_iterator_free), (gst_iterator_new_list),
18400         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18401         (gst_iterator_free), (gst_iterator_push), (filter_next),
18402         (filter_resync), (filter_uninit), (filter_free),
18403         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18404         (gst_iterator_foreach), (find_custom_fold_func),
18405         (gst_iterator_find_custom):
18406         * gst/gstiterator.h:
18407         Added missing files.
18408
18409 2005-03-07  Wim Taymans  <wim@fluendo.com>
18410
18411         * Makefile.am:
18412         * configure.ac:
18413         * docs/design/part-MT-refcounting.txt:
18414         * docs/design/part-conventions.txt:
18415         * docs/design/part-gstobject.txt:
18416         * docs/design/part-relations.txt:
18417         * examples/mixer/mixer.c: (main):
18418         * examples/thread/thread.c: (eos), (main):
18419         * gst/Makefile.am:
18420         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18421         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18422         (gst_spider_plug_from_srcpad):
18423         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18424         (gst_spider_identity_change_state),
18425         (gst_spider_identity_sink_loop_type_finding):
18426         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18427         * gst/elements/gstidentity.c: (gst_identity_init):
18428         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18429         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18430         * gst/elements/gsttypefindelement.c: (free_entry):
18431         * gst/gst.c:
18432         * gst/gst.h:
18433         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18434         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18435         (gst_bin_set_index), (gst_bin_set_element_sched),
18436         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18437         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18438         (gst_bin_iterate_elements), (iterate_child_recurse),
18439         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18440         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18441         (compare_interface), (gst_bin_get_by_interface),
18442         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18443         * gst/gstbin.h:
18444         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18445         (gst_buffer_default_free), (gst_buffer_default_copy),
18446         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18447         (gst_buffer_create_sub):
18448         * gst/gstbuffer.h:
18449         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18450         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18451         (gst_caps_unref), (gst_static_caps_get),
18452         (gst_caps_remove_and_get_structure), (gst_caps_append),
18453         (gst_caps_append_structure), (gst_caps_remove_structure),
18454         (gst_caps_copy_nth), (gst_caps_set_simple),
18455         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18456         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18457         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18458         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18459         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18460         (gst_caps_structure_figure_out_union),
18461         (gst_caps_switch_structures), (gst_caps_do_simplify),
18462         (gst_caps_replace), (gst_caps_from_string),
18463         (gst_caps_copy_conditional):
18464         * gst/gstcaps.h:
18465         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18466         (_gst_clock_id_free), (gst_clock_id_unref),
18467         (gst_clock_id_compare_func), (gst_clock_id_wait),
18468         (gst_clock_id_wait_async), (gst_clock_class_init),
18469         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18470         (gst_clock_get_time), (gst_clock_set_time_adjust),
18471         (gst_clock_set_property), (gst_clock_get_property):
18472         * gst/gstclock.h:
18473         * gst/gstcompat.h:
18474         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18475         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18476         * gst/gstdata.h:
18477         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18478         (gst_element_requires_clock), (gst_element_provides_clock),
18479         (gst_element_set_clock), (gst_element_clock_wait),
18480         (gst_element_wait), (gst_element_set_time_delay),
18481         (gst_element_is_indexable), (gst_element_add_pad),
18482         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18483         (pad_compare_name), (gst_element_get_static_pad),
18484         (gst_element_request_pad), (gst_element_get_request_pad),
18485         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18486         (gst_element_class_get_pad_template_list),
18487         (gst_element_class_get_pad_template), (gst_element_error_func),
18488         (gst_element_get_random_pad), (gst_element_get_event_masks),
18489         (gst_element_send_event), (gst_element_seek),
18490         (gst_element_get_query_types), (gst_element_query),
18491         (gst_element_get_formats), (gst_element_convert),
18492         (gst_element_is_locked_state), (gst_element_set_locked_state),
18493         (gst_element_sync_state_with_parent), (gst_element_change_state),
18494         (gst_element_finalize), (gst_element_yield),
18495         (gst_element_interrupt), (gst_element_set_scheduler),
18496         (gst_element_get_scheduler), (gst_element_set_loop_function):
18497         * gst/gstelement.h:
18498         * gst/gstevent.h:
18499         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18500         (gst_format_get_by_nick), (gst_format_get_details),
18501         (gst_format_iterate_definitions):
18502         * gst/gstformat.h:
18503         * gst/gstindex.c: (gst_index_gtype_resolver):
18504         * gst/gstinfo.c:
18505         * gst/gstinfo.h:
18506         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18507         (gst_mem_chunk_free):
18508         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18509         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18510         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18511         (gst_object_dispatch_properties_changed),
18512         (gst_object_set_name_default), (gst_object_set_name),
18513         (gst_object_get_name), (gst_object_set_name_prefix),
18514         (gst_object_get_name_prefix), (gst_object_set_parent),
18515         (gst_object_get_parent), (gst_object_unparent),
18516         (gst_object_check_uniqueness), (gst_object_save_thyself),
18517         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18518         (gst_object_set_property), (gst_object_get_property),
18519         (gst_object_get_path_string):
18520         * gst/gstobject.h:
18521         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18522         (gst_real_pad_init), (gst_real_pad_get_property),
18523         (gst_pad_custom_new), (gst_pad_get_direction),
18524         (gst_pad_set_active), (gst_pad_is_active),
18525         (gst_pad_set_event_function), (gst_pad_is_linked),
18526         (gst_pad_link_free), (gst_pad_link_intersect),
18527         (gst_pad_link_fixate), (gst_pad_set_caps),
18528         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18529         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18530         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18531         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18532         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18533         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18534         (gst_pad_realize), (gst_pad_get_allowed_caps),
18535         (gst_real_pad_dispose), (gst_real_pad_finalize),
18536         (gst_pad_collectv), (gst_pad_collect_valist),
18537         (gst_pad_template_dispose), (gst_pad_template_new),
18538         (gst_pad_get_internal_links):
18539         * gst/gstpad.h:
18540         * gst/gstpipeline.c: (gst_pipeline_dispose),
18541         (gst_pipeline_change_state):
18542         * gst/gstpipeline.h:
18543         * gst/gstplugin.c:
18544         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18545         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18546         * gst/gstpluginfeature.h:
18547         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18548         * gst/gstquery.c: (_gst_query_type_initialize),
18549         (gst_query_type_register), (gst_query_type_get_by_nick),
18550         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18551         * gst/gstquery.h:
18552         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18553         * gst/gstscheduler.c: (gst_scheduler_add_element),
18554         (gst_scheduler_factory_create):
18555         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18556         (gst_structure_free), (gst_structure_set_name),
18557         (gst_structure_id_set_value), (gst_structure_set_value),
18558         (gst_structure_set_valist), (gst_structure_remove_field),
18559         (gst_structure_remove_fields),
18560         (gst_structure_remove_fields_valist),
18561         (gst_structure_remove_all_fields), (gst_structure_foreach),
18562         (gst_structure_map_in_place),
18563         (gst_caps_structure_fixate_field_nearest_int),
18564         (gst_caps_structure_fixate_field_nearest_double):
18565         * gst/gststructure.h:
18566         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18567         (gst_system_clock_init), (gst_system_clock_dispose),
18568         (gst_system_clock_async_thread),
18569         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18570         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18571         * gst/gstsystemclock.h:
18572         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18573         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18574         * gst/gsttaginterface.c:
18575         * gst/gstthread.c: (gst_thread_dispose),
18576         (gst_thread_release_children_locks), (gst_thread_change_state),
18577         (gst_thread_main_loop):
18578         * gst/gsttrashstack.h:
18579         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18580         * gst/gsttypes.h:
18581         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18582         (gst_element_request_pad), (gst_element_get_pad_from_template),
18583         (gst_element_request_compatible_pad),
18584         (gst_element_get_compatible_pad_filtered),
18585         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18586         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18587         (gst_element_link_many), (gst_element_link),
18588         (gst_element_link_pads), (gst_element_unlink_pads),
18589         (gst_element_unlink_many), (gst_element_unlink),
18590         (gst_pad_can_link_filtered), (gst_pad_can_link),
18591         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18592         (gst_object_default_error), (gst_bin_add_many),
18593         (gst_bin_remove_many), (gst_element_populate_std_props),
18594         (gst_element_class_install_std_props), (gst_buffer_merge),
18595         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18596         (link_fold_func), (gst_pad_proxy_setcaps):
18597         * gst/gstutils.h:
18598         * gst/gstvalue.c: (gst_value_deserialize_string):
18599         * gst/parse/grammar.y:
18600         * gst/schedulers/gstbasicscheduler.c:
18601         (gst_basic_scheduler_cothreaded_chain),
18602         (gst_basic_scheduler_chain_recursive_add),
18603         (gst_basic_scheduler_pad_link):
18604         * gst/schedulers/gstoptimalscheduler.c:
18605         (get_group_schedule_function),
18606         (gst_opt_scheduler_state_transition),
18607         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18608         * libs/gst/bytestream/bytestream.c:
18609         * libs/gst/dataprotocol/dataprotocol.c:
18610         (gst_dp_header_from_buffer):
18611         * po/nb.po:
18612         * po/ru.po:
18613         * tests/threadstate/threadstate2.c: (eos):
18614         * tools/gst-compprep.c: (main):
18615         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18616         (print_pad_info), (print_children_info):
18617         * tools/gst-launch.c: (idle_func), (main):
18618         * tools/gst-md5sum.c: (idle_func), (main):
18619         * tools/gst-xmlinspect.c: (print_element_info):
18620         First THREADED backport attempt, focusing on adding locks and
18621         making sure the API is threadsafe. Needs more work. More docs
18622         follow this week.
18623
18624 2005-02-24  Andy Wingo  <wingo@pobox.com>
18625
18626         * tests/bench-complexity.scm:
18627         * tests/complexity.gnuplot: New files, good for running complexity
18628         benchmarks.
18629
18630         * tests/Makefile.am:
18631         * tests/complexity.c: New test, sets up N elements, at each level
18632         teeing into M streams per element. Eeeenteresting.
18633
18634         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18635         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18636         running bench-mass_elements.scm.
18637
18638         * tests/bench-mass_elements.scm: New script, runs mass_elements
18639         for various numbers of identities, outputting the results to a
18640         file. Requires guile 1.6. Just for testing.
18641
18642 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18643
18644         * gst/schedulers/fairscheduler.c:
18645           compile with debug disabled
18646
18647 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18648
18649         * configure.ac:
18650           hunting season on 0.9 is now OPEN