tests/check/libs/gdp.c: Use the architecture information from config.h and not gcc...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-08-08  Edward Hervey  <edward@fluendo.com>
2
3         * tests/check/libs/gdp.c: (gst_dp_suite):
4         Use the architecture information from config.h and not gcc macros
5         in order to properly disable a test that fails on PPC64.
6
7 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * gst/gstelement.c: (gst_element_remove_pad):
10           Don't crash printing the warning if the pad has no parent.
11
12 2006-08-02  Wim Taymans  <wim@fluendo.com>
13
14         * libs/gst/dataprotocol/dataprotocol.c:
15         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
16         (gst_dp_crc), (gst_dp_header_payload_length),
17         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
18         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
19         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
20         (gst_dp_event_from_packet), (gst_dp_validate_header),
21         (gst_dp_validate_payload):
22         Make debug category static
23         Constify the crc table.
24         Do some more arg checking in public functions.
25         Fix some docs and do some small cleanups.
26
27         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
28         Add some more checks to see if GDP deals with bogus input.
29
30 2006-07-31  Wim Taymans  <wim@fluendo.com>
31
32         * gst/gstvalue.c: (gst_value_compare_list):
33         Fix GstValueList comparison code. Fixes #347293.
34
35         * tests/check/gst/gstvalue.c: (GST_START_TEST):
36         Check to test GstValueList comparison.
37
38 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
39
40         * gst/gstelementfactory.c: (gst_element_factory_create):
41         Remove unnecessary ref/unref pair
42
43         * gst/parse/grammar.y:
44         Make sure to free the parse buffer on all code paths.
45         Move a g_free up to the error handler where it's easier to see.
46
47         * tests/check/gst/gstevent.c: (test_event):
48         Extending timeout for downstream travelling events to 10 seconds to
49         hopefully avoid intermittent failure on the buildbots.
50
51         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
52         Don't manually set the state of the src element - it will happen as a
53         natural consequence of the pipeline changing state, and that way it
54         will do it in the right order too.
55
56 2006-07-31  Wim Taymans  <wim@fluendo.com>
57
58         * libs/gst/base/gstbasetransform.c:
59         (gst_base_transform_buffer_alloc):
60         Use OBJECT_LOCK and refcounting to get the pad caps in the
61         buffer_alloc function because the caps could change while we are
62         busy with them. Fixes #349105
63
64 2006-07-31  Wim Taymans  <wim@fluendo.com>
65
66         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
67         Protect _PAD_CAPS with OBJECT_LOCK.
68
69 2006-07-31  Wim Taymans  <wim@fluendo.com>
70
71         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
72         (gst_pad_get_property), (gst_pad_activate_pull),
73         (gst_pad_activate_push), (gst_pad_set_blocked_async),
74         (gst_pad_set_activate_function),
75         (gst_pad_set_activatepull_function),
76         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
77         (gst_pad_set_getrange_function),
78         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
79         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
80         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
81         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
82         (gst_pad_set_acceptcaps_function),
83         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
84         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
85         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
86         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
87         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
88         (gst_pad_configure_sink), (gst_pad_configure_src),
89         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
90         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
91         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
92         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
93         (gst_pad_send_event):
94         Use _DEBUG_OBJECT when it makes sense.
95         Protect GST_PAD_CAPS with the OBJECT_LOCK.
96         Small cleanups and code reflows.
97         Avoid caps refcounting in _accept_caps.
98         Refactor alloc_buffer so that the code performed on the peer is in a
99         separate function. Also if the pad does not implement a buffer alloc
100         function, we should still check if the pad is flushing before falling
101         back to the default allocator.
102
103 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
104
105         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
106         Make all uses of identity and fakesink have silent=true to avoid
107         serialising every passing data structure, which is breaking tests
108         on FC4 for some unknown reason.
109
110 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
111
112         * gst/parse/Makefile.am:
113         * gst/parse/grammar.y:
114         * gst/parse/parse.l:
115           Reverted previous patch as it required to bump the flex dependency to
116           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
117
118 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
119
120         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
121
122         * gst/parse/Makefile.am:
123         * gst/parse/grammar.y:
124         * gst/parse/parse.l:
125           push & pop the state of the lexer for reentrant use case
126           Fixes #349180
127
128 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * libs/gst/base/gstbasesrc.h:
131           Note in the docs that the ::newsegment vfunc is not actually used by
132           GstBaseSrc.
133
134 2006-07-28  Wim Taymans  <wim@fluendo.com>
135
136         * libs/gst/base/gstcollectpads.c:
137         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
138         (gst_collect_pads_clear), (gst_collect_pads_flush),
139         (gst_collect_pads_event), (gst_collect_pads_chain):
140         When flushing a pad, also clear the queued buffer so that we don't
141         accidentally use it when we shouldn't.
142         Fix leaks by inreffing incomming buffer.
143         Flush out queued buffers in case of errors.
144         Fixes #347452.
145
146 2006-07-28  Wim Taymans  <wim@fluendo.com>
147
148         * docs/random/phonon-gst:
149         Random notes about a Phonon backend.
150
151 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
152
153         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
154         Extra debug output
155         * tests/check/libs/gdp.c: (gst_dp_suite):
156         Take a whack at fixing the ppc compile using a different define to
157         disable the broken test.
158
159         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
160         Remove excess g_print()
161
162 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
163
164         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
165         Oops, meant to uncomment this line too to dampen the noise a bit.
166
167 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
168
169         * gst/parse/grammar.y:
170         * gst/parse/parse.l:
171         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
172         (GST_START_TEST), (parse_suite):
173         Fix some of the leaks exposed by extending the parse-launch testsuite,
174         and move the 3 I can't figure out into a separate test that won't run
175         the pipelines unless the appropriate line is uncommented.
176
177 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
178
179         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
180           Requesting 0 bytes before the end of the file should result in
181           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
182           unit test.
183
184 2006-07-27  Wim Taymans  <wim@fluendo.com>
185
186         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
187         Fix useless assert, a uint is always positive.
188
189         * gst/gststructure.c: (gst_structure_nth_field_name),
190         (gst_structure_foreach), (gst_structure_map_in_place):
191         Check input arguments for public functions to avoid obvious crashes.
192
193         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
194         * plugins/elements/gstfakesink.h:
195         Do less useless typechecking.
196
197 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
198
199         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
200           Do not use mmap() by default since there are a number of error
201           conditions that we would like to handle in a non-fatal way that
202           will result in a SIGBUS if we use mmap(). Examples: external
203           devices (USB harddrive, portable music player) being unplugged
204           while in use; file on mounted CD/DVD that can't be read because
205           the medium is partly damaged. Fixes #348455 and #348475.
206
207 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
208
209         * gst/gstquery.h:
210         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
211         rates are a gdouble
212
213 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
214
215         * gst/gstregistry.c:
216           Move big documentation comment into class section header, so that it
217           appears in the API docs.
218
219 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
220
221         * docs/gst/gstreamer-sections.txt:
222         Oops. Commit the docs additions too for new API.
223         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
224
225 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
226
227         * gst/gststructure.c: (gst_structure_id_set),
228         (gst_structure_id_set_valist):
229         * gst/gststructure.h:
230         Add API for setting values into structures without performing
231         a quark lookup, if the appropriate quark is already known.
232
233         API: gst_structure_id_set
234         API: gst_structure_id_set_valist
235
236         * gst/parse/grammar.y:
237         * gst/parse/parse.l:
238         Remove some dead code shown by the coverage information.
239         Don't throw a critical g_warning when encountering a syntax error,
240         just warn and let the normal error path handle it.
241
242         * plugins/elements/gstelements.c:
243         Bump the rank of filesink up to PRIMARY so that it is preferred over
244         gnomevfssink for file:// sink uri's
245
246         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
247         (GST_START_TEST), (run_delayed_test),
248         (gst_parse_test_element_base_init),
249         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
250         (gst_parse_test_element_change_state),
251         (gst_register_parse_element), (parse_suite):
252         Beef up the tests for parse syntax to check that more error cases
253         fail as they are supposed to. Increases the test coverage a bit.
254
255 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
256
257         * docs/manual/basics-elements.xml:
258           Fix gst_element_link() example.
259
260         * gst/gstutils.c:
261           Mention in API docs that one should usually gst_bin_add()
262           elements to a bin or pipeline before doing the linking.
263           
264 2006-07-26  Wim Taymans  <wim@fluendo.com>
265
266         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
267         (gst_subbuffer_get_type), (gst_buffer_create_sub):
268         Avoid function call for known types by keeping the buffer and
269         subbuffer GType global.
270
271         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
272         Random silly optimisations in read() path.
273
274 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
275
276         * tools/gst-launch.c: (main):
277           If the top-level of the parse is a normal bin, it doesn't do the
278           right logic to run as a top-level element, so place it inside a
279           pipeline.
280
281 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
282
283         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
284           Remove superfluous g_object_notify() calls, GObject does
285           that for us automatically.
286
287 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
288
289         * gst/gstinfo.h:
290           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
291           here.
292
293 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * gst/gsttaglist.c: (_gst_tag_initialize):
296           Allow more than one GST_TAG_IMAGE per taglist.
297
298 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
299
300         * gst/gstminiobject.c:
301           update docs
302         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
303         (gst_fd_src_create):
304           log recurring events at LOG level
305           add more debug for when the fd gets set
306
307 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
308
309         * gst/gstparse.c: (gst_parse_launch):
310           Also remove reentrance checks if flex is MT save (#348179)
311          Fix my empty ChangeLog entry below
312
313 2006-07-21  Andy Wingo  <wingo@pobox.com>
314
315         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
316
317         * libs/gst/check/Makefile.am
318         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
319         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
320         * libs/gst/check/gstbufferstraw.h:
321         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
322         functions, thus proving I am still a GStreamer haxor. OK I wrote
323         them a long time ago, but anyways.
324
325 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
326
327         * configure.ac:
328         * gst/gstparse.c: (gst_parse_launch):
329           Check for flex version and omit mutex if we have a MT save flex
330           (fixes #348179)
331
332 2006-07-21  Wim Taymans  <wim@fluendo.com>
333
334         * gst/gstparse.c: (gst_parse_launch):
335         Protect recursive calls to _parse with a recursive mutex
336         and busy flag.
337
338 2006-07-21  Wim Taymans  <wim@fluendo.com>
339
340         * tests/check/gst/gstpad.c: (GST_START_TEST):
341         Fix leak in test.
342
343 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
344
345         * gst/gstparse.c: (gst_parse_launch):
346           Do not hange on recursive uasge of gst_parse_launch()
347
348 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
349
350         * gst/gsttaglist.c:
351           Add some more docs, comments and FIXME 0.11s here and there
352           and  also fix some typos.
353
354 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
355
356         * gst/gstsegment.h:
357           Convert tabs to spaces for better readability. 
358
359 2006-07-20  Edward Hervey  <edward@fluendo.com>
360
361         * tests/check/libs/gdp.c: (gst_dp_suite):
362         the test_buffer test fails at line 140 on ppc64 at the following
363         check:
364         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
365                 "GST_BUFFER_IN_CAPS flag should have been copied !");
366         See bug #348114 for more details.
367
368 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
369
370         * docs/pwg/advanced-scheduling.xml:
371         * gst/gstpad.c:
372           Fix typos (#348000).
373
374 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
375
376         * docs/pwg/intro-basics.xml:
377           Fix wrong links (#347927).
378
379 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
380
381         * gst/gstregistry.h:
382         * gst/gstregistryxml.c: (load_feature),
383         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
384         * win32/common/config.h:
385         make --disable-index work (#342564)
386
387 2006-07-18  Wim Taymans  <wim@fluendo.com>
388
389         Patch by: Peter Kjellerstedt <pkj at axis dot com>
390
391         * gst/Makefile.am:
392         * gst/gsttrace.h:
393         The attached patch adds two missing defines to gsttrace.h when tracing
394         is disabled.  It also corrects one existing define.
395         Fixes #347756.
396
397 2006-07-17  Wim Taymans  <wim@fluendo.com>
398
399         * docs/gst/gstreamer-sections.txt:
400         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
401         * gst/gst.h:
402         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
403         Add two functions to check and change the SIGSEGV behaviour
404         when loading plugins.
405         Don't mess with the SIGSEGV handler when we were told not to.
406         Fixes #347794.
407         API: gst_segtrap_is_enabled
408         API: gst_segtrap_set_enabled
409
410 2006-07-14  Wim Taymans  <wim@fluendo.com>
411
412         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
413         * tests/check/elements/filesrc.c: (GST_START_TEST):
414         Revert fix for regression in #347408 after release.
415
416 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
417
418         Patch by: Antoine Tremblay <hexa00 at gmail com>
419
420         * gst/gstutils.c: (gst_element_unlink):
421           Free iterator when done (#347311).
422
423         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
424           And add a test case for this.
425
426 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
427
428         * configure.ac:
429         Bump nano back to CVS
430
431 === release 0.10.9 ===
432
433 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
434
435         * configure.ac:
436           releasing 0.10.9, "On the road again"
437
438 2006-07-13  Wim Taymans  <wim@fluendo.com>
439
440         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
441         * tests/check/elements/filesrc.c: (GST_START_TEST):
442         Revert pull-0 fix for release. Disable check. Fixes #347408.
443
444 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
445
446         * libs/gst/dataprotocol/dataprotocol.c:
447         (gst_dp_event_from_packet_1_0):
448           Fixes #347337: failure to deserialize event packets with
449           empty payload (only event type)
450
451 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
452
453         * gst/Makefile.am:
454           do not install a .c file in the header directory
455
456 2006-07-13  Edward Hervey  <edward@fluendo.com>
457
458         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
459         GhostPad no longer implicitely use the padtemplates of the targets.
460         Fixes #347384
461
462 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
463
464         * gst/gstvalue.c: (gst_value_compare_list),
465         (gst_value_compare_array), (_gst_value_initialize):
466         * tests/check/gst/gstvalue.c: (GST_START_TEST):
467         Make GstValueArray comparison be order dependent as designed.
468         Add checks for value lists and value array comparisons.
469         Fixes #347221
470
471 2006-07-11  Edward Hervey  <edward@fluendo.com>
472
473         * gst/gstbin.c: (activate_pads),
474         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
475         (gst_bin_change_state_func):
476         (de)activate src pads before calling state_change on the childs.
477         This is to avoid the case where a src ghostpad is blocked (holding the
478         stream lock), which would block the deactivation of the ghostpad's
479         target pad.
480         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
481         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
482         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
483         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
484         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
485         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
486         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
487         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
488         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
489         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
490         (gst_ghost_pad_class_init),
491         (gst_ghost_pad_internal_do_activate_push),
492         (gst_ghost_pad_internal_do_activate_pull),
493         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
494         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
495         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
496         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
497         GhostPads now create their internal GstProxyPad at creation (and not
498         when they're linked, as it was being done previously).
499         The internal and target pads are linked straight away.
500         The data will also travel through the other pad in order to make
501         pad blocking and probes non-hackish (the probe/block now really happens
502         on the GhostPad and not on the target).
503         * gst/gstpad.c: (gst_pad_set_blocked_async),
504         (gst_pad_link_prepare), (gst_pad_push_event):
505         Remove previous ghostpad cruft.
506         * gst/gstutils.c: (gst_pad_add_data_probe),
507         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
508         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
509         (gst_pad_remove_buffer_probe):
510         Remove previous ghost pad cruft.
511         Added more detailed debug statements.
512         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
513         Fix the testsuite for refcounting changes.
514         The comments about who has references were correct, but the refcount
515         being checked wasn't the same (!?!).
516
517         Fixes #341029
518
519 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
520
521         * docs/gst/gstreamer-sections.txt:
522         * gst/gstconfig.h.in:
523         More docs for configuration options, add docs to gtk-doc.
524
525 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
526
527         * gst/Makefile.am:
528         * gst/gstconfig.h.in:
529         * win32/common/config.h:
530         Fix build when disabling tracing (fixes #344016). Also start to document
531         the defines that disable the sub-systems.
532
533 2006-07-10  Edward Hervey  <edward@fluendo.com>
534
535         * gst/gst.c: (ensure_current_registry_forking):
536         let's make valgrind happy...
537
538 2006-07-09  Wim Taymans  <wim@fluendo.com>
539
540         * gst/gstelement.c: (activate_pads),
541         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
542         Better pad activation code: Reset the collect value too on resync.
543         Add some comments.
544
545 2006-07-09  Wim Taymans  <wim@fluendo.com>
546
547         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
548         (gst_pad_activate_push):
549         Use some more macros where it makes sense.
550         Allow pad mode switching instead of asserting. When a pad
551         is activated in one mode and we activate it in another, 
552         deactivate it first before activating it in a different mode.
553         Fixes #329198.
554
555 2006-07-08  Andy Wingo  <wingo@pobox.com>
556
557         * tools/gst-launch.c (main): Handle err == NULL.
558
559         * gst/gst.c (init_post, ensure_current_registry)
560         (ensure_current_registry_forking)
561         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
562         factoring out the registry scanning into separate functions. Don't
563         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
564         Better environment var name/interface suggestions accepted.
565
566 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
567
568         * gst/gstobject.c: (gst_object_set_name_default),
569         (gst_object_set_name):
570           Random micro-optimisation: don't use a hash table
571           with strings as keys and the usual strdup/strcmp
572           involved, but rather just use the GQuark of the
573           type name as key, since it needs to be looked up
574           anyway to get the type name string.
575
576         * tests/check/gst/gstobject.c: (GST_START_TEST):
577           Fix various leaks.
578
579 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
580
581         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
582         (gst_bin_iterate_all_by_interface):
583           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
584           GTypes are gulongs and thus the top 4 bytes might be cut
585           off on some platforms when doing GPOINTER_TO_INT, leading
586           to invalid GTypes and bad things happening (see RH bug #179654).
587           Also add a check to make sure the type passed in is really
588           an interface type.
589
590 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
591
592         * .cvsignore:
593           Ignore more.
594
595 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
596
597         * Makefile.am:
598         * configure.ac:
599         * gst-element-check.m4:
600         * gst-element-check.m4.in:
601           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
602           instead of the unversioned gst-inspect (#324176, #168659).
603
604 2006-07-06  Wim Taymans  <wim@fluendo.com>
605
606         * gst/gstmessage.h:
607         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
608         warnings.
609
610 2006-07-06  Wim Taymans  <wim@fluendo.com>
611
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
613         (gst_base_src_wait), (gst_base_src_update_length),
614         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
615         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
616         (gst_base_src_loop), (gst_base_src_start),
617         (gst_base_src_activate_pull):
618         Update docs.
619         blocksize == 0 now means the default blocksize when working in push
620         based mode.
621         Remove some pointless asserts in _wait function.
622         Fix offset/length calculations and EOS handling. We can now pull 0
623         bytes as well, which is allowed.
624         use _check_get_range() to decide if we can operate in _pull based
625         mode.
626         Fix refcounting leak when check_get_range function was not 
627         implemented.
628         API GstBaseSrc::blocksize range can be 0 too now (default)
629
630         * tests/check/elements/filesrc.c: (GST_START_TEST),
631         (filesrc_suite):
632         Added check to test _get_range() behaviour.
633
634 2006-07-06  Wim Taymans  <wim@fluendo.com>
635
636         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
637         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
638         (gst_pad_pull_range):
639         * gst/gstpad.h:
640         Lots of comments and docs added to the pad functions.
641         Flesh out the expected behaviour of the get_range() functions.
642
643 2006-07-06  Wim Taymans  <wim@fluendo.com>
644
645         * gst/gstbus.h:
646         * gst/gstclock.h:
647         * gst/gstevent.h:
648         * gst/gstiterator.h:
649         * gst/gstpad.h:
650         * gst/gstplugin.h:
651         * gst/gsttask.h:
652         Remove comma at end of enumerator list. 
653
654 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
655
656         * win32/common/libgstbase.def:
657         * win32/common/libgstdataprotocol.def:
658         * win32/common/libsgtreamer.def:
659         Add new exported functions.
660
661 2006-07-05  Wim Taymans  <wim@fluendo.com>
662
663         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
664         Add some more docs here and there.
665
666 2006-07-05  Wim Taymans  <wim@fluendo.com>
667
668         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
669         (gst_base_sink_loop), (gst_base_sink_get_position):
670         When operating in pull mode update the offset so that we
671         read sequentially.
672
673 2006-07-05  Wim Taymans  <wim@fluendo.com>
674
675         * gst/gstregistryxml.c: (read_string):
676         Avoid strdup. (will happen in libxml, but hey!)
677
678         * gst/gsturi.c:
679         Add some more docs.
680
681 2006-07-05  Wim Taymans  <wim@fluendo.com>
682
683         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
684         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
685         (gst_buffer_suite):
686         No point in checking if the size of the subbuffer > 0, the
687         code handles it correclty as demonstrated by unit test.
688         Also add a unit test for the zero sized _new_and_alloc and
689         _copy. Fixes #346663.
690
691 2006-07-05  Wim Taymans  <wim@fluendo.com>
692
693         * libs/gst/base/gstbasetransform.c:
694         (gst_base_transform_prepare_output_buffer),
695         (gst_base_transform_buffer_alloc),
696         (gst_base_transform_handle_buffer):
697         Make sure the buffer we pass to transform_ip has a refcount of
698         1 and thus is writable. Fixes #343196
699
700 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
701
702         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
703         (gst_file_src_init), (gst_file_src_set_property),
704         (gst_file_src_get_property), (gst_file_src_map_region):
705         * plugins/elements/gstfilesrc.h:
706         Add "sequential" property, off by default, to use madvise and hint
707         to the kernel that sequential access is desired.
708         Touch all retrieved pages by default to ensure they are pulled
709         into memory. (Closes #345720)
710
711 2006-07-03  Wim Taymans  <wim@fluendo.com>
712
713         * docs/design/part-block.txt:
714         * docs/design/part-dynamic.txt:
715         Small docs updates.
716
717 2006-07-03  Wim Taymans  <wim@fluendo.com>
718
719         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
720         (gst_caps_unref), (gst_static_caps_get),
721         (gst_caps_append_structure):
722         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
723         Use GSlice when the glib we build against is >= 2.10
724
725 2006-07-03  Wim Taymans  <wim@fluendo.com>
726
727         * gst/gstelement.c: (gst_element_pads_activate):
728         Small cleanup in pad activation code.
729
730 2006-07-03  Wim Taymans  <wim@fluendo.com>
731
732         Patch by: Peter Kjellerstedt <pkj at axis dot com>
733
734         * gst/gst-i18n-app.h:
735         * gst/gst-i18n-lib.h:
736         * tools/gst-inspect.c: (print_signal_info):
737         The attached patch will make the inclusion of gettext.h unconditional in
738         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
739         libintl.h in tools/gst-inspect.c.
740         This allows use of --disable-nls again and fixes #344642.
741
742 2006-07-03  Edward Hervey  <edward@fluendo.com>
743
744         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
745         Implement pad blocking on events according to part-block.txt.
746         More comments on behaviour.
747         * tests/check/gst/gstevent.c: (test_event):
748         Send event to peer pad of blocked pad (else it will block).
749
750 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
751
752         * libs/gst/check/gstcheck.c: (gst_check_message_error),
753         (gst_check_run_suite):
754           if we get the wrong message, give us the types as string
755         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
756           Fix a translatable
757         * tests/check/elements/filesrc.c: (GST_START_TEST):
758           add a test for trying to open a non-existing file
759
760 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
761
762         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
763           add a test for adding self
764
765 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
766
767         * libs/gst/check/gstcheck.h:
768           add some assert_ as alias for fail_unless_*
769         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
770           increase test coverage
771
772 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
773
774         * Makefile.am:
775           include lcov.mak for lcov coverage generation
776         * tools/Makefile.am:
777           add to CLEANFILES
778
779 2006-07-02  Edward Hervey  <edward@fluendo.com>
780
781         * tests/check/elements/.cvsignore:
782         moaping
783
784 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * configure.ac:
787           don't set CFLAGS and friends for gcov, done from GST_GCOV now
788         * tests/check/Makefile.am:
789           clean up gcov files
790
791 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
792
793         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
794           remove gst_caps_simplify; it was not declared and not used
795           and deprecated in 0.8
796
797 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
798
799         * docs/faq/gst-uninstalled:
800           don't put empty paths on PYTHONPATH
801         * docs/gst/gstreamer-sections.txt:
802           remove some symbols that are not there
803
804 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
805
806         * gst/gstcaps.c: (gst_caps_compare_structures):
807           whitespace fixes
808         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
809         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
810           add more tests
811
812 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
813
814         * libs/gst/dataprotocol/Makefile.am:
815           build dataprotocol test by linking to the lib, instead of
816           compiling the source, so we get coverage
817         * tests/check/Makefile.am:
818         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
819         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
820           add a test for filesrc
821
822 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
823
824         * tests/check/gst/gststructure.c: (GST_START_TEST),
825         (gst_structure_suite):
826           Push coverage from 59.04% to 70.00%
827
828 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * tests/check/Makefile.am:
831           gst-inspect every element; this makes sure that we also get
832           coverage on element's get/set functions
833
834 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
835
836         * configure.ac:
837           set CFLAGS and friends to -O0 if gcov is being used
838           add GCOV LIBS
839         * gst/Makefile.am:
840         * libs/gst/base/Makefile.am:
841         * libs/gst/check/Makefile.am:
842         * libs/gst/controller/Makefile.am:
843         * libs/gst/dataprotocol/Makefile.am:
844         * libs/gst/net/Makefile.am:
845         * plugins/elements/Makefile.am:
846         * plugins/indexers/Makefile.am:
847           add makefile rules to generate gcov data and clean up
848         * tests/check/Makefile.am:
849           add a coverage target that generates an html overview
850           of coverage data
851
852 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
853
854         * tests/check/elements/fakesink.c:
855         * tests/check/elements/fakesrc.c:
856         * tests/check/elements/fdsrc.c:
857         * tests/check/elements/identity.c:
858         * tests/check/generic/sinks.c: (gst_sinks_suite):
859         * tests/check/generic/states.c:
860         * tests/check/gst/gst.c:
861         * tests/check/gst/gstabi.c:
862         * tests/check/gst/gstbin.c:
863         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
864         * tests/check/gst/gstbus.c: (gst_bus_suite):
865         * tests/check/gst/gstcaps.c: (GST_START_TEST):
866         * tests/check/gst/gstelement.c:
867         * tests/check/gst/gstevent.c: (gst_event_suite):
868         * tests/check/gst/gstghostpad.c:
869         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
870         * tests/check/gst/gstmessage.c: (gst_message_suite):
871         * tests/check/gst/gstminiobject.c:
872         * tests/check/gst/gstobject.c:
873         * tests/check/gst/gstpad.c:
874         * tests/check/gst/gstpipeline.c:
875         * tests/check/gst/gstplugin.c:
876         * tests/check/gst/gstquery.c: (gst_query_suite):
877         * tests/check/gst/gstsegment.c: (gst_segment_suite):
878         * tests/check/gst/gststructure.c:
879         * tests/check/gst/gstsystemclock.c:
880         * tests/check/gst/gsttag.c:
881         * tests/check/gst/gsttask.c: (gst_task_suite):
882         * tests/check/gst/gstutils.c:
883         * tests/check/gst/gstvalue.c:
884         * tests/check/libs/adapter.c:
885         * tests/check/libs/basesrc.c:
886         * tests/check/libs/collectpads.c:
887         * tests/check/libs/controller.c:
888         * tests/check/libs/gdp.c: (gst_dp_suite):
889         * tests/check/libs/gstnetclientclock.c:
890         * tests/check/libs/gstnettimeprovider.c:
891         * tests/check/libs/libsabi.c: (libsabi_suite):
892         * tests/check/libs/typefindhelper.c:
893         * tests/check/pipelines/cleanup.c:
894         * tests/check/pipelines/parse-launch.c:
895         * tests/check/pipelines/simple-launch-lines.c:
896         * tests/check/pipelines/stress.c: (stress_suite):
897           use the new macro
898
899 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
902         * libs/gst/check/gstcheck.h:
903           create a macro and function so that the simple unit test
904           case can be just one macro to create main()
905
906 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/gstbin.c: (gst_bin_restore_thyself):
909         * gst/gstxml.c: (gst_xml_make_element):
910           Fix deserialisation from XML. Set parent manually
911           instead of using gst_bin_add(), since gst_bin_add()
912           will unlink all pads of the element being added.
913           Fixes #341667.
914
915 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
916
917         Patch by: Peter Kjellerstedt <pkj at axis com>
918
919         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
920           Fix missing g_strdup() and double free when using the
921           --gst-plugin-load command line option (#346097).
922
923 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
924
925         * gst/gstinfo.c:
926           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
927
928         * libs/gst/net/gstnetclientclock.c:
929         * libs/gst/net/gstnettimeprovider.c:
930           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
931
932 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
933
934         * docs/manual/advanced-dataaccess.xml:
935           Fix buffer probe example compilation in
936           ADM (#345708).
937         
938 2006-06-22  Edward Hervey  <edward@fluendo.com>
939
940         * gst/gstelement.c: (gst_element_pads_activate):
941         We need to deactivate src pads first and then sink pads.
942         The reason is the src pads might be blocking while holding the streaming
943         lock, so we need to deactivate them first so that deactivating the sink
944         pads doesn't block (since it will require the streaming lock).
945
946 2006-06-22  Wim Taymans  <wim@fluendo.com>
947
948         * libs/gst/base/gstbasetransform.c:
949         (gst_base_transform_buffer_alloc):
950         Forgot to remove two unneeded unrefs.
951         Simplify a check _is_equal allready checks the obvious case.
952
953 2006-06-22  Wim Taymans  <wim@fluendo.com>
954
955         * docs/design/part-block.txt:
956         Some docs about what pad_block should do.
957
958 2006-06-22  Wim Taymans  <wim@fluendo.com>
959
960         * gst/gstcaps.c: (gst_caps_replace):
961         Fix crasher when passed NULL. Doc clarification.
962         Optimize for the trivial case.
963
964         * gst/gstpipeline.c: (gst_pipeline_change_state):
965         Small cleanups.
966
967         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
968         Small documentation cleanup.
969
970         * libs/gst/base/gstbasetransform.c:
971         (gst_base_transform_buffer_alloc):
972         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
973         is what we need and it avoids a whole lot of redundant 
974         refcount operations.
975
976 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
977
978         Patch by: Philip Jägenstedt  <philip at lysator liu se>
979
980         * docs/manual/advanced-dataaccess.xml:
981           Fix 'Embedding static elements' section to use
982           GST_PLUGIN_DEFINE_STATIC (#345607).
983
984 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
985
986         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
987           Attempt to 'fix' spuriously failing test case: it seems like the
988           timeout of half a second is simply too small when the system is under
989           load otherwise, and the timeout doesn't really seem to serve any
990           particular purpose here. Give the pipeline a few seconds to preroll
991           first, and then give it another half a second to go from PAUSED to
992           PLAYING and marshal the message into the main thread.
993
994 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * tools/gst-feedback-m.m:
997           Don't only use unversioned tools, try versioned tools as well
998           (#345086).
999
1000 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1001
1002         * gst/gstbus.c: (gst_bus_class_init):
1003           Fix some typos, make docs more explicit.
1004
1005 2006-06-20  Wim Taymans  <wim@fluendo.com>
1006
1007         * tests/check/gst/gstghostpad.c: (block_callback),
1008         (GST_START_TEST), (gst_ghost_pad_suite):
1009         Added some more ghostpad tests, mainly blocking
1010         and probes.
1011
1012 2006-06-16  Wim Taymans  <wim@fluendo.com>
1013
1014         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1015         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1016         (gst_file_sink_event), (gst_file_sink_render):
1017         * plugins/elements/gstfilesink.h:
1018         Check if we can seek in the file instead of assuming
1019         we always can. Post an error when we are asked to seek in a
1020         non-seekable file (like a fifo). Fixes #343312.
1021         Some cleanups.
1022
1023 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * tools/gst-launch.1.in:
1026           Un-garble (fourcc) bit in filtered caps section.
1027
1028 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1029
1030         * docs/manual/advanced-autoplugging.xml:
1031         * docs/manual/basics-helloworld.xml:
1032         * docs/manual/highlevel-components.xml:
1033           Don't leak bus reference in sample code.
1034
1035 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1036
1037         * autogen.sh:
1038           Add default for new --enable-plugin-docs switch.
1039
1040         * configure.ac:
1041           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1042           Fixes #344039.
1043
1044         * docs/Makefile.am:
1045           Use new ENABLE_PLUGIN_DOCS conditional.
1046
1047 2006-06-14  Wim Taymans  <wim@fluendo.com>
1048
1049         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1050         Make it clear with a FIXME and a real define what the #if 0
1051         previously disabled.
1052
1053 2006-06-14  Wim Taymans  <wim@fluendo.com>
1054
1055         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1056         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1057         * libs/gst/base/gstbasetransform.c:
1058         (gst_base_transform_sink_eventfunc):
1059         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1060         Don't randomly and silently reset a segment when the format 
1061         changes as this is a bug somewhere upstream. Fixes #330379.
1062
1063 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1064
1065         Patch by: Wouter Paesen  <wouter at kangaroot net>
1066
1067         * libs/gst/controller/gstcontroller.c:
1068         (gst_controlled_property_new):
1069           Fix controlling of float properties (#344849).
1070
1071         * tests/check/libs/controller.c:
1072         (gst_test_mono_source_get_property),
1073         (gst_test_mono_source_set_property),
1074         (gst_test_mono_source_class_init), (GST_START_TEST):
1075           While we're at it, add some float stuff to unit test.
1076
1077 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         * docs/README:
1080         * docs/images/gdp-header.svg:
1081           add a gdp image
1082         * docs/libs/Makefile.am:
1083         * docs/libs/gdp-header.png:
1084         * libs/gst/dataprotocol/dataprotocol.c:
1085           add it to the API docs
1086         * docs/manual/intro-motivation.xml:
1087           fix typo
1088
1089 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1090
1091         * gst/gst.c: (scan_and_update_registry), (init_post):
1092           If the fork()'ed child process can't write the updated registry cache
1093           file to disk for some reason, make it exit with a failure exit code,
1094           so that the parent can then re-scan the plugins itself and update the
1095           registry structures in memory and work with that (rather than failing
1096           when creating elements because seemingly no plugins are available).
1097           Refactor registry scanning code into separate function for this and
1098           also separate fork() and non-fork() code paths. Fixes #344748.
1099
1100 2006-06-13  Wim Taymans  <wim@fluendo.com>
1101
1102         * docs/manual/advanced-dataaccess.xml:
1103         Fix wrong PluginDesc. Fixes #344755.
1104
1105 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1108           Fix silly bug that prevented us from creating
1109           ~/.gstreamer-0.10 and writing the registry in one
1110           go (the first call to g_mkstemp() would overwrite the
1111           placeholder in the template string, so the second call
1112           to g_mkstemp() after creating the missing directory
1113           would then error out with 'invalid argument').
1114
1115 2006-06-13  Edward Hervey  <edward@fluendo.com>
1116
1117         * gst/gst.c: (init_post):
1118         Free string.
1119
1120 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1121
1122         * gst/glib-compat-private.h:
1123         * gst/glib-compat.c:
1124         * gst/glib-compat.h:
1125         * gst/gstvalue.c: (gst_value_serialize_flags):
1126           remove GLib 2.6 compatibility code
1127
1128 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * gst/parse/Makefile.am:
1131           Fix build with 'make -j N' even more (#340016).
1132
1133 2006-06-12  Wim Taymans  <wim@fluendo.com>
1134
1135         * docs/gst/gstreamer-sections.txt:
1136         Fix docs.
1137
1138 2006-06-12  Wim Taymans  <wim@fluendo.com>
1139
1140         * gst/gstsegment.c: (gst_segment_set_duration),
1141         (gst_segment_set_last_stop), (gst_segment_set_seek),
1142         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1143         (gst_segment_to_running_time), (gst_segment_clip):
1144         Use G_UNLIKELY to help the compiler a bit.
1145
1146 2006-06-12  Wim Taymans  <wim@fluendo.com>
1147
1148         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1149
1150         * gst/gstevent.c: (gst_event_get_type):
1151         * gst/gstmessage.c:
1152         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1153         (gst_pad_push):
1154         constify quark registration strings. Fixes #344115
1155         Avoid unneeded type checking is _pad_push() by internally
1156         calling gst_pad_chain_unchecked().
1157
1158 2006-06-12  Wim Taymans  <wim@fluendo.com>
1159
1160         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1161         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1162         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1163         (gst_buffer_is_span_fast), (gst_buffer_span):
1164         Init _type for consistency.
1165         Use _FLAGS macro to avoid type check.
1166         Avoid unneeded type checks in subbufer code.
1167
1168 2006-06-12  Wim Taymans  <wim@fluendo.com>
1169
1170         * gst/gst.c: (gst_debug_help):
1171         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1172         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1173         (gst_plugin_feature_list_free):
1174         * gst/gstregistry.c: (gst_registry_add_plugin),
1175         (gst_registry_add_feature), (gst_registry_plugin_filter),
1176         (gst_registry_feature_filter), (gst_registry_find_plugin),
1177         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1178         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1179         * gst/gstregistryxml.c: (load_feature),
1180         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1181         * gst/gstminiobject.c: (gst_mini_object_unref),
1182         (gst_mini_object_replace), (gst_value_mini_object_free),
1183         (gst_value_mini_object_copy):
1184         Use _CAST macros to avoid unneeded type checking.
1185         Added some more G_UNLIKELY.
1186
1187 2006-06-12  Wim Taymans  <wim@fluendo.com>
1188
1189         * gst/gstbuffer.h:
1190         Avoid unneeded type checking.
1191         API: GST_BUFFER_IS_DISCONT
1192
1193         * gst/gstminiobject.h:
1194         Avoid type check in flag accessor.
1195
1196         * gst/gstelementfactory.h:
1197         * gst/gstplugin.h:
1198         * gst/gstpluginfeature.h:
1199         Add _CAST macros.
1200         API: GST_ELEMENT_FACTORY_CAST
1201         API: GST_PLUGIN_CAST
1202         API: GST_PLUGIN_FEATURE_CAST
1203
1204 2006-06-12  Wim Taymans  <wim@fluendo.com>
1205
1206         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1207         (gst_object_unref):
1208         Add G_UNLIKELY in type registration.
1209         Avoid type check in _ref/_unref since that is also
1210         done in glib.
1211
1212 2006-06-12  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/gsterror.c: (gst_g_error_get_type):
1215         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1216         (gst_static_pad_template_get_type):
1217         * gst/gsttaglist.c: (gst_tag_list_get_type):
1218         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1219         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1220         * gst/gsturi.c: (gst_uri_handler_get_type):
1221         * gst/gstvalue.c: (gst_date_get_type):
1222         * gst/gstxml.c: (gst_xml_get_type):
1223         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1224         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1225         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1226         Add G_UNLIKELY in type registration.
1227
1228 2006-06-12  Wim Taymans  <wim@fluendo.com>
1229
1230         * tools/gst-inspect.c: (print_signal_info):
1231         Properly print enum values.
1232
1233 2006-06-12  Wim Taymans  <wim@fluendo.com>
1234
1235         * gst/gstinfo.c: (gst_debug_set_active),
1236         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1237         * gst/gstinfo.h:
1238         Add some G_[UN]LIKELY.
1239         Maintain __gst_debug_min to avoid formatting the arguments of
1240         debug messages that will be dropped anyway to avoid a lot of 
1241         overhead from the debugging system.
1242
1243 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1244
1245         * po/POTFILES.in:
1246         * po/POTFILES.skip:
1247           add missing files containing translatable strings, tell intltool about
1248           one exception
1249
1250 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1251
1252         * tests/check/libs/.cvsignore:
1253         add test-binary to ignore list
1254
1255 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1256
1257         * docs/libs/gstreamer-libs-docs.sgml:
1258         reorder (put dp into a chapter) and indent
1259
1260 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1261
1262         * configure.ac:
1263           back to HEAD
1264
1265 === release 0.10.8 ===
1266
1267 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1268
1269         * configure.ac:
1270           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1271
1272 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1273
1274         * gst/gst.c: (init_post):
1275           move pid declaration to declaration block
1276
1277 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1278
1279         * gst/gst.c: (init_post):
1280           use _exit() instead of exit() in our forked child; this ensures
1281           that none of the registered exit handlers from whatever is using
1282           GStreamer get executed.  This fixes gnome-mixer-applet failing
1283           to load, because ORBit would shut down.
1284           Spotted by: Edward Hervey  <edward@fluendo.com>
1285           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1286           Fixes #344474
1287
1288 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1289
1290         * configure.ac:
1291           back to TRUNK
1292
1293 === release 0.10.7 ===
1294
1295 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1296
1297         * configure.ac:
1298           releasing 0.10.7, "Soepeke, ik zie ou"
1299
1300 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1301
1302         * configure.ac:
1303         * po/af.po:
1304         * po/az.po:
1305         * po/bg.po:
1306         * po/ca.po:
1307         * po/cs.po:
1308         * po/de.po:
1309         * po/en_GB.po:
1310         * po/fr.po:
1311         * po/it.po:
1312         * po/nb.po:
1313         * po/nl.po:
1314         * po/ru.po:
1315         * po/sq.po:
1316         * po/sr.po:
1317         * po/sv.po:
1318         * po/tr.po:
1319         * po/uk.po:
1320         * po/vi.po:
1321         * po/zh_CN.po:
1322         * po/zh_TW.po:
1323         * win32/common/config.h:
1324           0.10.6.2 prerelease
1325
1326 2006-06-07  Wim Taymans  <wim@fluendo.com>
1327
1328         * gst/gstindex.c: (gst_index_gtype_resolver):
1329         * tools/gst-xmlinspect.c: (print_plugin_info):
1330         Fix leak spotted by coverity checker. Fixes #343827
1331         Fix another other leak found by paolo borelli.
1332
1333 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1334
1335         * libs/gst/dataprotocol/dataprotocol.c:
1336         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1337         (gst_dp_version_get_type), (gst_dp_init),
1338         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1339         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1340         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1341         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1342         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1343         (gst_dp_packetizer_free):
1344         * libs/gst/dataprotocol/dataprotocol.h:
1345           API: add a GstDPPacketizer object, and create/free functions
1346           API: add GstDPVersion enum
1347           Add 1.0 event function that uses the string serialization
1348           Serialize more useful buffer flags
1349           Fixes #343988
1350
1351 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1352
1353         * tests/check/Makefile.am:
1354         * tests/check/gst/gstabi.c:
1355         * tests/check/gst/struct_ppc64.h:
1356         * tests/check/libs/libsabi.c:
1357         * tests/check/libs/struct_ppc64.h:
1358           add ppc64 structure sizes
1359
1360 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * tests/check/Makefile.am:
1363         * tests/check/gst/gstabi.c:
1364         * tests/check/gst/struct_x86_64.h:
1365         * tests/check/libs/libsabi.c:
1366         * tests/check/libs/struct_x86_64.h:
1367           generate and add structure size lists for x86_64
1368
1369 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1370
1371         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1372         * libs/gst/check/gstcheck.h:
1373           factor out the method from tests that checks size of structures,
1374           and add code to generate the header containing these sizes
1375         * tests/check/gst/gstabi.c: (GST_START_TEST):
1376         * tests/check/gst/struct_i386.h:
1377         * tests/check/libs/libsabi.c: (GST_START_TEST):
1378         * tests/check/libs/struct_i386.h:
1379           use it
1380
1381 2006-06-06  Michael Smith  <msmith@fluendo.com>
1382
1383         * gst/gstsegment.h:
1384           Don't use c++-style comments, fixes #343929
1385
1386 2006-06-05  Edward Hervey  <edward@fluendo.com>
1387
1388         * gst/gst.c:
1389         plugin_paths is not used if we build without registry support.
1390
1391         * gst/gstsegment.c: (gst_segment_copy): 
1392         _copy() was always returning NULL...
1393
1394 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1395
1396         * libs/gst/dataprotocol/dataprotocol.c:
1397         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1398         (gst_dp_packet_from_event):
1399           factor out CRC code
1400
1401 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1402
1403         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1404           make sure we unset caps
1405
1406 2006-06-02  Michael Smith  <msmith@fluendo.com>
1407
1408         * libs/gst/check/gstcheck.c: (gst_check_init),
1409         (gst_check_chain_func):
1410         * libs/gst/check/gstcheck.h:
1411           Add a cond/mutex to the check support lib, signal this whenever we
1412           add to the buffers list. This will allow tests to not busy-wait on
1413           the buffer-list.
1414
1415 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * libs/gst/dataprotocol/dataprotocol.c:
1418         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1419         (gst_dp_packet_from_event):
1420           factor out some common header init code
1421
1422 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1423
1424         * docs/libs/gstreamer-libs-sections.txt:
1425         * docs/libs/tmpl/gstdataprotocol.sgml:
1426         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1427         * libs/gst/dataprotocol/dataprotocol.h:
1428           API: make gst_dp_crc() public
1429
1430 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1431
1432         * plugins/indexers/gstindexers.c: (plugin_init):
1433         conditionally register fileindexer (fixes #343598)
1434
1435 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1436
1437         * gst/gsttagsetter.h:
1438         Can't cast ifaces to a class
1439
1440         * libs/gst/net/gstnetclientclock.h:
1441         * libs/gst/net/gstnettimeprovider.h:
1442         * plugins/elements/gstfakesink.h:
1443         * plugins/elements/gstfakesrc.h:
1444         * plugins/elements/gstfdsink.h:
1445         * plugins/elements/gstfdsrc.h:
1446         * plugins/elements/gstfilesink.h:
1447         * plugins/elements/gstfilesrc.h:
1448         * plugins/elements/gstidentity.h:
1449         * plugins/elements/gstqueue.h:
1450         * plugins/elements/gsttee.h:
1451         * plugins/indexers/gstfileindex.c:
1452         * plugins/indexers/gstmemindex.c:
1453         * tests/old/examples/plugins/example.h:
1454         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1455
1456 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * libs/gst/dataprotocol/dataprotocol.c:
1459         (gst_dp_header_from_buffer):
1460           make sure we zero the whole ABI-compatible area
1461
1462 2006-06-01  Wim Taymans  <wim@fluendo.com>
1463
1464         Patch by: Alessandro Decina <alessandro at nnva dot org>
1465
1466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1467         Make sure the EOS flag is cleared from pads after a flush
1468         or stop. Fixes #343538.
1469
1470         * tests/check/libs/collectpads.c: (GST_START_TEST),
1471         (gst_collect_pads_suite):
1472         Added test for collectpads reusage after EOS.
1473
1474 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1475
1476         * gst/gst.c:
1477          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1478         * win32/common/libgstbase.def:
1479          export gst_collect_pads_set_flushing
1480         * win32/common/libgstreamer.def:
1481          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1482          gst_value_fraction_multiply
1483         * win32/vs6/gst_inspect.dsp:
1484          add a link to intl.lib
1485
1486 2006-05-30  Wim Taymans  <wim@fluendo.com>
1487
1488         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1489         (gst_collect_pads_chain):
1490         Handle the case where a pad is removed from the collection
1491         that could cause the other pads to become collectable.
1492
1493 2006-05-30  Wim Taymans  <wim@fluendo.com>
1494
1495         * gst/gstelement.c:
1496         Clarify the use of _release_request_pad() and
1497         _get_request_pad() a bit better.
1498
1499         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1500         (gst_adapter_take_buffer):
1501         Fix some doc and comment typos.
1502
1503 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1504
1505         * docs/gst/gstreamer-sections.txt:
1506         * docs/libs/gstreamer-libs-sections.txt:
1507           add declared symbols
1508
1509 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1510
1511         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1512         Add debug that can be enabled using a #define at the top of the file,
1513         for dumping stats about how late/early we were when waking up from
1514         waiting on the clock.
1515
1516 2006-05-30  Wim Taymans  <wim@fluendo.com>
1517
1518         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1519         When rebuilding the pad list, don't leak the previous list.
1520
1521 2006-05-30  Wim Taymans  <wim@fluendo.com>
1522
1523         Patch by: Lutz Mueller <lutz at topfrose dot de>
1524
1525         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1526         (gst_base_src_get_query_types), (gst_base_src_update_length):
1527         Publish supported query types.
1528         Update last_stop field in get_range mode so the position
1529         query works. Fixes #342321.
1530
1531 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1532
1533         * docs/gst/gstreamer-sections.txt:
1534         * gst/gsttaglist.c: (_gst_tag_initialize):
1535         * gst/gsttaglist.h:
1536           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1537
1538 2006-05-30  Wim Taymans  <wim@fluendo.com>
1539
1540         Patch by: Alessandro Decina <alessandro at nnva dot org>
1541
1542         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1543         Unlock mutex when removing an unknown pad.
1544         Fixes #343334.
1545
1546         * tests/check/Makefile.am:
1547         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1548         (push_event), (setup), (teardown), (GST_START_TEST),
1549         (gst_collect_pads_suite), (main):
1550         Added collecpads check, disabled for now as check crashes for
1551         some reason.
1552
1553 2006-05-29  Wim Taymans  <wim@fluendo.com>
1554
1555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1556         Don't leak pads lists.
1557
1558 2006-05-29  Wim Taymans  <wim@fluendo.com>
1559
1560         * docs/libs/gstreamer-libs-sections.txt:
1561         * libs/gst/base/gstcollectpads.c:
1562         (gst_collect_pads_set_flushing_unlocked),
1563         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1564         (gst_collect_pads_stop):
1565         * libs/gst/base/gstcollectpads.h:
1566         API: gst_collect_pads_set_flushing()
1567         Added api to set the pads to flushing, useful for seeking
1568         code in elements using collectpads.
1569         Clear segment when receiving a flush.
1570
1571 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1572
1573         * gst/gst.c: (add_path_func), (init_post):
1574           Don't scan registry paths passed via --gst-plugin-path immediately
1575           (will crash, because absolutely nothing is set up and no types are
1576           registered etc.); do this later in init_post(). Fixes #343057.
1577
1578 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1579
1580         * gst/gst.c: (init_post):
1581           if we have fork, fork while reading/rebuilding the registry
1582           so the parent doesn't take the hit of having all plugins loaded
1583           in memory.  Fixes #342777.
1584         * configure.ac:
1585           Check if we have fork()
1586         * win32/common/config.h.in:
1587           no fork() on win32
1588
1589 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1590
1591         * plugins/elements/gstelements.c:
1592         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1593         (gst_file_src_init), (gst_file_src_set_property),
1594         (gst_file_src_get_property), (gst_file_src_start):
1595         * plugins/elements/gstfilesrc.h:
1596           API: GstFileSrc::use-mmap
1597
1598         Add a use-mmap property to enable easier testing of all code paths.
1599         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1600         in the absence of gnomevfssrc. (Closes #340501)
1601
1602 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1603
1604         * tools/gst-inspect.c:
1605         Add missing include, removes warning of ngettext not being defined on
1606         some arches.
1607
1608 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1609
1610         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1611         Handle NULL input and output pointers silently as a failed conversion,
1612         rather than g_warnings.
1613
1614 2006-05-25  Wim Taymans  <wim@fluendo.com>
1615
1616         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1617         Initialize variable before using. Fixes #342820.
1618
1619 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1620
1621         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1622           Fix off-by-one bug that would only allow peeks of N-1 bytes
1623           from the start even if the buffer to typefind on contains
1624           in fact N bytes of data (makes vorbis typefinding from a
1625           vorbis identification header buffer work).
1626
1627         * tests/check/Makefile.am:
1628         * tests/check/libs/.cvsignore:
1629         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1630         (gst_typefindhelper_suite), (main), (foobar_typefind),
1631         (plugin_init):
1632           Add very basic unit test for gst_type_find_helper_for_buffer()
1633           that checks for the problem fixed above.
1634
1635 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1636
1637         * tools/gst-inspect.c: (print_interfaces),
1638         (print_element_properties_info), (print_element_list), (main):
1639           add more translatable strings
1640
1641 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1642
1643         Patch by: Julien Moutte  <julien at moutte net>
1644
1645         * docs/gst/gstreamer-sections.txt:
1646           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1647           
1648         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1649         (gst_fake_sink_preroll):
1650         * plugins/elements/gstfakesink.h:
1651           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1652
1653 2006-05-23  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1656         * gst/gstpad.h:
1657         Added _CUSTOM error and success GstFlowReturn that can be
1658         used be elements internally. 
1659         Added macro to check for SUCCESS flowreturns.
1660         API: GST_FLOW_CUSTOM_SUCCESS
1661         API: GST_FLOW_CUSTOM_ERROR
1662         API: GST_FLOW_IS_SUCCESS
1663
1664         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1665         Added check for GstFlowReturn sanity.
1666
1667 2006-05-23  Wim Taymans  <wim@fluendo.com>
1668
1669         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1670
1671         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1672         (gst_collect_pads_event):
1673         clear/reset segment info in FLUSH_STOP.
1674         Fixes #336929.
1675
1676 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1677
1678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1679         (gst_collect_pads_check_collected):
1680         Flush queued buffer on _stop(), fixes playing again (#342454)
1681
1682 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * tests/check/gst/gststructure.c: (GST_START_TEST),
1685         (gst_structure_suite):
1686           add a test for a complete structure
1687
1688 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1689
1690         * docs/faq/developing.xml:
1691         * docs/faq/faq.xml:
1692         * docs/faq/troubleshooting.xml:
1693         * docs/faq/using.xml:
1694           Some minor FAQ updates that won't change the fact that
1695           our FAQ is badly structured, full of information hardly
1696           anyone new to GStreamer needs to know and lacking lots
1697           of information people constantly ask for.
1698           
1699 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1700
1701         * gst/gstpad.c: (gst_pad_set_caps):
1702           Short-circuit gst_pad_set_caps if setting the existing
1703           caps pointer again, and avoid printing debug and 
1704           reffing/unreffing the caps.
1705
1706         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1707           There's actually no need to set the caps before pushing -
1708           the acceptcaps method will handle it anyway.
1709
1710 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1711
1712         * docs/gst/gstreamer-sections.txt:
1713         * win32/common/libgstreamer.def:
1714         * gst/gstutils.c: (gst_element_seek_simple):
1715         * gst/gstutils.h:
1716           API: add gst_element_seek_simple() (#342238).
1717
1718 2006-05-18  Edward Hervey  <edward@fluendo.com>
1719
1720         * gst/gsttypefind.c: (gst_type_find_get_type):
1721         * gst/gsttypefind.h:
1722         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1723         registered for GstTypeFind pointers. This allows wrapping the structure
1724         in bindings (i.e. gst-python).
1725
1726 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1727
1728         * gst/gsttagsetter.c:
1729           Docs additions and fixes (see #339918).
1730
1731 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1732
1733         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1734         The caps intersection algorithm can produce multiple copies of the
1735         caps. Until that is fixed, we need to simplify the result to be
1736         sure whether the allowed caps are fixed or not.
1737
1738         * plugins/elements/gstqueue.c: (gst_queue_init),
1739         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1740         (gst_queue_push_one):
1741         Proxied buffer alloc should not set the caps on the source pad.
1742         When pushing buffers, we always accept the caps change that triggers.
1743         This prevents negotiation errors caused by caps changing mid-stream 
1744         and then being refused on our source pad (because upstream is now
1745         refusing those caps).
1746
1747 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1748
1749         * tests/examples/helloworld/helloworld.c: (main):
1750           Must plug audioconvert and audioresample between decoder
1751           and audio sink.
1752
1753 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1754
1755         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1756         (load_feature), (load_plugin):
1757         Allow empty strings for some of the plugin fields so we don't 
1758         drop valid plugin entries that were written out correctly
1759         (Fixes #341479)
1760
1761 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1762         
1763         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1764           Use g_remove and g_rename instead of remove and rename that don't 
1765           handle utf8 characters. rename was failing for users who had specific
1766           characters in their name then the registry was built at each 
1767           gstreamer init.
1768         * win32/vs6/gst_inspect.dsp:
1769         * win32/vs6/gst_launch.dsp:
1770         * win32/vs6/libgstbase.dsp:
1771         * win32/vs6/libgstcoreelements.dsp:
1772         * win32/vs6/libgstreamer.dsp:
1773           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1774           build of libgstreamer and clean unused libraries in projects link 
1775           settings.
1776
1777 2006-05-17  Edward Hervey  <edward@fluendo.com>
1778
1779         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1780         The queue is not responsible for pushing an EOS when receiving a fatal
1781         flow error. It's up to the real element driving the pipeline to do that.
1782
1783 2006-05-16  Edward Hervey  <edward@fluendo.com>
1784
1785         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1786         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1787         buffer returned a fatal error. It should just send an EOS and stop
1788         its task.
1789         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1790         when pushing buffers on the queue and will be able to handle the event.
1791
1792 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1793
1794         * docs/manual/basics-bins.xml:
1795         * docs/manual/basics-init.xml:
1796           Fix typos and minor errors in sample code (#341856).
1797
1798 2006-05-16  Wim Taymans  <wim@fluendo.com>
1799
1800         * docs/design/part-qos.txt:
1801         Fix indexes in formulas to make more sense.
1802
1803 2006-05-15  Wim Taymans  <wim@fluendo.com>
1804
1805         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1806         Don't report POSITION based on clock time if sync is
1807         disabled in a sink.
1808
1809 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1810
1811         * gst/gstobject.h:
1812           Add cast to make compiler happy - refcount variable was a gint
1813           in GstObject but is a guint in GObject and g_atomic_int_get()
1814           wants a gint *.
1815
1816 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1817
1818         * gst/parse/Makefile.am:
1819           chain commands using &&, which also makes parallel make work
1820
1821 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824         * gst/gstevent.c:
1825         * gst/gstevent.h:
1826         * gst/gstmessage.h:
1827           Minor docs fixes.
1828
1829 === release 0.10.6 ===
1830
1831 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1832
1833         * configure.ac:
1834           releasing 0.10.6, "Take the cannoli"
1835
1836 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1837
1838         * tools/gst-launch.c: (print_tag):
1839           Fix use of uninitialized variable in the hypothetical
1840           case that some broken plugin creates a GST_TAG_IMAGE
1841           tag containing a NULL buffer (#341667).
1842
1843 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1844
1845         * tools/gst-launch.c: (print_tag):
1846           Print something more intelligible for image tags when
1847           using the -t switch (#341556).
1848
1849 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1850
1851         * Makefile.am:
1852           updates for win32
1853         * configure.ac:
1854           define GST_MAJORMINOR so we have it available in win32/common/config.h
1855           Possibly remove it from our Makefile.am files later
1856         * win32/common/config.h:
1857         * win32/common/config.h.in:
1858           added GST_MAJORMINOR
1859         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1860         * win32/common/gstversion.h:
1861           updated
1862
1863 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1864
1865         * win32/MANIFEST:
1866           Update win32 files listing.
1867         * win32/common/gstversion.h:
1868           Add GST_MAJORMINOR definition.
1869         * win32/common/libgstreamer.def:
1870           Add new exported functions.
1871           
1872 2006-05-12  Michael Smith  <msmith@fluendo.com>
1873
1874         * gst/gstplugin.c: (gst_plugin_load_file):
1875           If an so file has no plugin entry point, unload the module.
1876
1877 2006-05-11  Wim Taymans  <wim@fluendo.com>
1878
1879         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1880         (gst_queue_set_property):
1881         Don't forget to signal the _chain or _loop function 
1882         when the queue size or thresholds change since that might
1883         cause them to make progres again.
1884
1885 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1886
1887         * gst/gstclock.c: (gst_clock_class_init):
1888         * gst/gstindex.c: (gst_index_class_init):
1889         * gst/gstobject.c: (gst_object_class_init):
1890         * gst/gstpad.c: (gst_pad_class_init):
1891         * gst/gstpipeline.c: (gst_pipeline_class_init):
1892         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1893         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1894         * libs/gst/base/gstbasetransform.c:
1895         (gst_base_transform_class_init):
1896         * libs/gst/net/gstnetclientclock.c:
1897         (gst_net_client_clock_class_init):
1898         * libs/gst/net/gstnettimeprovider.c:
1899         (gst_net_time_provider_class_init):
1900         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1901         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1902         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1903         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1904         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1905         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1906         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1907         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1908         * plugins/elements/gsttee.c: (gst_tee_class_init):
1909         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1910         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1911           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1912
1913 2006-05-11  Wim Taymans  <wim@fluendo.com>
1914
1915         * gst/gstbuffer.c: (_gst_buffer_initialize):
1916         Register subbufer along with the buffer type so that
1917         it does not accidentally gets registered from N
1918         different streaming threads in a non threadsafe way.
1919
1920 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * gst/gstbuffer.h:
1923         * gst/gstevent.h:
1924         * gst/gstmessage.h:
1925           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1926           gst_event_ref() and gst_message_ref() functions again
1927           (ugly hack, please do fix if there's a better way besides
1928           overrides.txt, which doesn't seem to work).
1929
1930 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1931
1932         * libs/gst/check/gstcheck.h:
1933           add an assert for setting state to avoid lots of repetitive code
1934           in the future
1935
1936 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1937
1938         * gst/gstvalue.c: (gst_value_serialize_flags):
1939           fix a leak if no flags are set
1940         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1941           fix leak in tests
1942
1943 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1944
1945         * docs/manual/basics-pads.xml:
1946           Expand a bit on caps and filtered links and update
1947           examples that were still using the no longer existing
1948           gst_pad_link_filtered() (#338206).
1949
1950 2006-05-10  Wim Taymans  <wim@fluendo.com>
1951
1952         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1953         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1954         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1955         (gst_collect_pads_stop):
1956         * libs/gst/base/gstcollectpads.h:
1957         No need to call _stop in _finalize.
1958         Iterate the main pad list in _finalize.
1959         Added some more debug.
1960         Free lists and data in the right order.
1961         Also free data whem doing _remove_pad when stopped for
1962         backward compatibility protect ::started with PAD_LOCK as
1963         well.
1964
1965 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1966
1967         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1968         (gst_structure_parse_value):
1969           add some comments
1970           rename a method so that it actually says what it does better
1971
1972 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1973
1974         * gst/gstevent.c: (_gst_event_initialize):
1975         * gst/gstformat.c: (_gst_format_initialize):
1976           make sure some essential types used by events are registered
1977           as part of gst_init()
1978         * gst/gstvalue.c: (gst_value_serialize_flags):
1979           if no flags are set, serialize them to a value that represents NONE
1980           so that deserializing them works
1981         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1982           add tests for serialization and deserialization of flags
1983
1984 2006-05-10  Wim Taymans  <wim@fluendo.com>
1985
1986         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1987         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1988         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1989         (gst_collect_pads_event), (gst_collect_pads_chain):
1990         Update docs.
1991         Better debug info.
1992         Catch and return errors from the collect function
1993         Refuse data on eos pads.
1994
1995 2006-05-10  Edward Hervey  <edward@fluendo.com>
1996
1997         * gst/gstinterface.h:
1998         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1999         GInterface type checking.
2000         They were previously using non-defined macros.
2001
2002 2006-05-09  Wim Taymans  <wim@fluendo.com>
2003
2004         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2005         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2006         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2007         (gst_collect_pads_start), (gst_collect_pads_stop),
2008         (gst_collect_pads_peek), (gst_collect_pads_pop),
2009         (gst_collect_pads_available), (gst_collect_pads_read),
2010         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2011         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2012         (gst_collect_pads_chain):
2013         * libs/gst/base/gstcollectpads.h:
2014         Clean up the mess that is collectpads, add comments and
2015         FIXMEs where needed.
2016         Maintain a separate pad list so we can add pads while
2017         collecting the other ones. For this we need a new separate 
2018         lock (see comics).
2019         Fix memory leak in finalize.
2020         Refactor some weird code to set/unset pad flushing flags, mark
2021         with comments.
2022         Don't crash in _available, _read, _flush when we're EOS.
2023
2024         * tests/check/libs/.cvsignore:
2025         Ignore adapter check binary.
2026
2027 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2028
2029         * gst/gstindex.c: (gst_index_resolver_get_type):
2030         * plugins/elements/gstfakesink.c:
2031         (gst_fake_sink_state_error_get_type):
2032         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2033         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2034         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2035           Const-ify GEnumValue arrays.
2036
2037 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2038
2039         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2040           Add test case for flags + gst_buffer_make_metadata_writable().
2041
2042 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2045           gst_buffer_make_metadata_writable() should maintain the
2046           buffer flags (those that make sense at least) (see #340859).
2047
2048 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2049
2050         * tools/gst-inspect.c:
2051         * tools/gst-launch.c:
2052         * tools/gst-typefind.c:
2053         * tools/gst-xmlinspect.c:
2054         * tools/tools.h:
2055           Fix up includes: need to include stdlib.h in tools.h for exit().
2056
2057 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * gst/gsttaglist.c: (_gst_tag_initialize):
2060         * gst/gsttaglist.h:
2061           API: add GST_TAG_IMAGE tag (#340721).
2062
2063 2006-05-08  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/gstquery.c:
2066         Added some docs for the segment query.
2067
2068 2006-05-08  Wim Taymans  <wim@fluendo.com>
2069
2070         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2071         (gst_base_src_loop), (gst_base_src_change_state):
2072         Always push non-flushing serialized events in the streaming 
2073         thread.
2074
2075 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2076
2077         * gst/gsterror.c: (_gst_stream_errors_init):
2078           Add a missing error string.
2079
2080 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2081
2082         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2083         Add applied_rate to the debug
2084
2085         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2086         Copy applied_rate into the outgoing NEWSEGMENT event
2087
2088 2006-05-08  Wim Taymans  <wim@fluendo.com>
2089
2090         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2091
2092         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2093         (gst_base_sink_change_state):
2094         call ::unlock before taking the PREROLL_LOCK so we can safely
2095         handle elements that lock in ::render.
2096         Fixes #340174.
2097
2098 2006-05-08  Edward Hervey  <edward@fluendo.com>
2099
2100         * autogen.sh: (CONFIGURE_DEF_OPT): 
2101         Darwin's libtoolize is in fact called glibtoolize.
2102         Adding glibtoolize to the list of accepted names for libtoolize.
2103
2104 2006-05-08  Wim Taymans  <wim@fluendo.com>
2105
2106         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2107         Unify error handling, don't post an error message
2108         when a push() returns EOS but perform our normal EOS
2109         handling code. Fixes #340772.
2110
2111 2006-05-08  Wim Taymans  <wim@fluendo.com>
2112
2113         * docs/design/part-overview.txt:
2114         Make upsteam/downstream concepts more clear.
2115         Give an example of serialized/non-serialized events.
2116
2117         * docs/design/part-events.txt:
2118         * docs/design/part-streams.txt:
2119         Mention applied_rate.
2120
2121         * docs/design/part-trickmodes.txt:
2122         Mention applied rate, flesh out some more use cases.
2123
2124         * gst/gstevent.c: (gst_event_new_new_segment),
2125         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
2126         (gst_event_parse_new_segment_full), (gst_event_new_tag),
2127         (gst_event_parse_tag), (gst_event_new_buffer_size),
2128         (gst_event_parse_buffer_size), (gst_event_new_qos),
2129         (gst_event_parse_qos), (gst_event_parse_seek),
2130         (gst_event_new_navigation):
2131         * gst/gstevent.h:
2132         Add applied_rate field to NEWSEGMENT event.
2133         API: gst_event_new_new_segment_full()
2134         API: gst_event_parse_new_segment_full()
2135
2136         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
2137         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
2138         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2139         * gst/gstsegment.h:
2140         Add applied_rate to GstSegment structure.
2141         Make calculation of stream_time and running_time more correct
2142         wrt rate/applied_rate.
2143         Add some more docs.
2144         API: GstSegment::applied_rate field
2145         API: gst_segment_set_newsegment_full();
2146
2147         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2148         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
2149         * libs/gst/base/gstbasetransform.c:
2150         (gst_base_transform_sink_eventfunc),
2151         (gst_base_transform_handle_buffer):
2152         Parse and use applied_rate in the GstSegment field.
2153
2154         * tests/check/gst/gstevent.c: (GST_START_TEST):
2155         Add check for applied_rate field.
2156
2157         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2158         (gstsegments_suite):
2159         Add more checks for various GstSegment operations.
2160
2161 2006-05-08  Wim Taymans  <wim@fluendo.com>
2162
2163         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2164         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2165         (gst_base_sink_get_position), (gst_base_sink_change_state):
2166         Store the sync time of the buffer end position separatly in a
2167         new variable eos_rtime so we can properly sync the EOS event.
2168         Fixes #340697.
2169         Fix the docs for gst_base_sink_set_qos_enabled().
2170         Don't set segment start to invalid value when we receive a 
2171         non TIME newsegment.
2172         get closer to handling position reporting for negative rates 
2173         correctly.
2174
2175 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2176
2177         * gst/gstcaps.c:
2178         Docs about how to print caps for debug purposes.
2179
2180         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2181         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2182
2183 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * gst/gstelement.c:
2186           use full enum names and preprend a '%' in docs strings to make recent 
2187           gtk-doc turn that into a link
2188
2189 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2190
2191         * docs/manual/basics-bins.xml:
2192         * docs/manual/basics-bus.xml:
2193         * docs/manual/basics-pads.xml:
2194           Some typo fixes, some additions, some clarifications. 
2195
2196 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2197
2198         * tools/gst-inspect.c: (main):
2199         * tools/gst-launch.c: (main):
2200         * tools/gst-run.c: (main):
2201         * tools/gst-typefind.c: (main):
2202         * tools/gst-xmlinspect.c: (main):
2203           Use the string passed to g_option_context_new() for
2204           what it's intended for - the program name is already
2205           printed elsewhere.
2206
2207 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2208
2209         * tools/Makefile.am:
2210         * tools/gst-inspect.c: (main):
2211         * tools/gst-launch.c: (main):
2212         * tools/gst-xmlinspect.c: (main):
2213         * tools/tools.h:
2214           Add back --version command line option (#340460).
2215
2216         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2217           Add --version option and use GOption for argument parsing; refactor a
2218           bit; accept directories as arguments and recurse into them; lastly,
2219           print a decent error message when things go wrong.
2220
2221 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2222
2223         * docs/manual/basics-bins.xml:
2224         Don't mention GstThread (#340611)
2225         * docs/manual/basics-elements.xml:
2226         Update link to GObject tutorial (#340607)
2227         
2228 2006-05-05  Wim Taymans  <wim@fluendo.com>
2229
2230         * gst/gstbuffer.h:
2231         * gst/gstminiobject.c:
2232         Add note about refcounting and miniobject/buffer writeability
2233         to docs. Fixes #340604
2234
2235         * gst/gstelementfactory.h:
2236         Added some explanation about @klass.
2237
2238 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2239
2240         * docs/manual/intro-motivation.xml:
2241         * docs/manual/manual.xml:
2242         Avoid CORBA & Bonobo references (#340598)
2243
2244 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2245
2246         * docs/manual/basics-bus.xml:
2247         * docs/manual/basics-pads.xml:
2248         Fix up some inaccuracies and omissions (#340609)
2249         
2250 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2251
2252         * gst/gstghostpad.c:
2253           Small typo in docs (#340625)
2254
2255 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2256
2257         * gst/parse/Makefile.am:
2258           Make 'make -j' proof (see #340698).
2259
2260 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2261
2262         * configure.ac:
2263           Require GLib-2.8 here as well.
2264
2265 2006-05-05  Wim Taymans  <wim@fluendo.com>
2266
2267         * gst/glib-compat.c:
2268         * gst/gst.c: (init_pre):
2269         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2270         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2271         (gst_object_dispatch_properties_changed):
2272         * gst/gstobject.h:
2273         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2274         * gst/gststructure.c: (gst_structure_set_valist):
2275         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2276         Remove pre glib2.8 compatibility, fixes #340508
2277
2278 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2279
2280         * gst/gsttaglist.h:
2281           Mention type of tags in doc blurbs.
2282
2283 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2284
2285         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2286         (gst_pad_configure_src), (gst_pad_push):
2287         Restore acceptcaps checking behaviour now that good plugins have
2288         been released.
2289
2290 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2291
2292         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2293
2294         * gst/gst.c:
2295         * gst/gstbus.c:
2296         * gst/gstclock.c:
2297         * gst/gstevent.c:
2298         * gst/gstformat.c:
2299         * gst/gstmessage.c:
2300         * gst/gstparse.c:
2301         * gst/gstquery.c:
2302         * gst/gstutils.c:
2303         * gst/parse/Makefile.am:
2304         * libs/gst/base/gstadapter.c:
2305         * libs/gst/base/gstbasesrc.c:
2306         * libs/gst/base/gstpushsrc.c:
2307         * libs/gst/base/gsttypefindhelper.c:
2308         * plugins/elements/gstfakesrc.c:
2309         * plugins/elements/gstidentity.c:
2310           Make sure gstprivate.h and/or config.h are
2311           always included first, otherwise some of our
2312           defines (like _FILE_OFFSET_BITS) might be
2313           redefined in the system headers. Fixes build
2314           on opensolaris (#340016).
2315
2316 2006-05-04  Wim Taymans  <wim@fluendo.com>
2317
2318         * docs/libs/gstreamer-libs-sections.txt:
2319         API: addition: gst_adapter_take_buffer()
2320         
2321         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2322         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2323         (gst_adapter_available_fast):
2324         * libs/gst/base/gstadapter.h:
2325         Prepare for optimizing the hell out of this hugely inefficient
2326         piece of code. 
2327         Added gst_adapter_take_buffer() so we can at least start thinking
2328         about subbuffering and merging.
2329         Added some comments.
2330
2331         * tests/check/Makefile.am:
2332         * tests/check/libs/adapter.c: (GST_START_TEST),
2333         (gst_adapter_suite), (main):
2334         Added GstAdapter check.
2335
2336 2006-05-04  Wim Taymans  <wim@fluendo.com>
2337
2338         * docs/design/part-overview.txt:
2339         Fix some typos, add blurb about buffer flags.
2340
2341 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2342
2343         * docs/libs/gstreamer-libs-sections.txt:
2344           make sure GstBaseTransformClass shows up in the docs
2345         * libs/gst/base/gstbasetransform.c:
2346         * libs/gst/base/gstbasetransform.h:
2347           move docs so gtk-doc picks it up now
2348
2349 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * docs/libs/gstreamer-libs-sections.txt:
2352           add missing symbols to docs
2353
2354 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2357           back out the newsegment handling change, see #340060 for ongoing
2358           discussion
2359
2360 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362         * tools/gst-run.c: (get_candidates), (main):
2363           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2364           work); fix typo in error message. Fixes #340079.
2365
2366 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * common/Makefile.am:
2369         * docs/Makefile.am:
2370         * docs/faq/Makefile.am:
2371         * docs/gst/Makefile.am:
2372         * docs/libs/Makefile.am:
2373         * docs/manual/Makefile.am:
2374         * docs/plugins/Makefile.am:
2375         * docs/pwg/Makefile.am:
2376         * docs/slides/Makefile.am:
2377         * docs/upload.mak:
2378         * common/upload.mak:
2379           move upload.mak to common
2380
2381 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2382
2383         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2384           add more asserts on refcounts
2385           do more cleanup at end of tests
2386           fix test leaks showing in FC5
2387
2388 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2389
2390         * plugins/elements/gsttypefindelement.c:
2391         (gst_type_find_element_handle_event):
2392         reverted wrong change and reflowed code to avoid others falling into
2393         this trap
2394
2395 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2396
2397         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2398           fix changelog entry about last collectpads change,
2399           add notes about proper fix
2400
2401 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2402
2403         * gst/gst.c:
2404         * gst/gstregistry.c: (gst_registry_scan_path_level),
2405         (gst_registry_scan_path):
2406         * gst/gstregistry.h:
2407           only write out registry if it has changed, fixes #338339
2408
2409 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2410
2411         * gst/gstbin.c:
2412         * gst/gstpipeline.c:
2413         * plugins/elements/gstcapsfilter.c:
2414         * plugins/elements/gstfakesink.c:
2415         * plugins/elements/gstfakesrc.c:
2416         * plugins/elements/gstfdsink.c:
2417         * plugins/elements/gstfdsrc.c:
2418         * plugins/elements/gstfilesink.c:
2419         * plugins/elements/gstfilesrc.c:
2420         * plugins/elements/gstidentity.c:
2421         * plugins/elements/gstqueue.c:
2422         * plugins/elements/gsttee.c:
2423         * plugins/elements/gsttypefindelement.c:
2424         (gst_type_find_element_handle_event):
2425           make GstElementDetails const
2426
2427 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2428
2429         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2430         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2431         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2432           more detailed debug and formatting cleanup,
2433           forward newsegments to src-pad (so that e.g. adder not eats them)
2434
2435 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2436
2437         * gst/gstutils.c: (gst_element_link_pads):
2438           cleanup double code
2439
2440 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2441
2442         * libs/gst/controller/gstcontroller.c:
2443         (gst_controller_sync_values):
2444           some little tuning
2445         * tests/check/libs/controller.c: (GST_START_TEST),
2446         (gst_controller_suite):
2447           a new test for live value handling
2448
2449 2006-04-28  Wim Taymans  <wim@fluendo.com>
2450
2451         * gst/gstutils.c: (push_and_ref):
2452         Added some more docs.
2453         Fix refcount issue whith gst_element_found_tags() helper 
2454         function. Fixes #338335
2455
2456         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2457         Added testsuite for gst_element_found_tags().
2458
2459 2006-04-28  Michael Smith  <msmith@fluendo.com>
2460
2461         * gst/gstvalue.c: (gst_value_serialize_flags):
2462           Avoid NULL dereference when trying to serialize flags containing
2463           invalid values.
2464
2465 2006-04-28  Michael Smith  <msmith@fluendo.com>
2466
2467         * plugins/elements/gsttypefindelement.c:
2468         (gst_type_find_element_handle_event):
2469           If we get EOS before any data is accumulated, don't use
2470           uninitialised local variables.
2471
2472 2006-04-28  Michael Smith  <msmith@fluendo.com>
2473
2474         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2475         (gst_dp_event_from_packet):
2476           Fixes in reading/writing events over GDP (not currently used?) - 
2477           dereferencing NULL events for unknown/invalid event types, memory
2478           leak, and change g_warning to GST_WARNING.
2479
2480 2006-04-28  Wim Taymans  <wim@fluendo.com>
2481
2482         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2483         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2484         (gst_base_sink_get_position), (gst_base_sink_change_state):
2485         When frame dropping is enabled, we should not ignore frames
2486         without a duration.
2487         Update some documentation.
2488
2489 2006-04-28  Wim Taymans  <wim@fluendo.com>
2490
2491         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2492         (gst_base_src_send_event), (gst_base_src_change_state):
2493         Documentation updates.
2494
2495 2006-04-28  Wim Taymans  <wim@fluendo.com>
2496
2497         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2498         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2499         handle EAGAIN, EINTR and short writes correctly. Also clean
2500         up some error cases, avoid a deadlock on bad file descriptors and
2501         use GST_DEBUG_OBJECT.
2502         Fixes #339843
2503
2504 2006-04-28  Wim Taymans  <wim@fluendo.com>
2505
2506         * gst/gstvalue.c: (gst_value_serialize_buffer),
2507         (gst_value_deserialize_buffer):
2508         Don't try to serialize a GValue with a NULL buffer. 
2509         Fixes #339821.
2510
2511         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2512         Added check for serialisation of NULL buffers.
2513
2514 2006-04-28  Wim Taymans  <wim@fluendo.com>
2515
2516         * gst/gstminiobject.c: (gst_value_take_mini_object):
2517         Taking a NULL miniobject is valid, fix the case where
2518         we try to unref the NULL miniobject.
2519
2520 2006-04-28  Wim Taymans  <wim@fluendo.com>
2521
2522         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2523
2524         * gst/gstbin.c: (gst_bin_handle_message_func):
2525         Update docs.
2526         Don't leak bin refcount when a state recalc is
2527         in progress and we delay another one #339808.
2528
2529 2006-04-28  Wim Taymans  <wim@fluendo.com>
2530
2531         * docs/design/part-TODO.txt:
2532         Mention QoS as an ongoing work item.
2533
2534         * docs/design/part-buffering.txt:
2535         New doc about buffering that needs to be fleshed out
2536         at some point.
2537
2538         * docs/design/part-qos.txt:
2539         More QoS policy for decoders/demuxers/transforms
2540
2541         * docs/design/part-trickmodes.txt:
2542         Small update.
2543
2544 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2545
2546         * configure.ac:
2547           back to HEAD
2548
2549 === release 0.10.5 ===
2550
2551 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2552
2553         * configure.ac:
2554           releasing 0.10.5, "Fogo"
2555
2556 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         patch by: Wim Taymans
2559
2560         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2561         (gst_pad_configure_src), (gst_pad_push):
2562         * gst/gstpipeline.c: (gst_pipeline_init):
2563           Fix internal data flow errors.  Fixes #338711.
2564
2565 2006-04-12  Wim Taymans  <wim@fluendo.com>
2566
2567         * tests/check/gst/gstelement.c: (GST_START_TEST):
2568         Don't leak the factory.
2569
2570 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2571
2572         * configure.ac:
2573         * win32/common/config.h:
2574           prerelease
2575
2576 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2579         (gst_controller_unset_all):
2580           Free allocated GstTimedValues when freeing list nodes.
2581           Should fix leaks 'make check-valgrind' complains about.
2582
2583         * win32/common/libgstcontroller.def:
2584           Add gst_controller_unset_all.
2585
2586 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2587
2588         * docs/libs/gstreamer-libs-sections.txt:
2589         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2590         (gst_controller_unset_all):
2591         * libs/gst/controller/gstcontroller.h:
2592         API: Added new method gst_controller_unset_all()
2593         fixed gst_controller_unset()
2594         * tests/check/libs/controller.c: (GST_START_TEST),
2595         (gst_controller_suite):
2596         Added two testcases for new and fixed method
2597
2598 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2599
2600         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2601           MSG_DONTWAIT is not defined on Cygwin, so work
2602           around that (fixes #317048).
2603           
2604 2006-04-11  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/gstelementfactory.c: (gst_element_register),
2607         (gst_element_factory_create), (gst_element_factory_make):
2608         Some cleanups.
2609         Fixed a FIXME.
2610         Updated docs (Fixes #131079)
2611
2612         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2613         Small cleanups.
2614
2615         * tests/check/gst/gstelement.c: (GST_START_TEST),
2616         (gst_element_suite):
2617         Added testcase for elementfactory class field.
2618
2619 2006-04-10  Wim Taymans  <wim@fluendo.com>
2620
2621         * gst/gstsegment.c:
2622         Added some more docs.
2623
2624         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2625         (gst_base_sink_reset_qos):
2626         Calculate more accurate rate values.
2627
2628 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2629
2630         * gst/gst_private.h:
2631           add a new #ifdef to use __declspec(dllimport) only for
2632           other modules and not for gstreamer core
2633         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2634           use gst_guint64_to_gdouble for conversion
2635         * win32/common/libgstreamer.def:
2636           add new exported functions
2637         * win32/vs6/gst_inspect.dsp:
2638         * win32/vs6/gst_launch.dsp:
2639         * win32/vs6/libgstbase.dsp:
2640         * win32/vs6/libgstcontroller.dsp:
2641         * win32/vs6/libgstcoreelements.dsp:
2642         * win32/vs6/libgstdataprotocol.dsp:
2643         * win32/vs6/libgstnet.dsp:
2644           update project files
2645
2646 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2647
2648         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2649         * gst/gstclock.c: (gst_clock_class_init):
2650         * gst/gstelement.c: (gst_element_class_init):
2651         * gst/gstindex.c: (gst_index_class_init):
2652         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2653         * gst/gstobject.c: (gst_object_class_init),
2654         (gst_signal_object_class_init):
2655         * gst/gstpad.c: (gst_pad_class_init):
2656         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2657         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2658         * gst/gstregistry.c: (gst_registry_class_init):
2659         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2660         * gst/gsttask.c: (gst_task_class_init):
2661         * gst/gstxml.c: (gst_xml_class_init):
2662         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2663         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2664         (gst_base_src_loop):
2665         * libs/gst/controller/gstcontroller.c:/
2666         (_gst_controller_class_init):
2667         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2668         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2669         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2670         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2671         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2672         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2673
2674 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         * gst/gstpad.c: (gst_pad_link):
2677           Must set peer pads before calling the link function, otherwise
2678           a task started from a link function might get a flow-not-linked
2679           result when trying to push because the other thread where the
2680           linking happens hasn't had a chance to set the peers yet. This
2681           might happen for example when a queue gets linked to a downstream
2682           element, as queue starts a streaming task when its source pad
2683           gets linked. Happens in real life when playing back flac/musepack
2684           files in playbin (#332390).
2685           
2686 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2687
2688         * gst/gstindex.h:
2689         * gst/gstxml.h:
2690         * libs/gst/base/gstadapter.h:
2691         * libs/gst/base/gstbasesink.h:
2692         * libs/gst/base/gstbasesrc.h:
2693         * libs/gst/base/gstbasetransform.h:
2694         * libs/gst/base/gstcollectpads.h:
2695         * libs/gst/base/gstpushsrc.h:
2696         Fix broken GObject macros
2697
2698 2006-04-07  Wim Taymans  <wim@fluendo.com>
2699
2700         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2701         Initialize start and stop times, thanks valgrind.
2702
2703 2006-04-07  Wim Taymans  <wim@fluendo.com>
2704
2705         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2706         Be a bit nicer to badly behaving upstream elements that expect
2707         us to deal with non TIME segments and timestamps (such as fakesrc
2708         in the testsuite).
2709
2710 2006-04-07  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/gstbus.c:
2713         Small documentation clarification about the signal watch.
2714
2715         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2716         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2717         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2718         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2719         (gst_base_sink_get_position_last),
2720         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2721         Convert and store timestamps in stream time and running time, the
2722         raw timestamps are not usefull, also document this better.
2723         Use different window sizes for good and bad QoS observations so
2724         we react to badness a little quicker.
2725         Keep track of the amount of rendered and dropped buffers.
2726         Send QoS timestamps in running time.
2727
2728         * libs/gst/base/gstbasetransform.c:
2729         (gst_base_transform_sink_eventfunc),
2730         (gst_base_transform_handle_buffer):
2731         Compare QoS timestamps against running time.
2732
2733 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2734
2735         * gst/gstpad.c:
2736           Typo fixes in docs.
2737
2738 2006-04-06  Michael Smith  <msmith@fluendo.com>
2739
2740         * gst/gstpad.c: (gst_pad_set_property):
2741           Use g_value_get_object() instead of g_value_dup_gst_object(),
2742           to avoid double-reffing the pad template (which we then sink,
2743           so this worked previously if (and only if) the pad template
2744           was floating.
2745
2746         * gst/gstpadtemplate.c: (gst_pad_template_init),
2747         (gst_pad_template_pad_created):
2748           Never return floating references to pad templates, create
2749           them as initially-sunken.
2750
2751           Document an extra function (and make this stop sinking our
2752           pad template, since that is now guaranteed to do nothing,
2753           since we created it sunken).
2754
2755         * gst/gstghostpad.c:
2756           Fix docs typo.
2757
2758 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2759
2760         * gst/gstinfo.c: (__gst_in_valgrind):
2761           Add some newlines.
2762
2763         * plugins/elements/gsttypefindelement.c:
2764         (gst_type_find_element_chain):
2765           Don't leak buffer caps.
2766
2767 2006-04-06  Michael Smith  <msmith@fluendo.com>
2768
2769         * gst/parse/grammar.y:
2770           Fix a leak in parse-launch for any source-or-sink named element 
2771           references used.
2772
2773         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2774           Unref the pipeline if it exists after we've failed parsing.
2775
2776 2006-04-05  Michael Smith  <msmith@fluendo.com>
2777
2778         * gst/gstpipeline.c: (gst_pipeline_init):
2779           When we create a pipeline bus, initially create it in flushing mode.
2780           Fixes leaks in at least one test, and makes a new pipeline work the
2781           same as one that has gone to READY and then back to NULL.
2782
2783         * gst/gstelement.c:
2784           Typo fix in docs.
2785
2786 2006-04-05  Michael Smith  <msmith@fluendo.com>
2787
2788         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2789           Unref a pad we reffed.
2790         * tests/check/gst/gstutils.c: (GST_START_TEST):
2791           Unref bins
2792
2793 2006-04-05  Michael Smith  <msmith@fluendo.com>
2794
2795         * gst/gstquery.c: (gst_query_set_formats),
2796         (gst_query_set_formatsv):
2797           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2798
2799 2006-04-05  Michael Smith  <msmith@fluendo.com>
2800
2801         * tests/check/generic/sinks.c: (GST_START_TEST):
2802           Fix a variety of memleaks in sinks check, which are only sometimes 
2803           shown by running the tests under valgrind (weird?).
2804
2805 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2806
2807         * docs/version.entities.in:
2808           Fix the substituted entity name after thomas' changes on the
2809           weekend.
2810
2811 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2812
2813         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2814         VALGRIND_PRINTF
2815         
2816 2006-04-05  Andy Wingo  <wingo@pobox.com>
2817
2818         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2819
2820         * libs/gst/base/gstbasetransform.c
2821         (gst_base_transform_sink_eventfunc): When resetting our segment on
2822         FLUSH_STOP, also update the flag saying we haven't seen a
2823         newsegment.
2824
2825 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2826
2827         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2828
2829         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2830         (gst_plugin_check_license):
2831           minor clean-ups: G_DEFINE_TYPE already takes care of the
2832           parent_class stuff, no need to do it twice. Mark array of
2833           license strings as constant. (#337103)
2834           
2835 2006-04-04  Michael Smith  <msmith@fluendo.com>
2836
2837         * tools/gst-inspect.c: (print_element_list):
2838           Free the right plugin list; fixes a memory leak.
2839
2840 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2843
2844         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2845           Don't error out on empty buffers (#336945).
2846           
2847 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2848
2849         * docs/libs/gstreamer-libs-sections.txt:
2850         * gst/gsttaglist.c:
2851         * libs/gst/base/gstbasesink.c:
2852         * libs/gst/base/gstbasesink.h:
2853         * libs/gst/base/gstbasesrc.c:
2854         * libs/gst/base/gstbasesrc.h:
2855           Documentation updates. Make BaseSink and BaseSrc docs contain the
2856           class structure so that people can actually see the prototypes for
2857           virtual functions they're supposed to be overriding.
2858
2859 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2860
2861         * plugins/elements/gsttypefindelement.c:
2862         (gst_type_find_element_chain):
2863           More debug info; when skipping typefinding, send cached
2864           events in all cases.
2865
2866 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2867
2868         * configure.ac:
2869           use new AS_VERSION and AS_NANO macros
2870         * gst/gst-i18n-lib.h:
2871         * gst/gst.c:
2872         * gst/gsterror.c:
2873         * gst/gstversion.h.in:
2874         * win32/common/config.h:
2875         * win32/common/config.h.in:
2876           update accordingly
2877
2878 2006-03-31  Michael Smith  <msmith@fluendo.com>
2879
2880         * plugins/elements/gsttypefindelement.c:
2881         (gst_type_find_element_chain):
2882           Do not typefind content if the buffers already have caps.
2883           Neccesary for icydemux (#333657), and the right thing to do anyway.
2884
2885 2006-03-30  Wim Taymans  <wim@fluendo.com>
2886
2887         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2888         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2889         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2890         (gst_base_sink_record_qos_observation),
2891         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2892         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2893         (gst_base_sink_change_state):
2894         More QoS measurements as described in the design doc.
2895         Get rid of ringbuffer with observations, running average is
2896         more simple and equally good.
2897         Calculates valid proportion now.
2898         Added beginning of flood measurement.
2899
2900 2006-03-29  Wim Taymans  <wim@fluendo.com>
2901
2902         * docs/design/part-qos.txt:
2903         * gst/gstclock.c:
2904         Small documentation updates and additions.
2905
2906 2006-03-29  Wim Taymans  <wim@fluendo.com>
2907
2908         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2909         (gst_base_src_send_event), (gst_base_src_loop),
2910         (gst_base_src_change_state):
2911         Perform the EOS logic when we reach the segment stop position.
2912         Fix compilation on gcc4.1
2913
2914 2006-03-29  Wim Taymans  <wim@fluendo.com>
2915
2916         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2917
2918         * plugins/elements/gstqueue.c: (gst_queue_init),
2919         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2920         (gst_queue_set_property):
2921         * plugins/elements/gstqueue.h:
2922         In queue, when EOS is received, if minimum threshold > max_size -
2923         current_level, there is chance that queue blocks forever in conditional
2924         item del wait. This is because the queue is not emptied completely due
2925         to minimum threshold.  Here is another approach. Instead of setting
2926         cur_levels to max in EOS, just zero all minimum threshold levels. This
2927         should make sure that queue gives out all data. When going to READY
2928         (stop) state, just reset the original minimum threshold levels.
2929         Fixes #336336.
2930
2931 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2932
2933         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2934         (gst_type_find_element_handle_event),
2935         (gst_type_find_element_send_cached_events),
2936         (gst_type_find_element_change_state):
2937         * plugins/elements/gsttypefindelement.h:
2938           When typefinding is done in push mode, we should cache
2939           events we receive during typefinding instead of just
2940           dropping them (e.g. newsegment, custom events from
2941           dvdreadsrc etc.) and then send them out once we've
2942           determined the type of the stream (and decodebin
2943           has had a chance to plug in a decoder/demuxer).
2944           
2945 2006-03-27  Wim Taymans  <wim@fluendo.com>
2946
2947         * docs/design/part-qos.txt:
2948         First QoS ideas.
2949
2950 2006-03-27  Wim Taymans  <wim@fluendo.com>
2951
2952         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2953
2954         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2955         (gst_base_src_send_event), (gst_base_src_change_state):
2956         Handle element seek correctly when we are streaming.
2957         Fixes #326998.
2958
2959 2006-03-24  Michael Smith  <msmith@fluendo.com>
2960
2961         * docs/faq/gst-uninstalled:
2962           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2963           allow you to correctly run intalled applications built against old 
2964           core, using plugins that require updated core (e.g. running
2965           installed totem against a full uninstalled gstreamer stack)
2966
2967 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2968
2969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2970         more debug details
2971
2972 2006-03-24  Wim Taymans  <wim@fluendo.com>
2973
2974         * docs/gst/gstreamer-sections.txt:
2975         Rearrange the order of the methods so that related methods
2976         are grouped together in sections.
2977
2978 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2979
2980         * gst/gstelement.c:
2981           Little clarification in the docs
2982
2983 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2984
2985         * docs/README:
2986         formatting fix
2987         * plugins/elements/gstidentity.c:
2988         * plugins/elements/gstqueue.c:
2989         * plugins/elements/gsttee.c:
2990         * plugins/elements/gsttypefindelement.c:
2991         GST_ELEMENT_DETAILS formatting
2992
2993 2006-03-24  Wim Taymans  <wim@fluendo.com>
2994
2995         * libs/gst/base/gstbasesink.h:
2996         Only add fields, not insert or we break ABI.
2997
2998 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2999
3000         * win32/common/libgstbase.def:
3001         * win32/common/libgstreamer.def:
3002           Update, add recently added functions.
3003
3004 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3005
3006         * docs/gst/gstreamer-sections.txt:
3007         * gst/gstutils.c: (gst_pad_query_peer_position),
3008         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3009         * gst/gstutils.h:
3010           API: add some new utility functions:
3011            - gst_pad_query_peer_position()
3012            - gst_pad_query_peer_duration()
3013            - gst_pad_query_peer_convert()
3014           
3015 2006-03-23  Wim Taymans  <wim@fluendo.com>
3016
3017         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3018         (gst_base_sink_init), (gst_base_sink_finalize),
3019         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3020         (gst_base_sink_set_property), (gst_base_sink_get_property),
3021         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3022         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3023         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3024         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3025         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3026         (gst_base_sink_preroll_object), (gst_base_sink_event),
3027         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3028         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3029         (gst_base_sink_query), (gst_base_sink_change_state):
3030         Decouple max-lateness and the fact that QoS messages are generated
3031         with a new property (qos).
3032         added API: GstBaseSink::async_play()
3033         Add vmethod so subclasses can be notified of ASYNC playing
3034         state changes.
3035         Collect timestamp start and stop to report better current
3036         position in EOS/PLAYING/PAUSED/READY/NULL.
3037         Refactor QoS/frame dropping and other measurements.
3038         API: GstBaseSrc::qos
3039         Fixes #326311
3040
3041         * libs/gst/base/gstbasesink.h:
3042         Added Private struct.
3043         API: gst_base_sink_set_qos_enabled()
3044         API: gst_base_sink_is_qos_enabled()
3045
3046 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3047
3048         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3049           If compiling against GLib-2.8 or newer, try to read the
3050           registry file using GMappedFile first before falling back
3051           to fopen() + fread() (#332151).
3052
3053 2006-03-22  Wim Taymans  <wim@fluendo.com>
3054
3055         * gst/gstinfo.c: (gst_debug_set_active),
3056         (gst_debug_category_set_threshold):
3057         Disable debugging unless explicitly activated.
3058         Fixes #335480.
3059
3060 2006-03-22  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/gstelement.c: (gst_element_set_locked_state),
3063         (gst_element_dispose):
3064         Cleanup the error case.
3065
3066         * gst/gstobject.c: (gst_object_dispose):
3067         print a critical when some object was disposed with
3068         a parent, also revive the object since it might
3069         crash the parent.
3070
3071 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3072
3073         * tools/gst-launch.1.in:
3074           Fix another typo.
3075
3076 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         * configure.ac:
3079         * tests/check/Makefile.am:
3080           disable some tests when we don't have a registry
3081         * tests/check/gst/gstutils.c: (gst_utils_suite):
3082           don't build the part that needs parsing
3083
3084 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * gst/Makefile.am
3087         * tests/examples/Makefile.am:
3088           fix --disable-parse build
3089
3090 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * tools/gst-feedback.1.in:
3093           Fix typo: s/feeback/feedback/ (#133494).
3094
3095 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * tools/Makefile.am:
3098         * tools/gst-launch.1.in:
3099           Add FILES section and correct entry about GST_REGISTRY_PATH
3100           environment variable (#133495; #133494).
3101
3102 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3103
3104         * tools/Makefile.am:
3105         * tools/gst-md5sum.1.in:
3106         * tools/gst-md5sum.c:
3107           Remove gst-md5sum and man page (the md5sink element
3108           required was removed ages ago)
3109
3110 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * gst/gststructure.c: (gst_structure_id_set_value):
3113           Make sure that string fields in structures/taglists
3114           contain valid UTF-8 - we don't want to pass rubbish to
3115           applications because of a buggy plugin (cp. #334167).
3116
3117 2006-03-21  Edward Hervey  <edward@fluendo.com>
3118
3119         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3120         (gst_bin_handle_message_func):
3121         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
3122         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
3123         (gst_element_set_bus_func):
3124         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
3125         * gst/gstminiobject.c: (gst_value_set_mini_object),
3126         (gst_value_take_mini_object):
3127         * gst/gstpad.c: (gst_pad_set_pad_template):
3128         * gst/gstpipeline.c: (gst_pipeline_dispose),
3129         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3130         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
3131         (gst_collect_pads_chain):
3132         * libs/gst/net/gstnettimeprovider.c:
3133         (gst_net_time_provider_set_property):
3134         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
3135         It's in fact all issues with gst_*object_replace().
3136
3137 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3138
3139         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
3140         
3141         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3142         * pkgconfig/gstreamer-check.pc.in:
3143           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
3144
3145 2006-03-21  Edward Hervey  <edward@fluendo.com>
3146
3147         * gst/gstbuffer.h:
3148         * gst/gstevent.h:
3149         * gst/gstmessage.h:
3150         gst_[buffer|event|message]_ref() macros are replaced by a static
3151         inline functions because gcc-4.1 will about if the return value
3152         isn't used.
3153         * tests/check/gst/gstevent.c: (event_probe):
3154         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
3155
3156 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
3157
3158         * gst/gstutils.h:
3159         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
3160         the type' case. (Closes: #335195 for now). In the future, when we
3161         depend on GLib 2.10, we could also intern the type name using
3162         g_intern_static_string()
3163
3164 2006-03-20  Wim Taymans  <wim@fluendo.com>
3165
3166         * gst/gstbin.c: (gst_bin_handle_message_func),
3167         (bin_query_max_init), (bin_query_position_fold),
3168         (bin_query_position_done), (gst_bin_query):
3169         Position query should also take max of all streams.
3170
3171 2006-03-20  Wim Taymans  <wim@fluendo.com>
3172
3173         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3174         (gst_fake_src_finalize):
3175         Fix leaks in fakesrc.
3176
3177         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3178         Fix leaks in the testcase.
3179
3180 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3181
3182         * gst/gst_private.h:
3183           add win32 specific import decoration(__declspec(dllimport)) 
3184           for all extern GstDebugCategory * variables
3185         * win32/common/libgstbase.def:
3186         * win32/common/libgstcontroller.def:
3187         * win32/common/libgstreamer.def:
3188           Add some exports, remove empty lines
3189         * win32/common/libgstdataprotocol.def:
3190         * win32/common/libgstdataprotocol.dsp:
3191         * win32/common/libgstnet.def:
3192         * win32/common/libgstnet.dsp:
3193           new project files and exportation files added
3194         
3195 2006-03-19  Wim Taymans  <wim@fluendo.com>
3196
3197         * tests/check/libs/basesrc.c: (eos_event_counter):
3198         Use proper return value for probe.
3199
3200 2006-03-17  Wim Taymans  <wim@fluendo.com>
3201
3202         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3203         (gst_pad_push):
3204         Don't leak buffers, caps and pads on negotiation errors.
3205
3206 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3207
3208         * docs/faq/cvs.xml:
3209         * docs/faq/dependencies.xml:
3210         * docs/faq/developing.xml:
3211         * docs/faq/faq.xml:
3212         * docs/faq/general.xml:
3213         * docs/faq/getting.xml:
3214         * docs/faq/legal.xml:
3215         * docs/faq/troubleshooting.xml:
3216         * docs/faq/using.xml:
3217         Faq review and update.
3218
3219 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3220
3221         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3222         (gst_pad_push):
3223         Don't pound the cpu to pieces by checking get_caps when accept_caps
3224         is called with the same caps as the pad already has.
3225         Use GST_DEBUG_OBJECT when outputting caps change information.
3226
3227 2006-03-15  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/gstclock.c: (gst_clock_class_init):
3230         Fix docs.
3231
3232 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3233
3234         * gst/gstbuffer.h:
3235         Documentation fix.
3236
3237         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3238         (gst_pad_accept_caps), (gst_pad_configure_sink),
3239         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3240         Make the default acceptcaps behaviour be to check the requested 
3241         caps against the gst_pad_get_caps output. 
3242
3243         Ensure that gst_pad_accept_caps is used to check caps when a pad
3244         doesn't have a setcaps function, so that pads automatically refuse 
3245         caps that they don't allow in their pad template. (Fixes #332986)
3246
3247         When a buffer with attached caps is pushed, ensure that the source 
3248         pad receives those caps even if the element didn't call
3249         gst_pad_set_caps first.
3250
3251 2006-03-15  Wim Taymans  <wim@fluendo.com>
3252
3253         * libs/gst/base/gstadapter.c:
3254         Add some docs.
3255
3256 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3257
3258         * win32/common/libgstbase.def:
3259         * win32/common/libgstcontroller.def:
3260         * win32/common/libgstreamer.def:
3261           Add a whole bunch of missing functions (#334434).
3262
3263 2006-03-14  Wim Taymans  <wim@fluendo.com>
3264
3265         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3266         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3267         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3268         Better debug info when we receive a segment event.
3269         Reorganize a bit so we can pass the get_times() results around.
3270         Use the segment format when calculating the running time.
3271         Don't do QoS is sync is disabled or we have no clock or the
3272         element does not want us to sync to the clock.
3273         Don't drop buffers if QoS is disabled for now.
3274
3275 2006-03-14  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3278         Marked the stats property as unimplemented so people don't get
3279         wild ideas.
3280         Add debug message when regression goes wrong.
3281         Added some more docs.
3282
3283 2006-03-14  Wim Taymans  <wim@fluendo.com>
3284
3285         * gst/gstsegment.c: (gst_segment_to_stream_time):
3286         Return correct return type in case of errors.
3287
3288 2006-03-14  Wim Taymans  <wim@fluendo.com>
3289
3290         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3291           Don't segfault on invalid formats.
3292
3293 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3294
3295         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3296           Can't use gst_segment_to_running_time() when the segment
3297           is not in GST_TIME_FORMAT (like with filesink, for example).
3298           Stops flac encoding pipelines from spewing critical warnings
3299           at EOS (#331248).
3300           
3301 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3302
3303         * gst/gstpipeline.c: (gst_pipeline_class_init):
3304           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3305
3306         * plugins/elements/gsttypefindelement.c:
3307         (gst_type_find_element_handle_event):
3308           Don't try to typefind empty streams.
3309
3310 2006-03-14  Wim Taymans  <wim@fluendo.com>
3311
3312         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3313         (gst_base_sink_do_qos):
3314         Separate QoS calculation.
3315         Only drop buffers when lateness is bigger than the 
3316         duration of the buffer.
3317
3318 2006-03-13  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/gstpipeline.c: (gst_pipeline_set_property),
3321         (gst_pipeline_get_property), (do_pipeline_seek),
3322         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3323         (gst_pipeline_get_delay):
3324         Don't deadlock when reading properties.
3325
3326 2006-03-13  Wim Taymans  <wim@fluendo.com>
3327
3328         * libs/gst/base/gstbasetransform.c:
3329         (gst_base_transform_class_init), (gst_base_transform_init),
3330         (gst_base_transform_sink_event),
3331         (gst_base_transform_sink_eventfunc),
3332         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3333         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3334         (gst_base_transform_set_property),
3335         (gst_base_transform_get_property),
3336         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3337         (gst_base_transform_set_qos_enabled),
3338         (gst_base_transform_is_qos_enabled):
3339         * libs/gst/base/gstbasetransform.h:
3340         Make basetransform virtual method for src events too.
3341         Handle QOS in basetransform.
3342         API: gst_base_transform_update_qos()
3343         API: gst_base_transform_set_qos_enabled()
3344         API: gst_base_transform_is_qos_enabled()
3345
3346 2006-03-13  Wim Taymans  <wim@fluendo.com>
3347
3348         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3349         (gst_base_sink_do_sync):
3350         Small cleanups.
3351         Use QOS debug category.
3352
3353 2006-03-13  Wim Taymans  <wim@fluendo.com>
3354
3355         * plugins/elements/gstqueue.c:
3356         Very small doc update.
3357
3358 2006-03-13  Wim Taymans  <wim@fluendo.com>
3359
3360         * gst/gst_private.h:
3361         * gst/gstinfo.c: (_gst_debug_init):
3362         Added QOS debug category
3363
3364 2006-03-13  Wim Taymans  <wim@fluendo.com>
3365
3366         * docs/gst/gstreamer-sections.txt:
3367         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3368         * gst/gstbin.h:
3369         * gst/gstbus.c: (gst_bus_class_init):
3370         * gst/gstbus.h:
3371         * gst/gstclock.c:
3372         * gst/gstelement.c: (gst_element_set_locked_state):
3373         * gst/gstsegment.c:
3374         Documentation updates.
3375
3376         * gst/gstpipeline.c: (gst_pipeline_get_type),
3377         (gst_pipeline_class_init), (gst_pipeline_init),
3378         (gst_pipeline_dispose), (gst_pipeline_set_property),
3379         (gst_pipeline_get_property), (do_pipeline_seek),
3380         (gst_pipeline_send_event), (gst_pipeline_change_state),
3381         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3382         (gst_pipeline_get_delay):
3383         * gst/gstpipeline.h:
3384         Added methods for setting the delay.
3385         API: gst_pipeline_set_delay()
3386         API: gst_pipeline_get_delay()
3387         Add pipeline debug category
3388         Various cleanups.
3389         Updated docs.
3390         Don't reset stream time when seek failed.
3391
3392 2006-03-13  Wim Taymans  <wim@fluendo.com>
3393
3394         * docs/design/draft-klass.txt:
3395         * docs/design/part-clocks.txt:
3396         * docs/design/part-events.txt:
3397         * docs/design/part-gstbin.txt:
3398         * docs/design/part-gstpipeline.txt:
3399         * docs/design/part-messages.txt:
3400         * docs/design/part-negotiation.txt:
3401         * docs/design/part-overview.txt:
3402         * docs/design/part-preroll.txt:
3403         * docs/design/part-seeking.txt:
3404         * docs/design/part-states.txt:
3405         * docs/design/part-streams.txt:
3406         Documentation updates.
3407
3408 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3409
3410         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3411         us to leak strings...
3412
3413 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3414
3415         * libs/gst/net/gstnettimeprovider.c:
3416           fix docs
3417         * win32/common/config.h:
3418           update
3419
3420 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3421
3422         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3423
3424         * configure.ac:
3425           Don't check for libgnomeui (leftover from old examples
3426           that aren't built or disted any longer) (#334303).
3427           
3428 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3429
3430         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3431         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3432           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3433           there's no space left on the device.
3434
3435 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3436
3437         * gst/gstclock.h:
3438           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3439           to cast the input to GstClockTime before comparing with
3440           another GstClockTime value.
3441
3442 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3443
3444         * configure.ac:
3445           back to trunk
3446
3447 === release 0.10.4 ===
3448
3449 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3450
3451         * configure.ac:
3452           releasing 0.10.4, "Light"
3453
3454 2006-03-10  Michael Smith  <msmith@fluendo.com>
3455
3456         * libs/gst/dataprotocol/dataprotocol.c:
3457           Fix docs for dataprocotol to not get the return types completely
3458           wrong for a few functions.
3459
3460 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * docs/gst/gstreamer-sections.txt:
3463         * gst/gstpipeline.c: (gst_pipeline_class_init),
3464         (gst_pipeline_init), (gst_pipeline_set_property),
3465         (gst_pipeline_get_property), (gst_pipeline_change_state),
3466         (gst_pipeline_set_auto_flush_bus),
3467         (gst_pipeline_get_auto_flush_bus):
3468         * gst/gstpipeline.h:
3469           Add new API: gst_pipeline_set_auto_flush_bus() and
3470           gst_pipeline_get_auto_flush_bus() to disable automatic
3471           flushing of the pipeline's GstBus when going from READY
3472           to NULL state (#332045).
3473
3474 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3475
3476         * docs/gst/gstreamer-sections.txt:
3477         * gst/gsturi.c: (gst_uri_has_protocol):
3478         * gst/gsturi.h:
3479            Add new API: gst_uri_has_protocol() (#333779).
3480
3481 2006-03-09  Wim Taymans  <wim@fluendo.com>
3482
3483         * gst/gstclock.c: (gst_clock_entry_new),
3484         (gst_clock_id_compare_func), (gst_clock_id_wait),
3485         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3486         (gst_clock_init), (gst_clock_get_internal_time),
3487         (gst_clock_set_master), (do_linear_regression),
3488         (gst_clock_add_observation), (gst_clock_set_property):
3489         * gst/gstclock.h:
3490         Review docs.
3491         Small cleanups.
3492         Fix a possible segfault when the window-size is made smaller.
3493         Calculate jitter before performing the clock wait. Ideally
3494         the clock implementation should calculate jitter but we need
3495         API breakage for that.
3496
3497         * gst/gstsystemclock.c: (gst_system_clock_init):
3498         Docs review.
3499         
3500         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3501         Remove leftover else
3502
3503         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3504         (gst_systemclock_suite):
3505         Added check to test GST_CLOCK_DIFF.
3506
3507 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3510         (gst_type_find_helper_get_range):
3511           If we are provided with the size, we should implement
3512           GstTypeFind::get_length, so that typefind functions who
3513           want to can actually peek at the middle of a file.
3514
3515 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         * docs/manual/advanced-dataaccess.xml:
3518           Add some very very basic error checking.
3519
3520         * docs/pwg/appendix-checklist.xml:
3521           Some updates to the list of things to check when writing an element.
3522
3523 2006-03-08  Wim Taymans  <wim@fluendo.com>
3524
3525         * docs/design/part-element-transform.txt:
3526         Added some docs about the design of tranform elements.
3527
3528         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3529         (gst_base_src_loop), (gst_base_src_change_state):
3530         Mark buffers with the DISCONT flag.
3531
3532 2006-03-08  Michael Smith  <msmith@fluendo.com>
3533
3534         * gst/gstregistry.h:
3535         * gst/gstregistryxml.c: (gst_registry_save),
3536         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3537         (gst_registry_xml_save_pad_template),
3538         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3539         (gst_registry_xml_write_cache):
3540           Rewrite registry-saving to avoid race conditions and check for
3541           failed writes.
3542
3543 2006-03-08  Wim Taymans  <wim@fluendo.com>
3544
3545         * libs/gst/base/gstbasetransform.c:
3546         (gst_base_transform_transform_caps),
3547         (gst_base_transform_transform_size),
3548         (gst_base_transform_prepare_output_buffer),
3549         (gst_base_transform_get_unit_size),
3550         (gst_base_transform_buffer_alloc),
3551         (gst_base_transform_handle_buffer),
3552         (gst_base_transform_change_state):
3553         Cleanups, separate normal flow from errors, add sensible
3554         DEBUG lines.
3555         Don't try to renegotiate when allocating an output buffer.
3556         Also copy DISCONT buffer flag when copying a buffer.
3557         Reset the transform after we finish streaming, not during.
3558
3559 2006-03-08  Wim Taymans  <wim@fluendo.com>
3560
3561         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3562         Use last buffer timestamp in qos message.
3563
3564 2006-03-07  Wim Taymans  <wim@fluendo.com>
3565
3566         Patch by: Christophe Fergeau
3567
3568         * docs/pwg/advanced-tagging.xml:
3569         * docs/pwg/building-pads.xml:
3570           fixes #333416
3571
3572 2006-03-07  Wim Taymans  <wim@fluendo.com>
3573
3574         * docs/libs/gstreamer-libs-sections.txt:
3575         Added basesink new methods.
3576
3577         * gst/gstevent.c:
3578         * gst/gstevent.h:
3579         Docs updates. Flesh out the QoS docs.
3580
3581         * libs/gst/base/gstadapter.c:
3582         Small doc clarification about ownership and flushing.
3583
3584         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3585         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3586         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3587         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3588         * libs/gst/base/gstbasesink.h:
3589         API additions: 
3590         Added new methods to allow subclass to control max-lateness 
3591         and sync.
3592         Generate very basic QoS events based on last sync observation.
3593         Updated docs, fix typo, added some QoS blurb.
3594
3595         * libs/gst/base/gstbasesrc.c:
3596         Remove obsolete _get_state() calls from docs.
3597
3598 2006-03-07  Wim Taymans  <wim@fluendo.com>
3599
3600         * docs/libs/gstreamer-libs-sections.txt:
3601         * libs/gst/base/gstbasetransform.h:
3602         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3603         Fix docs for GstBaseSrc.
3604
3605 2006-03-07  Wim Taymans  <wim@fluendo.com>
3606
3607         * docs/gst/gstreamer-sections.txt:
3608         * gst/gstbuffer.h:
3609         * gst/gstvalue.c:
3610         * libs/gst/base/gstbasetransform.h:
3611         Small documentation fixes.
3612
3613 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3614
3615         * gst/gstvalue.c:
3616           Document thread-unsafety of gst_value_register_foo_func()
3617           when used at the same time as gst_value_foo() (#322628).
3618
3619 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3620
3621         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3622         (gst_push_src_check_get_range):
3623           Push sources don't support pull mode by default.
3624
3625 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3626
3627         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3628         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3629         (gst_base_src_default_check_get_range):
3630         * libs/gst/base/gstbasesrc.h:
3631           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3632           provide default implementation, and rename
3633           gst_base_src_check_get_range() to
3634           gst_base_src_pad_check_get_range() for clarity.
3635
3636 2006-03-06  Wim Taymans  <wim@fluendo.com>
3637
3638         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3639         Make property overridable.
3640
3641 2006-03-06  Wim Taymans  <wim@fluendo.com>
3642
3643         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3644         (gst_base_sink_init), (gst_base_sink_set_property),
3645         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3646         * libs/gst/base/gstbasesink.h:
3647         API addition: Make max-lateness a property.
3648
3649 2006-03-06  Wim Taymans  <wim@fluendo.com>
3650
3651         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3652         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3653         Don't ever draw a frame that is >10ms late.
3654
3655 2006-03-06  Michael Smith  <msmith@fluendo.com>
3656
3657         * gst/gstmessage.c: (_gst_message_copy):
3658           When copying a message, set the parent_refcount of the enclosed
3659           structure to point at the copy, not the original message.
3660
3661 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         Patch by: Christophe Fergeau
3664
3665         * gst/gstutils.h:
3666           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3667           usable in c++ code (#333417)
3668
3669 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3670
3671         * gst/gstclock.h:
3672           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3673
3674 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         * libs/gst/base/gstbasetransform.c:
3677         (gst_base_transform_transform_caps):
3678           Make sure caps are writable before passing them to
3679           gst_caps_append().
3680
3681 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3682
3683         * gst/gsterror.h:
3684           Fix some minor docs errors.
3685
3686 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3687
3688           Patch by: Ross Burton <ross at burtonini dot com>
3689
3690         * gst/gsterror.c: (_gst_resource_errors_init):
3691         * gst/gsterror.h:
3692           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3693
3694 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3695
3696         * gst/gst.c:
3697         Add a check and output a g_warning when GStreamer is built
3698         against GLib 2.6 but running against 2.8 or higher, and vice 
3699         versa. (Closes: #323542)
3700
3701 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3702
3703         * gst/parse/parse.l:
3704           Commit patch for parse_launch syntax from #331255. Removes 
3705           support for quoted strings and mimetypes when writing filtered 
3706           caps. See the bug report for more details - I'm pretty sure this
3707           obscure feature is not in use by _anyone_ anywhere.
3708
3709           With this simple change, the size of the gstreamer.so here 
3710           drops from 2193KB to 1565KB.
3711
3712 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * plugins/elements/gsttypefindelement.h:
3715         * plugins/elements/gsttypefindelement.c:
3716         (gst_type_find_element_src_event), (start_typefinding),
3717         (stop_typefinding), (gst_type_find_element_handle_event),
3718         (gst_type_find_element_chain),
3719         (gst_type_find_element_chain_do_typefinding):
3720           Use gst_type_find_helper_for_buffer() for chain-based
3721           typefinding.
3722
3723 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3724
3725         * plugins/elements/gsttypefindelement.c:
3726         (gst_type_find_element_class_init),
3727         (gst_type_find_element_set_property),
3728         (gst_type_find_element_get_property):
3729           Deprecate "maximum" property (not only was it only taken into
3730           account for typefinding in push-mode anyway, it also was never
3731           actually possible to set it in the first place because the
3732           property was registered with the numeric property ID for the
3733           "minimum" property). Register "maximum" property correctly,
3734           for the sake of future copy'n'pasters. Remove some cruft
3735           from property get/set functions.
3736
3737 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * plugins/elements/gsttypefindelement.c:
3740         (gst_type_find_element_activate):
3741           Use gst_type_find_helper_get_range() here, so we
3742           can honour the "minimum" property and also emit
3743           the signal with the correct probability of the found caps.
3744
3745 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3746
3747         * docs/libs/gstreamer-libs-sections.txt:
3748         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3749         (helper_find_suggest), (gst_type_find_helper_get_range),
3750         (gst_type_find_helper):
3751         * libs/gst/base/gsttypefindhelper.h:
3752           New API: gst_type_find_helper_get_range() (#333042).
3753
3754 2006-03-02  Michael Smith  <msmith@fluendo.com>
3755
3756         * gst/gstregistryxml.c: (load_feature):
3757           Asserting on a failure to read part of the registry is Not Cool.
3758           Just log a warning and return NULL (which is already handled)
3759
3760 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3761
3762         * win32/common/libgstbase.def:
3763           added export of gst_type_find_helper_for_buffer
3764         * win32/common/libgstbase.def:
3765           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3766           gst_ghost_pad_get_target
3767
3768 2006-02-28  Wim Taymans  <wim@fluendo.com>
3769
3770         * docs/design/draft-klass.txt:
3771         We use Filter now.
3772         Added Connector to mark elements that are only used to
3773         allow pipeline connections.
3774         Moved Debug to extra feature since most of them are 
3775         functionally something else.
3776
3777 2006-02-28  Wim Taymans  <wim@fluendo.com>
3778
3779         * docs/design/draft-klass.txt:
3780         Some updates and clarifications.
3781
3782 2006-02-28  Wim Taymans  <wim@fluendo.com>
3783
3784         * docs/design/draft-klass.txt:
3785         Proposal for klass field values.
3786
3787         * docs/design/part-streams.txt:
3788         Start of a doc describing stream anatomy.
3789
3790 2006-02-28  Wim Taymans  <wim@fluendo.com>
3791
3792         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3793         Help the compiler a bit with type registration.
3794         Use existing forward cod path instead of duplicating it when 
3795         handling a message.
3796         
3797         * gst/gstbus.c: (gst_bus_get_type):
3798         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3799         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3800         * gst/gstclock.c: (gst_clock_get_type):
3801         * gst/gstelement.c: (gst_element_get_type),
3802         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3803         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3804         * gst/gstminiobject.c: (gst_mini_object_get_type):
3805         * gst/gstpad.c: (gst_pad_get_type):
3806         * gst/gstsegment.c: (gst_segment_get_type):
3807         * gst/gststructure.c: (gst_structure_get_type):
3808         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3809         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3810         * gst/gstvalue.c:
3811         Help compiler with type registration.
3812
3813         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3814         Small doc update.
3815
3816 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * plugins/elements/gsttypefindelement.c:
3819         (gst_type_find_element_handle_event):
3820           When we get an EOS event and have not found a type yet
3821           (most likely because we had not yet accumulated
3822           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3823           type given the data we have so far. Fixes typefinding
3824           for very short streams again, most notably quicktime
3825           redirections as used on Apple's trailer site (#331701).
3826
3827 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3828
3829         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3830         (gst_type_find_helper):
3831           Try typefinding factories with the highest rank first.
3832
3833 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * docs/libs/gstreamer-libs-docs.sgml:
3836         * docs/libs/gstreamer-libs-sections.txt:
3837         * libs/gst/base/gsttypefindhelper.c:
3838           Add section for typefind helper and add documentation
3839           for the old and the new function.
3840
3841 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3842
3843         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3844         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3845         (gst_type_find_helper_for_buffer):
3846         * libs/gst/base/gsttypefindhelper.h:
3847           New API: gst_type_find_helper_for_buffer() (#332723).
3848           
3849 2006-02-27  Michael Smith  <msmith@fluendo.com>
3850
3851         Patch by: Loïc Minier
3852
3853         * configure.ac:
3854         * docs/Makefile.am:
3855         * docs/slides/Makefile.am:
3856           prevent CVS directories getting disted.
3857
3858 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3859
3860         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3861           Use the REFCOUNTING category for caps refcounting.
3862           
3863 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3866           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3867
3868 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3869
3870         * plugins/elements/gsttypefindelement.c:
3871         (gst_type_find_element_activate):
3872           Use gst_pad_check_pull_range() before _activate_pull()
3873           to avoid unnecessary open/close (see #331690).
3874
3875 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * gst/gstutils.c:
3878           Docs enhancement: make it crystal clear what the
3879           gst_pad_add_*_probe() callbacks should look like.
3880
3881 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3882
3883         * libs/gst/base/gstbasesrc.c:
3884           Document how applications can stop recording from
3885           live sources (see #330996).
3886
3887 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3888
3889         * tests/check/Makefile.am:
3890         * tests/check/libs/basesrc.c: (eos_event_counter),
3891         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3892         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3893         (gst_basesrc_suite), (main):
3894           ... and add some tests for the base source EOS stuff.
3895
3896 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3897
3898         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3899           Test case originally showed the problem fixed below,
3900           but was then amended. Add checks back at the place
3901           where they used to be.
3902
3903 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3906         (gst_base_src_init), (gst_base_src_loop),
3907         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3908         (gst_base_src_change_state):
3909         * libs/gst/base/gstbasesrc.h:
3910           Don't unconditionally send EOS when going from PAUSED to
3911           READY state, esp. make sure we don't send two EOS events
3912           in some cases (e.g. one when reaching EOS and one when
3913           going from PAUSED to READY). Also, we don't want to send
3914           EOS events when operating in pull mode. However, we do
3915           want to send an EOS event when shutting down a live
3916           source explicitly, for example (fixes #330996).
3917           
3918 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3919
3920         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3921           Update src->read_position after a seek when not using mmap.
3922           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3923
3924 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3925
3926         * gst/Makefile.am:
3927         * gst/gstparse.h:
3928         * gst/gstutils.c:
3929         * gst/gstutils.h:
3930         Make things work with --disable-parse as they do with 
3931         --disable-load-save - the symbols involved disappear, but the
3932         header is still installed and GST_DISABLE_PARSE is included via
3933         gstconfig.h
3934
3935 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3936
3937         * libs/gst/base/gstbasetransform.c:
3938         (gst_base_transform_change_state): Fix a stupid bug. I was 
3939         sure I compiled that.
3940
3941 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3942
3943         * gst/gstpad.c: (gst_pad_set_blocked_async):
3944         * gst/gstutils.c: (gst_pad_add_data_probe),
3945         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3946         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3947         (gst_pad_remove_buffer_probe): Make those function act on the
3948         ghostpad target when it's a ghostpad. (Closes #331727)
3949
3950 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3951
3952         * libs/gst/base/gstbasetransform.c:
3953         (gst_base_transform_change_state): Make basetransform reusable.
3954         (Closes #331898)
3955
3956 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3957
3958         * docs/random/release:
3959         Move the current documentation of how to do a release to the top
3960         of the file.
3961
3962         * gst/gstbin.c: (gst_bin_class_init),
3963         (gst_bin_handle_message_func):
3964         Allow multiple state-recalculation threads. (Closes #328873)
3965
3966 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3967
3968         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3969         * gst/gstpad.c: (gst_pad_set_event_function),
3970         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3971         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3972         2 strings. You can't use the STR_NULL macro on that.
3973
3974 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3975
3976         * gst/gstpad.c: (gst_pad_set_event_function),
3977         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3978         (gst_pad_set_getcaps_function)
3979         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3980           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3981           So now, we can use --gst-debug-level=5 on Windows
3982         * win32/common/libgstcontroller.def:
3983           Added export of gst_controller_init
3984         * win32/vs6/libgstcontroller.dsp:
3985           Fixed Release post build configuration
3986
3987 2006-02-17  Wim Taymans  <wim@fluendo.com>
3988
3989         * tests/check/gst/gstquery.c: (GST_START_TEST):
3990         Added another check.
3991
3992 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3993
3994         * plugins/elements/gsttypefindelement.c: (find_peek):
3995           We can do peeks at non-zero offsets, as long as they
3996           fall within the buffer we have.
3997
3998 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3999
4000         * tests/check/Makefile.am:
4001         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4002         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4003         (parse_suite), (main):
4004           Add testsuite for parse launch syntax
4005
4006 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4007
4008         * plugins/elements/gsttypefindelement.c:
4009         (gst_type_find_element_chain):
4010           When typefinding is unsuccessful in the chain function, don't
4011           error out immediately. Only error out with NO_CAPS_FOUND if
4012           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4013           otherwise simply wait for more data so we can try typefinding
4014           again with more data later. Also, don't attempt to typefind
4015           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4016           this should improve typefinding from network sources where the
4017           size of the first buffer can be somewhat random.
4018
4019 2006-02-14  Wim Taymans  <wim@fluendo.com>
4020
4021         * docs/gst/gstreamer-sections.txt:
4022         * gst/gstpadtemplate.c:
4023         * gst/gstpadtemplate.h:
4024         Fix padtemplate docs, fixes #328805.
4025
4026 2006-02-14  Wim Taymans  <wim@fluendo.com>
4027
4028         * tools/gst-launch.c: (main):
4029         NO_PREROLL is not an ERROR so don't send confusing messages
4030         to the user.
4031
4032 2006-02-14  Wim Taymans  <wim@fluendo.com>
4033
4034         Patch by: Torsten Schoenfeld
4035
4036         * gst/gstregistry.c: (gst_registry_get_default),
4037         (_gst_registry_cleanup):
4038         Protect default registry with lock and ref/sink it.
4039         Fixes #324818
4040
4041 2006-02-14  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstbuffer.c:
4044         * gst/gstquery.c: (gst_query_list_add_format),
4045         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4046         (gst_query_parse_formats_nth):
4047         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4048         Docs fixes.
4049
4050 2006-02-14  Wim Taymans  <wim@fluendo.com>
4051
4052         * docs/gst/gstreamer-sections.txt:
4053         Reworked query docs.
4054
4055         * gst/gstquery.c: (gst_query_new_formats),
4056         (gst_query_list_add_format), (gst_query_set_formats),
4057         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4058         (gst_query_parse_formats_nth):
4059         * gst/gstquery.h:
4060         Flesh out formats query, added some new methods.
4061         Fix part of #324398.
4062
4063         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4064         Added query creation tests.
4065
4066 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4067
4068         * gst/gstpad.c: (fixate_value):
4069         Add a default fixation for fraction lists.
4070
4071 2006-02-13  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4074         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4075         (gst_task_join):
4076         * gst/gsttask.h:
4077         Detect and warn for obvious deadlocks. fixes #320340
4078         Fix error case where lock was not released.
4079
4080         * tests/check/Makefile.am:
4081         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4082         (task_func), (gst_element_suite), (main):
4083         Add task check.
4084
4085 2006-02-13  Wim Taymans  <wim@fluendo.com>
4086
4087         * docs/gst/gstreamer-sections.txt:
4088         * gst/gstbus.c:
4089         Add new functions to docs.
4090
4091 2006-02-13  Wim Taymans  <wim@fluendo.com>
4092
4093         * docs/design/part-TODO.txt:
4094         Updated TODO list, basesrc supports seeking to non-bytes
4095         formats.
4096
4097         * docs/design/part-element-sink.txt:
4098         Update docs.
4099
4100         * gst/gstbin.c: (bin_replace_message),
4101         (gst_bin_handle_message_func):
4102         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4103         * gst/gstevent.c: (gst_event_finalize):
4104         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4105         (gst_pad_send_event):
4106         Use shiny new _TYPE_NAME macros.
4107
4108         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4109         Move debug statement up.
4110
4111         * gst/gstelement.c: (gst_element_set_locked_state):
4112         Add some debugging.
4113
4114 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4115
4116         * docs/gst/gstreamer-sections.txt:
4117         * gst/gstmessage.h:
4118         * gst/gstquery.h:
4119           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
4120           macros (#330906). Also, document the already existing
4121           GST_QUERY_TYPE macro.
4122
4123 2006-02-13  Wim Taymans  <wim@fluendo.com>
4124
4125         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
4126         (event_probe), (GST_START_TEST):
4127         Only events up to the pipeline EOS are counted, there are
4128         some more when going to NULL currently which we don't care
4129         about for now.
4130
4131 2006-02-13  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstpad.c: (gst_pad_send_event):
4134         Correctly check flushing and emit probes. fixes #330125
4135
4136 2006-02-10  Andy Wingo  <wingo@pobox.com>
4137
4138         * gst/gstbus.c (gst_bus_class_init): Declare our private data
4139         structure.
4140         (gst_bus_init): Cache the location of the private data in the
4141         instance structure.
4142         (gst_bus_enable_sync_message_emission) 
4143         (gst_bus_disable_sync_message_emission): Implement new public
4144         functions.
4145         (gst_bus_post): Emit the sync-message signal if the user asked for
4146         it. Fixes #330684.
4147
4148         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
4149         location of the bus-private structure.
4150         (gst_bus_enable_sync_message_emission)
4151         (gst_bus_disable_sync_message_emission): API addition
4152
4153 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
4154
4155         Patch by: Vincent Torri
4156
4157         * docs/pwg/building-boiler.xml:
4158         PWG patch from #326800
4159
4160 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * configure.ac:
4163         * docs/Makefile.am:
4164         * docs/design/Makefile.am:
4165           Dist design docs.
4166
4167 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4168
4169         * configure.ac:
4170           back to CVS
4171
4172 === release 0.10.3 ===
4173
4174 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4175
4176         * configure.ac:
4177           releasing 0.10.3, "Like a virgin"
4178
4179 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4180
4181         * configure.ac:
4182           2nd prerelease of 0.10.3
4183           Bump libtool versioning.
4184
4185 2006-02-07  Andy Wingo  <wingo@pobox.com>
4186
4187         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4188         update last_stop if we're in TIME format and the timestamp is
4189         valid.
4190
4191         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4192         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4193         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4194         If we get a new newsegment with a different format, adapt
4195         accordingly.
4196
4197         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4198         of 0. Not a problem, really.
4199
4200         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4201         warn if sync=true.
4202
4203 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4204
4205         * configure.ac:
4206           Prelease of 0.10.3
4207
4208 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4209
4210         * win32/vs7:
4211           project files updated to the default vs7 configuration
4212         * win32/common/libgstbase.def:
4213         * win32/common/libgstreamer.def:
4214           added new symbols,
4215           removed empty lines,
4216           sorted all exported symbols alphabetically
4217         * win32/common/dirent.c:
4218         * win32/common/dirent.h:
4219         * win32/common/gchar.h:
4220           use windows line end.
4221           
4222 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4223
4224         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4225           Send EOS event when stopping.
4226
4227 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4228
4229         * docs/README:
4230           Tell folks what to do if the plugin-foobar.xml file
4231           hasn't been generated for a newly-added plugin.
4232
4233 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4234
4235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4236         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4237         (gst_collect_pads_start), (gst_collect_pads_stop),
4238         (gst_collect_pads_event): Collectpads now holds a reference
4239         to the GstPad that was added. Indeed we don't want to look
4240         at pads that might just go away with no warning...
4241
4242 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4243
4244         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4245         (gst_collect_pads_start), (gst_collect_pads_stop),
4246         (gst_collect_pads_event), (gst_collect_pads_chain):
4247         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4248         Mark Nauwelaerts's patch on bug #328491.
4249
4250 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4251
4252         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4253         (gst_utils_suite):
4254           Add some simple tests for gst_parse_bin_from_description() and
4255           gst_bin_find_unconnected_pad() (#329069).
4256
4257 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4258
4259         * tools/gst-launch.c: (event_loop), (main):
4260           Catch errors during preroll (#320084).
4261
4262 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4263
4264         * plugins/elements/gsttypefindelement.c:
4265         (gst_type_find_element_activate):
4266           Post TYPE_NOT_FOUND error message when typefinding
4267           is unsuccessful in the activate function as well.
4268
4269 2006-02-02  Wim Taymans  <wim@fluendo.com>
4270
4271         * docs/design/part-element-sink.txt:
4272         Updated doc.
4273
4274 2006-02-02  Wim Taymans  <wim@fluendo.com>
4275
4276         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4277         (gst_base_sink_render_object),
4278         (gst_base_sink_queue_object_unlocked):
4279         Only keep track of prerollable items when we are 
4280         prerolling.
4281         Before rendering after preroll, always check if we
4282         have queued items.
4283         Added some more debugging.
4284
4285 2006-02-02  Wim Taymans  <wim@fluendo.com>
4286
4287         * gst/gstelement.c: (gst_element_continue_state),
4288         (gst_element_set_state_func), (gst_element_change_state):
4289         Fixed #326576, been running this for quite some time with
4290         no regressions at all.
4291
4292 2006-02-02  Wim Taymans  <wim@fluendo.com>
4293
4294         * common/gst.supp:
4295         Added more suppressions
4296
4297 2006-02-02  Wim Taymans  <wim@fluendo.com>
4298
4299         * docs/design/part-element-sink.txt:
4300         Updated document.
4301
4302         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4303         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4304         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4305         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4306         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4307         (gst_base_sink_preroll_object),
4308         (gst_base_sink_queue_object_unlocked),
4309         (gst_base_sink_queue_object), (gst_base_sink_event),
4310         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4311         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4312         (gst_base_sink_get_position), (gst_base_sink_change_state):
4313         * libs/gst/base/gstbasesink.h:
4314         Totally refactored matching the design doc.
4315         Use two segments, one to clip incomming buffers and another to
4316         perform sync.
4317         Handle queueing correctly, bypass the queue when playing.
4318         Make EOS cancelable.
4319         Handle errors correctly when operating in pull based mode.
4320
4321         * tests/check/elements/fakesink.c: (GST_START_TEST),
4322         (fakesink_suite):
4323         Added new check for sinks.
4324
4325 2006-02-02  Wim Taymans  <wim@fluendo.com>
4326
4327         * gst/gstsegment.c: (gst_segment_clip):
4328         No reason to refuse to clip when start == -1
4329
4330 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4331
4332         * docs/README:
4333         * docs/manual/intro-basics.xml:
4334         * docs/manual/intro-preface.xml:
4335         * docs/manual/manual.xml:
4336         * docs/pwg/advanced-dparams.xml:
4337         * docs/pwg/intro-basics.xml:
4338         * docs/pwg/intro-preface.xml:
4339         * docs/pwg/pwg.xml:
4340           describe dparams (controller) for plugins
4341           unify docs a little more
4342
4343 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         * docs/gst/gstreamer-sections.txt:
4346         * gst/gstutils.c: (element_find_unconnected_pad),
4347         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4348         * gst/gstutils.h:
4349           Add new API: gst_parse_bin_from_description() and
4350           gst_bin_find_unconnected_pad() (#329069).
4351
4352 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * docs/manual/README:
4355           uncover a nasty detail of the docs build
4356
4357 2006-01-31  Wim Taymans  <wim@fluendo.com>
4358
4359         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4360         Don't cache duration messages if we're not going to use or
4361         free them.
4362
4363 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * docs/manual/advanced-dparams.xml:
4366         * docs/pwg/advanced-dparams.xml:
4367           more dparam docs
4368         * gst/gstindex.c:
4369           fix docs
4370         * libs/gst/controller/lib.c: (gst_controller_init):
4371           init just once
4372
4373 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4374
4375         * gst/gstelement.c: (gst_element_message_full):
4376           also show file/line/func if no additional debug was given
4377
4378 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4379         
4380         * win32/vs7/grammar.vcproj:
4381           activate copy of autogenerated files for Release mode
4382
4383 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4384         
4385         * win32/common/libgstreamer.def:
4386           export gst_value_compare
4387
4388 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4389
4390         * plugins/elements/Makefile.am:
4391         * plugins/elements/gstelements.c:
4392         * plugins/elements/gstfdsink.c: (_do_init),
4393         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4394         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4395         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4396         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4397         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4398         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4399         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4400         * plugins/elements/gstfdsink.h:
4401         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4402
4403 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4404
4405         * docs/manual/advanced-dparams.xml:
4406           describe controller
4407         * docs/manual/advanced-position.xml:
4408         * docs/manual/basics-init.xml:
4409         * docs/manual/manual.xml:
4410         * docs/manual/titlepage.xml:
4411         * docs/pwg/pwg.xml:
4412         * docs/pwg/titlepage.xml:
4413           cleanup xml (more to come)
4414         * libs/gst/controller/gstcontroller.c:
4415           fix typo
4416
4417 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4418         
4419         * win32/vs6/grammar.dsp:
4420           add autogen of gstmarshal.c,h for Release mode
4421                 
4422 2006-01-30  Wim Taymans  <wim@fluendo.com>
4423
4424         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4425         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4426         (gst_base_sink_handle_object), (gst_base_sink_event),
4427         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4428         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4429         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4430         (gst_base_sink_deactivate), (gst_base_sink_activate),
4431         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4432         (gst_base_sink_query), (gst_base_sink_change_state):
4433         Basesink cleanups, remove some old code.
4434         Handle the case where a subclass can preroll in the render
4435         method (mostly audiosinks).
4436         Handle more events.
4437         Remove some locks around variables that are now protected
4438         with the PREROLL_LOCK (clock_id, flushing, ..).
4439         Optimize position query some more, do correct locking.
4440         Remove old code to push queue in state change, this is not
4441         needed anymore since preroll blocks on all prerollable items 
4442         now.
4443         Almost implemented as described in design doc.
4444
4445 2006-01-30  Wim Taymans  <wim@fluendo.com>
4446
4447         * tests/check/gst/gstbin.c: (GST_START_TEST):
4448         Wait for refcount to settle down before checking.
4449
4450 2006-01-30  Wim Taymans  <wim@fluendo.com>
4451
4452         * docs/design/part-element-sink.txt:
4453         Pseudo code overview of desired sink behaviour regarding
4454         preroll.
4455
4456 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4457         * win32/vs6/grammar.dsp:
4458           fix some bugs in Release mode for autogenerated files
4459                 
4460 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4461         * win32/common/libgstbase.def:
4462         * win32/common/libgstreamer.def:
4463           export some new symbols: gst_base_src_set_format,
4464           gst_iterator_next, gst_structure_set_valist
4465
4466 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4467
4468         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4469         Set pad functions unconditionally. Fixes #329105.
4470
4471 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4472         * win32/vs8:
4473           add vs8 project files created by Sergey Scobich
4474
4475 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4476
4477         * gst/gstutils.c: (gst_element_unlink_pads):
4478         Don't leak pad references.
4479
4480         * tests/check/elements/fakesink.c: (GST_START_TEST):
4481         * tests/check/generic/sinks.c: (GST_START_TEST):
4482         * tests/check/generic/states.c: (GST_START_TEST):
4483         * tests/check/gst/gstbin.c: (GST_START_TEST):
4484         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4485         * tests/check/gst/gstelement.c: (GST_START_TEST):
4486         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4487         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4488         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4489         Fix a bunch of leaks. Make generic/sinks.c
4490         use a bit less cpu by slowing the buffer rate
4491         between fakesrc and fakesink.
4492         
4493 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4494         * gst/gstcaps.c:
4495         * gst/gstelement.c: (gst_element_send_event):
4496         * gst/gstevent.c:
4497         * gst/gstinfo.c:
4498         * gst/gstiterator.c:
4499         * gst/gstiterator.h:
4500         * gst/gstpad.c: (gst_pad_send_event):
4501         * gst/gststructure.c:
4502         * gst/gsturi.c:
4503         * gst/gstutils.c:
4504         * gst/gstvalue.c:
4505         * libs/gst/base/gstadapter.c:
4506           doc fixes, to link to function, just write gst_cool_function(), don't
4507           prefix with '#'
4508
4509 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4510
4511         * plugins/elements/gsttee.c: (gst_tee_do_push),
4512         (gst_tee_handle_buffer):
4513         Always prefer an actual return value from a src
4514         pad in place of NOT_LINKED. This means we return
4515         WRONG_STATE when all src pads are WRONG_STATE
4516         instead of NOT_LINKED.
4517
4518         Lock when replacing the last message to prevent
4519         racing with the get_property method.
4520
4521         Add debug output
4522
4523 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4524
4525         * tests/check/Makefile.am:
4526         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4527         (main):
4528         Add a very simple check that should have caught the memleak I fixed
4529         last night (if not for the slice allocator hiding it)
4530
4531 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4532
4533         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4534         (gst_bin_remove_func), (gst_bin_handle_message_func),
4535         (bin_query_duration_fold), (bin_query_generic_fold):
4536         Clean up references to the clock provider when disposed or when
4537         handling a clock-lost message from it.
4538
4539         Unref sinks when performing a query via gst_iterator_fold, as the
4540         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4541
4542         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4543         (gst_clock_set_master):
4544         Drop our reference to the master clock, if any, when we are disposed.
4545
4546         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4547         Chain up in dispose. 
4548
4549 2006-01-26  Wim Taymans  <wim@fluendo.com>
4550
4551         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4552         Add some debugging.
4553
4554 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4555
4556         * plugins/elements/gsttee.c: (gst_tee_do_push),
4557         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4558         handles pad being NOT_LINKED or in WRONG_STATE.
4559
4560 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4561
4562         * win32/MANIFEST:
4563           more updating
4564
4565 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4566
4567         * win32/MANIFEST:
4568           remove obsolete entry
4569
4570 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4571
4572         * docs/gst/gstreamer-sections.txt:
4573         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4574         (gst_bin_iterate_sources), (gst_bin_send_event):
4575         * gst/gstbin.h:
4576         * gst/gstelement.c: (gst_element_send_event):
4577         * gst/gstevent.c:
4578         * gst/gstpad.c: (gst_pad_send_event):
4579           added code for downstream events, reviewed docs in gstevent.c
4580
4581 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4582
4583         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4584         We only query position using the clock in the playing state.
4585         Query peer in the other cases.
4586         * win32/common/config.h: Updates.
4587
4588 2006-01-24  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4591         A clock entry that is scheduled for the exact time of the
4592         clock is still in time.
4593
4594         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4595         (gst_base_sink_do_sync):
4596         Add some more debug info.
4597
4598 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4599
4600         * win32/vs7:
4601           Add new vs7 project files and solution.
4602
4603 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4604
4605         * win32/vs7:
4606           all files removed as they were out-dated.
4607
4608 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4609
4610         * docs/random/release:
4611           update notes
4612         * gst/gstbin.c: (gst_bin_init):
4613         * gst/gstbus.c: (gst_bus_new):
4614         * gst/gstbus.h:
4615         * gst/gstpipeline.c: (gst_pipeline_init):
4616           use gst_bus_new(), improve logging, fix docs
4617         * win32/common/config.h:
4618           update for cvs build
4619
4620 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * autogen.sh:
4623           up required version of automake to 1.7
4624
4625 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4626
4627         * win32/common/libgstreamer.def:
4628           export gst_buffer_is_metadata_writable
4629
4630 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4631
4632         * docs/gst/gstreamer-sections.txt:
4633         * gst/gstevent.h:
4634           Add gst_event_replace() (#327001)
4635
4636 2006-01-20  Wim Taymans  <wim@fluendo.com>
4637
4638         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4639         Make it actually compile too..
4640
4641 2006-01-20  Wim Taymans  <wim@fluendo.com>
4642
4643         * gst/gstcaps.c:
4644         Clarify behaviour of _is_equal() when passing NULL parameters.
4645
4646         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4647         (gst_pad_set_caps):
4648         Cleanups. Don't unref NULL caps.
4649         When setting the same caps, protect caps of the pad with
4650         proper lock.
4651         Use full functionality of _is_equal() when comparing caps.
4652
4653 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4654
4655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4656         Don't loop infinitely if there are no buffers to present. Partially
4657         fixes #327197, but collectpads is just broken for reusing elements
4658         to do multiple encodes atm.
4659
4660 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4661
4662         * tools/gst-inspect.c: (print_element_features):
4663         * tools/gst-xmlinspect.c: (main):
4664         URL_HANDLER is not a plugin feature we can search for in
4665         the registry.
4666
4667 2006-01-19  Edward Hervey  <edward@fluendo.com>
4668
4669         * gst/gstelement.c: (gst_element_pads_activate): 
4670         When activating, do src pads first, then sink pads.
4671         When de-activating, do sink pads first, then src pads.
4672
4673 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4674
4675         * docs/gst/gstreamer-sections.txt:
4676         Add gst_index_add_associationv to the docs
4677
4678 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4679
4680         * gst/gstevent.c:
4681           Fix docs typo
4682
4683         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4684         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4685           Do some refactoring. Doesn't actually change functionality,
4686           but makes landing the DRAIN event easier later.
4687
4688 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4689
4690         * docs/pwg/advanced-scheduling.xml:
4691           Update from 0.9.x to 0.10 API and make example a bit
4692           clearer.
4693
4694 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4695
4696         * docs/gst/gstreamer-sections.txt:
4697         Add gst_buffer_(is|make)_metadata_writable methods.
4698
4699 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4700
4701         * docs/design/part-sparsestreams.txt:
4702         Update sparse streams doc, hopefully for greater clarity
4703
4704 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4705
4706         * docs/design/part-events.txt:
4707         Remove mention of FILLER events.
4708         Add DRAIN event.
4709
4710         * docs/design/part-sparsestreams.txt:
4711         Write some things about using NEWSEGMENT to keep sparse streams
4712         flowing.
4713
4714 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * gst/gstbin.c: (gst_bin_dispose):
4717           Guard gst_object_unref call against a NULL object (dispose
4718           can theoretically be called multiple times).
4719           
4720 2006-01-18  Wim Taymans  <wim@fluendo.com>
4721
4722         * gst/gstbin.c: (gst_bin_element_set_state):
4723         * gst/gstclock.c: (gst_clock_id_wait):
4724         Added some more debug info.
4725
4726         * libs/gst/base/gstadapter.c:
4727         Added more docs.
4728
4729         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4730         (gst_base_sink_do_sync), (gst_base_sink_chain):
4731         Added some comments.
4732
4733 2006-01-18  Wim Taymans  <wim@fluendo.com>
4734
4735         * tests/check/Makefile.am:
4736         * tests/check/elements/fakesink.c: (chain_async_buffer),
4737         (chain_async), (chain_async_return), (GST_START_TEST),
4738         (fakesink_suite), (main):
4739         Added fakesink test that checks prerolling and clipping
4740         behaviour.
4741
4742         * tests/check/gst/gstutils.c: (GST_START_TEST):
4743         Make check run faster so that buildbots don't timeout.
4744
4745 2006-01-18  Wim Taymans  <wim@fluendo.com>
4746
4747         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4748         (gst_base_sink_do_sync):
4749         Some cleanups.
4750         When the sink finishes blocking on the preroll buffer, it can
4751         immediatly render it instead of rendering when the next buffer
4752         arrives.
4753
4754 2006-01-18  Wim Taymans  <wim@fluendo.com>
4755
4756         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4757         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4758         (gst_base_sink_chain):
4759         Small cleanups.
4760         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4761         Don't store _last_stop if the buffer is dropped.
4762
4763 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4764
4765         * plugins/elements/gsttypefindelement.c:
4766         (gst_type_find_element_class_init):
4767           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4768           object method handler that sets the caps on the pad and we want
4769           that to happen before we emit the signal (fixes e.g. feeding a
4770           plain text file to decodebin).
4771
4772 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4773
4774         * gst/gstplugin.c: Add MPL and Proprietary as license options
4775
4776 2006-01-18  Andy Wingo  <wingo@pobox.com>
4777
4778         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4779         symbol was exported before, it appears this was just an oversight.
4780         Fixes #168703.
4781         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4782
4783         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4784         prototype to gint. OK since this prototype was not in the header.
4785
4786 2006-01-17  Andy Wingo  <wingo@pobox.com>
4787
4788         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4789         registry while we remove plugins.
4790
4791         * tools/gst-inspect.c (print_element_info): Don't unref the
4792         factory arg, that should be the responsibility of whatever code
4793         received the ref. Fixes a double-free when called from
4794         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4795         (main): Unref the factory if we have one.
4796         (print_element_list): No change -- relies on the
4797         plugin_feature_list_free to free the list of features.
4798
4799 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4800
4801         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4802         (gst_buffer_make_metadata_writable):
4803         * gst/gstbuffer.h:
4804         * libs/gst/base/gstbasetransform.c:
4805         (gst_base_transform_prepare_output_buf):
4806         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4807         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4808           Replace gst_buffer_(make|is)_metadata_writable patch now
4809           that the release is out.
4810
4811 2006-01-17  Andy Wingo  <wingo@pobox.com>
4812
4813         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4814         in the present tense without reference to versions.
4815
4816         * gst/gstregistry.c (gst_registry_add_plugin)
4817         (gst_registry_remove_plugin, gst_registry_remove_feature)
4818         (gst_registry_find_feature, gst_registry_get_feature_list)
4819         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4820         (gst_registry_lookup, gst_registry_scan_path)
4821         (_gst_registry_remove_cache_plugins)
4822         (gst_registry_get_feature_list_by_plugin): Add argument
4823         validation.
4824
4825 === release 0.10.2 ===
4826
4827 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4828
4829         * configure.ac:
4830           releasing 0.10.2, "If man is five"
4831
4832 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4833
4834         * gst/gstbuffer.c:
4835         * gst/gstbuffer.h:
4836         * libs/gst/base/gstbasetransform.c:
4837         (gst_base_transform_prepare_output_buf):
4838         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4839         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4840           Back out patch until after the release.
4841
4842 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4843
4844         * gst/gstminiobject.c:
4845           Spelling fix in docs.
4846         * ChangeLog - remove conflict indicator
4847
4848 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4849
4850         Reviewed By: Andy Wingo
4851
4852         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4853         (gst_buffer_make_metadata_writable):
4854         * gst/gstbuffer.h:
4855           Add gst_buffer_(is|make)_metadata_writable as analogues of
4856           gst_buffer_(is|make)_writable.
4857
4858         * libs/gst/base/gstbasetransform.c:
4859         (gst_base_transform_prepare_output_buf):
4860         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4861           Use name gst_buffer_(is|make)_metadata_writable functions.
4862
4863         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4864           Test gst_buffer_(is|make)_metadata_writable
4865         
4866           (Closes: #324162)
4867
4868 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * docs/manual/Makefile.am:
4871           don't do parallel make
4872         * configure.ac:
4873           AC_SUBST HOST_CPU
4874         * win32/common/config.h.in:
4875           add generations for HOST_CPU and GST_MAJORMINOR
4876         * win32/common/config.h:
4877           commit generated result
4878
4879 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4880
4881         * docs/manual/appendix-integration.xml:
4882           Update GNOME integration section to use gst_init_get_option_group()
4883           instead of the old popt stuff (#322911). Also, GNOME applications
4884           should  now use gconf*sink and gconf*src instead of the old gconf
4885           helper lib we had.
4886
4887 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4888
4889
4890         * docs/gst/gstreamer-docs.sgml:
4891         * docs/gst/gstreamer-sections.txt:
4892         * docs/libs/gstreamer-libs-sections.txt:
4893           add new API entries to the docs
4894         * libs/gst/controller/Makefile.am:
4895         * libs/gst/controller/gstcontroller.c:
4896         * libs/gst/controller/gstcontroller.h:
4897         * libs/gst/controller/gstcontrollerprivate.h:
4898         * libs/gst/controller/gsthelper.c:
4899         * libs/gst/controller/gstinterpolation.c:
4900           move private structs to private header
4901         * po/README:
4902           gstreamer-0.7 -> gstreamer-0.10
4903         * tests/check/libs/struct_i386.h:
4904           remove private structs
4905
4906 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4907
4908         * plugins/indexers/Makefile.am:
4909           Fixes as part of #317048
4910
4911 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4912
4913         * plugins/indexers/Makefile.am:
4914           fix #316086 - compilation when mmap is missing
4915
4916 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4917
4918         * libs/gst/base/gstbasesink.c:
4919           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4920           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4921         * win32/common/config.h:
4922           added some defines GST_MAJORMINOR and HOST_CPU
4923         * win32/common/libgstbase.def:
4924         * win32/common/libgstreamer.def:
4925           added some exported functions.
4926
4927 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * libs/gst/controller/gstcontroller.c:
4930         (gst_controlled_property_set_interpolation_mode),
4931         (gst_controlled_property_new):
4932         * libs/gst/controller/gstcontroller.h:
4933         * libs/gst/controller/gstinterpolation.c:
4934         (interpolate_none_get_string_value_array):
4935           make G_TYPE_STRING controlable
4936
4937 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4938
4939         * tools/README:
4940         * tools/gst-feedback.1.in:
4941         * tools/gst-inspect.1.in:
4942         * tools/gst-launch.1.in:
4943         * tools/gst-md5sum.1.in:
4944         * tools/gst-typefind.1.in:
4945         * tools/gst-xmlinspect.1.in:
4946         * tools/gst-xmllaunch.1.in:
4947           cleanup man-pages, remove reference to gst-register, document env-vars
4948
4949 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4950
4951         * gst/gstbuffer.c: (gst_buffer_span):
4952           gst_buffer_span should copy the timestamp of the first buffer
4953           if they were both originally overlapping subbuffers of the 
4954           same parent, using the same logic as the 'slow copy' case.
4955
4956 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4957
4958         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4959           Need to awaken ALL the pads when we pop a buffer, otherwise
4960           collectpads only works when there is 2 input streams.
4961
4962 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * docs/random/ensonic/media-device-daemon.txt:
4965           more ideas (dbus)
4966         * gst/gstbuffer.c:
4967           fix doc example, add clarification
4968         * tools/gst-launch.1.in:
4969           add initial info about GST_PLUGIN_PATH, needs more work
4970
4971 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4972
4973         * docs/manual/basics-bins.xml:
4974         * docs/manual/basics-elements.xml:
4975         * docs/manual/intro-basics.xml:
4976           Some more minor docs additions and updates.
4977
4978 2006-01-11  Wim Taymans  <wim@fluendo.com>
4979
4980         * docs/manual/basics-bins.xml:
4981         * docs/manual/basics-elements.xml:
4982         Some small fixes as pointed out by Ser-ver on IRC.
4983
4984 2006-01-10  Edward Hervey  <edward@fluendo.com>
4985
4986         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4987         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4988         the single-segment mode.
4989
4990 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4991
4992         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4993
4994         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4995         (gst_base_src_perform_seek), (gst_base_src_send_event),
4996         (gst_base_src_set_property), (gst_base_src_get_property),
4997         (gst_base_src_loop), (gst_base_src_start),
4998         (gst_base_src_activate_push):
4999         * libs/gst/base/gstbasesrc.h:
5000           Name (private) union; makes Sun's Forte compiler happy (#324900).
5001
5002 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * README:
5005           gst-register is gone.
5006
5007 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5008
5009         * gst/gstvalue.c: (_gst_value_initialize):
5010           make the G_TYPE_DATE instantiation work if debug is disabled
5011
5012 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * gst/gstmessage.c: (gst_message_parse_tag),
5015         (gst_message_parse_error), (gst_message_parse_warning):
5016           Don't crash when return location for error/warning debug
5017           string is NULL; add fact that return locations can be
5018           NULL to docs where appropriate.
5019
5020 2006-01-05  Wim Taymans  <wim@fluendo.com>
5021
5022         * gst/gstplugin.c: (gst_plugin_load_file):
5023         Replace strdup by g_strdup.
5024
5025 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5026
5027         * docs/pwg/advanced-types.xml:
5028           fix doc borkage
5029
5030 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         submitted by: Abel Cheung
5033
5034         * po/LINGUAS:
5035         * po/zh_TW.po:
5036           Added Chinese (traditional) translation
5037
5038 2006-01-04  Wim Taymans  <wim@fluendo.com>
5039
5040         * docs/manual/basics-pads.xml:
5041         * docs/plugins/Makefile.am:
5042         * docs/plugins/gstreamer-plugins-docs.sgml:
5043         * docs/plugins/gstreamer-plugins-sections.txt:
5044         * docs/pwg/advanced-clock.xml:
5045         * docs/pwg/advanced-scheduling.xml:
5046         * docs/pwg/advanced-types.xml:
5047         * plugins/elements/gstfdsink.c:
5048         * plugins/elements/gstfdsrc.c:
5049         * plugins/elements/gstfdsrc.h:
5050         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5051         * plugins/elements/gstidentity.h:
5052         * plugins/elements/gstqueue.h:
5053         * plugins/elements/gsttee.c:
5054         * plugins/elements/gsttee.h:
5055         * plugins/elements/gsttypefindelement.c:
5056         (gst_type_find_element_class_init):
5057         * plugins/elements/gsttypefindelement.h:
5058         Small updates to various docs.
5059         Added core plugins to docs.
5060
5061 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5062
5063         * common/gst.supp:
5064           add a suppression for liboil's uninitialized variable
5065
5066 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5067
5068         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5069
5070         * gst/gstutils.h:
5071           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5072           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5073           compiler switch is being used (#325429).
5074
5075 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5076
5077         * gst/gstbin.c: (gst_bin_query):
5078           Disable duration query caching in bins until it gets
5079           fixed (see #324807).
5080
5081 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5082
5083         * tools/gst-inspect.c: (print_element_properties_info):
5084           Handle properties of POINTER and BOXED type.
5085
5086 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * gst/gst.c: (init_post):
5089           Init tags stuff and some other things before loading
5090           any static plugins (there may be other static plugins
5091           than just the GStreamer ones, and they may want to
5092           register their own tags or formats or whatever, and
5093           preferably without segfaulting).
5094
5095         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5096           Print at least a warning in the debug logs if we drop a
5097           query just because we don't know how to adjust the value
5098           in the particular format.
5099
5100 2005-12-24  David Schleef  <ds@schleef.org>
5101
5102         * tools/gstreamer-completion:
5103           Replacement for gst-complete written in sh and sed.  Only
5104           completes names of features, but that's 90% of what I want
5105           it for.  Properties are not available in registry.xml.  (Maybe
5106           they should be...)
5107
5108 === release 0.10.1 ===
5109
5110 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5111
5112         * configure.ac:
5113           releasing 0.10.1, "Nollaig chridheil"
5114
5115 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * docs/faq/cvs.xml:
5118           Add missing quote, should be make ERROR_CFLAGS="".
5119
5120 2005-12-20  Wim Taymans  <wim@fluendo.com>
5121
5122         * docs/design/part-trickmodes.txt:
5123         More documentation on trickmodes.
5124
5125 2005-12-20  Edward Hervey  <edward@fluendo.com>
5126
5127         * gst/gstcaps.c: (gst_static_caps_get_type):
5128         * gst/gstcaps.h:
5129           API addition: GST_TYPE_STATIC_CAPS
5130         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
5131         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
5132         * gst/gstpadtemplate.h:
5133           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
5134         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
5135         bindings.
5136
5137 2005-12-18  Wim Taymans  <wim@fluendo.com>
5138
5139         * libs/gst/base/gstadapter.c:
5140         * libs/gst/base/gstadapter.h:
5141         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5142         (gst_base_sink_get_position):
5143         * libs/gst/base/gstbasesink.h:
5144         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5145         (gst_base_src_default_query), (gst_base_src_default_do_seek),
5146         (gst_base_src_do_seek), (gst_base_src_perform_seek),
5147         (gst_base_src_send_event), (gst_base_src_update_length),
5148         (gst_base_src_get_range), (gst_base_src_loop),
5149         (gst_base_src_start):
5150         * libs/gst/base/gstbasesrc.h:
5151         * libs/gst/base/gstbasetransform.h:
5152         * libs/gst/base/gstcollectpads.h:
5153         * libs/gst/base/gstpushsrc.c:
5154         * libs/gst/base/gstpushsrc.h:
5155         * libs/gst/dataprotocol/dataprotocol.c:
5156         * libs/gst/dataprotocol/dataprotocol.h:
5157         * libs/gst/net/gstnetclientclock.h:
5158         * libs/gst/net/gstnettimeprovider.h:
5159         Documentation updates.
5160
5161 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * docs/manual/basics-helloworld.xml:
5164           Remove superfluous closing bracket in helloworld example.
5165
5166 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5167
5168         * tools/gst-launch.1.in:
5169           Update gst-launch man page; add a section with useful
5170           environment variables. Fixes #323882.
5171
5172 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5173
5174         * gst/gst.c:
5175         * gst/gst_private.h:
5176           change some char* into char[]
5177
5178 2005-12-16  Wim Taymans  <wim@fluendo.com>
5179
5180         * gst/gstregistryxml.c: (load_feature):
5181         Cleanups.
5182         Don't use g_object_unref on GstObjects so that we avoid
5183         leaks on unsafe glibs.
5184
5185 2005-12-16  Wim Taymans  <wim@fluendo.com>
5186
5187         * gst/gstbin.c: (gst_bin_recalc_state):
5188         Small doc updates.
5189
5190 2005-12-16  Wim Taymans  <wim@fluendo.com>
5191
5192         * common/check.mak:
5193         Added make forever target for check.
5194
5195 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * gst/gst.c: (init_post):
5198           make the registry cache file HOST_CPU-dependent
5199
5200 2005-12-16  Andy Wingo  <wingo@pobox.com>
5201
5202         * plugins/elements/gstbufferstore.c
5203         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5204         return value.
5205
5206         * tests/check/gst/gstobject.c
5207         (test_fake_object_name_threaded_unique): Pay attention to
5208         g_list_sort return value.
5209
5210 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5211
5212         * tools/gst-feedback-m.m:
5213           Update for 0.9/0.10 (fixes #323870).
5214
5215 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5216
5217         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5218           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5219           
5220         * tests/check/gst/gstminiobject.c: (my_foo_init),
5221         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5222         (test_value_collection), (gst_mini_object_suite):
5223           Add test to ensure refcounts end up as expected when passing
5224           GstMiniObjects through g_object_get() and g_object_set().
5225
5226 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5227
5228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5229         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5230         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5231         of collectpads. This version removes a lot of races without
5232         touching API/ABI. Yay !
5233
5234 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5235
5236         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5237           Don't allow activation of a srcpad in pull_range if it has no
5238           getrange function.
5239           Change some debug statements to be a little clearer
5240
5241         * plugins/elements/gsttypefindelement.c:
5242         (gst_type_find_handle_src_query):
5243           Check that we have a peer before executing queries thereupon.
5244
5245         * tests/examples/metadata/read-metadata.c: (message_loop):
5246           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5247           immediately return us any available message with 0 timeout.
5248
5249 2005-12-12  Michael Smith  <msmith@fluendo.com>
5250
5251         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5252           Don't unref factories after calling them.
5253         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5254         * plugins/elements/gsttypefindelement.c:
5255         (gst_type_find_element_chain):
5256           Free lists of factories after using them. Fixing typefinding memory
5257           leaks.
5258
5259 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5260
5261         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5262         (gst_plugin_feature_load):
5263           more meaningful debug output
5264         * configure.ac:
5265         * tests/Makefile.am:
5266         * tests/old/examples/Makefile.am:
5267           make make distcheck happy again
5268
5269 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5270
5271         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5272           Catch the special case where we are operating chain-based,
5273           but the downstream peer pad has no chain function. Emit a
5274           custom error message in this case instead of letting the
5275           core generate one implying that this is some sort of core
5276           bug. It's not, it just means that whatever got plugged
5277           into the pipeline downstream when we announced the type
5278           can only operate pull-based, while our source can only
5279           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5280           Error string has not been marked for translation yet, as
5281           it probably needs some more work first.
5282
5283         (gst_type_find_element_get_best_possibility):
5284           Add helper function to find the best of all available
5285           found possibilities that qualify given the min. threshold.
5286
5287         (gst_type_find_element_handle_event):
5288           Fix the case where we get an EOS while still in TYPEFIND
5289           mode (we want to chose the best of all possible types,
5290           not just the first type that happens to be in our unsorted
5291           list of possible types).
5292
5293         (gst_type_find_element_chain):
5294           Make sure we return GST_FLOW_ERROR when we errored out
5295           in stop_typefinding(); also, don't just find the best of
5296           all found type entries and then use the last examined
5297           type entry, but actually use the best entry.
5298
5299 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5300
5301         * tests/examples/typefind/typefind.c: (type_found):
5302         * tests/examples/xml/runxml.c: (xml_loaded):
5303           More gcc4 fixes and a mem leak fix.
5304
5305 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * tests/examples/xml/createxml.c: (object_saved):
5308           gcc 4 fixes
5309
5310 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5311
5312         * tests/Makefile.am:
5313           enable the examples even more
5314
5315 2005-12-12  Andy Wingo  <wingo@pobox.com>
5316
5317         * libs/gst/net/gstnettimeprovider.c
5318         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5319         (gst_net_time_provider_set_property)
5320         (gst_net_time_provider_get_property):
5321         API addition: Export "active" as a GObject property.
5322         (gst_net_time_provider_thread): Only respond to time queries if
5323         the time provider is active.
5324
5325         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5326         NetTimeProvider, preserving binary compat.
5327
5328 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5329
5330         * tests/examples/controller/audio-example.c: (main):
5331         * tests/examples/launch/Makefile.am:
5332           convert comments again
5333
5334 2005-12-12  Wim Taymans  <wim@fluendo.com>
5335
5336         * libs/gst/base/gstpushsrc.c:
5337         Fix typo.
5338
5339 2005-12-12  Wim Taymans  <wim@fluendo.com>
5340
5341         * docs/libs/gstreamer-libs-sections.txt:
5342         Added new symbol to docs.
5343
5344         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5345         (gst_base_src_init), (gst_base_src_set_format),
5346         (gst_base_src_default_query), (gst_base_src_query),
5347         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5348         (gst_base_src_perform_seek), (gst_base_src_send_event),
5349         (gst_base_src_default_event), (gst_base_src_event_handler),
5350         (gst_base_src_set_property), (gst_base_src_get_property),
5351         (gst_base_src_wait), (gst_base_src_do_sync),
5352         (gst_base_src_update_length), (gst_base_src_get_range),
5353         (gst_base_src_check_get_range), (gst_base_src_loop),
5354         (gst_base_src_default_negotiate), (gst_base_src_start),
5355         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5356         (gst_base_src_change_state):
5357         * libs/gst/base/gstbasesrc.h:
5358         Implement seeking to other formats than _BYTES.
5359         Implement more seeking methods correctly.
5360         Doc updates.
5361         Added query vmethod.
5362         Added do_seek vmethod to make life easier for subclasses
5363         when seeking.
5364         API addition: gst_base_src_set_format()
5365
5366 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5367
5368         * tests/examples/Makefile.am:
5369           added that too
5370
5371 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5372
5373         * configure.ac:
5374         * docs/random/ensonic/media-device-daemon.txt:
5375         * tests/examples/controller/.cvsignore:
5376         * tests/examples/controller/Makefile.am:
5377         * tests/examples/controller/audio-example.c: (main):
5378         * tests/examples/helloworld/.cvsignore:
5379         * tests/examples/helloworld/Makefile.am:
5380         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5381         * tests/examples/launch/.cvsignore:
5382         * tests/examples/launch/Makefile.am:
5383         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5384         * tests/examples/metadata/.cvsignore:
5385         * tests/examples/metadata/Makefile.am:
5386         * tests/examples/metadata/read-metadata.c: (message_loop),
5387         (make_pipeline), (print_tag), (main):
5388         * tests/examples/queue/.cvsignore:
5389         * tests/examples/queue/Makefile.am:
5390         * tests/examples/queue/queue.c: (event_loop), (main):
5391         * tests/examples/typefind/.cvsignore:
5392         * tests/examples/typefind/Makefile.am:
5393         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5394         (main):
5395         * tests/examples/xml/.cvsignore:
5396         * tests/examples/xml/Makefile.am:
5397         * tests/examples/xml/createxml.c: (object_saved), (main):
5398         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5399         * tests/old/examples/Makefile.am:
5400         * tests/old/examples/TODO:
5401         * tests/old/examples/controller/.cvsignore:
5402         * tests/old/examples/controller/Makefile.am:
5403         * tests/old/examples/controller/audio-example.c:
5404         * tests/old/examples/helloworld/.cvsignore:
5405         * tests/old/examples/helloworld/Makefile.am:
5406         * tests/old/examples/helloworld/helloworld.c:
5407         * tests/old/examples/launch/.cvsignore:
5408         * tests/old/examples/launch/Makefile.am:
5409         * tests/old/examples/launch/mp3parselaunch.c:
5410         * tests/old/examples/launch/mp3play:
5411         * tests/old/examples/manual/Makefile.am:
5412         * tests/old/examples/metadata/Makefile.am:
5413         * tests/old/examples/metadata/read-metadata.c:
5414         * tests/old/examples/queue/.cvsignore:
5415         * tests/old/examples/queue/Makefile.am:
5416         * tests/old/examples/queue/queue.c:
5417         * tests/old/examples/typefind/.cvsignore:
5418         * tests/old/examples/typefind/Makefile.am:
5419         * tests/old/examples/typefind/typefind.c:
5420         * tests/old/examples/xml/.cvsignore:
5421         * tests/old/examples/xml/Makefile.am:
5422         * tests/old/examples/xml/createxml.c:
5423         * tests/old/examples/xml/runxml.c:
5424           applied some simple fixing to some examples
5425           re-enabled the working examples
5426
5427 2005-12-12  Wim Taymans  <wim@fluendo.com>
5428
5429         * gst/gstsegment.c: (gst_segment_init),
5430         (gst_segment_set_last_stop), (gst_segment_set_seek),
5431         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5432         (gst_segment_to_running_time):
5433         Added more documentation.
5434         Make sure the last_pos value is updated properly.
5435         Make sure to_stream_time and to_running_time don't
5436         operate on wrong values.
5437
5438         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5439         Update check.
5440
5441 2005-12-12  Michael Smith  <msmith@fluendo.com>
5442
5443         * plugins/elements/gsttypefindelement.c: (free_entry),
5444         (gst_type_find_element_chain):
5445           Now that we're not leaking factories, make sure we keep references
5446           to them while we need them.
5447
5448 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         * tests/check/gst/struct_i386.h:
5451           ifdef out the XML structs
5452
5453 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5456           floor is not needed, F is always positive; this obviates the
5457           need for adding -lm when building without libxml
5458
5459 2005-12-12  Wim Taymans  <wim@fluendo.com>
5460
5461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5462         Take current playback rate into account when reporting
5463         the position.
5464
5465 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5466
5467         * docs/manual/mime-world.fig:
5468           Let's try this again, this time with a file that is
5469           actually in XFig format.
5470
5471 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * docs/manual/mime-world.fig:
5474           Add audioconvert element to diagram so that it
5475           matches the text and the code (fixes #319526).
5476
5477 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         * docs/pwg/building-chainfn.xml:
5480         * docs/pwg/building-pads.xml:
5481         * docs/pwg/building-state.xml:
5482         * docs/pwg/other-source.xml:
5483           Update state change stuff for 0.10 (fixes #322969).
5484
5485 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5486
5487         * docs/manual/advanced-dataaccess.xml:
5488         * docs/manual/appendix-checklist.xml:
5489         * docs/manual/appendix-programs.xml:
5490         * docs/manual/basics-pads.xml:
5491         * docs/manual/highlevel-components.xml:
5492         * docs/manual/manual.xml:
5493           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5494           add converters in front of pipelines; remove curly
5495           brackets for threads stuff, they no longer exist; use
5496           GST_TYPE_FRACTION for framerates; update some pieces of
5497           code to 0.10, but there's plenty more to do.
5498
5499         * docs/manual/appendix-porting.xml:
5500           Expand on asynchroneous state changes; s/0.9/0.10/;
5501           mention disappearance of gst_init_get_popt_table()
5502           (fixes #322916).
5503
5504 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * docs/faq/using.xml:
5507           Spider no longer exists, and neither does gst-launch-ext.
5508           Update examples to use decodebin and playbin and put
5509           converters in front of sinks (fixes #323726).
5510
5511 2005-12-09  Michael Smith  <msmith@fluendo.com>
5512
5513         * plugins/elements/gsttypefindelement.c: (find_peek),
5514         (gst_type_find_element_chain):
5515           Fix leaking element factories in typefinding.
5516           Fix problem where we forgot about a probable type on non-seekable
5517           files, and thus later mis-typefound it.
5518
5519 2005-12-09  Michael Smith  <msmith@fluendo.com>
5520
5521         * common/m4/gst-makecontext.m4:
5522         * common/m4/gst-mcsc.m4:
5523         * configure.ac:
5524         * win32/common/config.h:
5525         * win32/common/config.h.in:
5526           Remove makecontext stuff; not used in 0.10 and causes problems on
5527           HPUX according to bug #322441
5528
5529 2005-12-07  Wim Taymans  <wim@fluendo.com>
5530
5531         * tests/check/Makefile.am:
5532         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5533         (main):
5534         * tests/check/libs/struct_i386.h:
5535         Added ABI check for libs
5536
5537 2005-12-07  Wim Taymans  <wim@fluendo.com>
5538
5539         * tests/check/Makefile.am:
5540         And add the struct_i386.h to dist.
5541
5542 2005-12-07  Wim Taymans  <wim@fluendo.com>
5543
5544         * tests/check/Makefile.am:
5545         * tests/check/gst/.cvsignore:
5546         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5547         (main):
5548         * tests/check/gst/struct_i386.h:
5549         Added check for ABI compatibility.
5550
5551 2005-12-07  Wim Taymans  <wim@fluendo.com>
5552
5553         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5554         (gst_fake_src_get_times), (gst_fake_src_create):
5555         Fix broken sync option, fixes #323259
5556
5557 2005-12-07  Wim Taymans  <wim@fluendo.com>
5558
5559         * gst/gstbuffer.c:
5560         Small docs update.
5561
5562         * gst/gstcaps.c: (gst_caps_is_equal):
5563         Don't assert on NULL <--> X. Fixes #323260
5564
5565         * gst/gstminiobject.c: (gst_mini_object_replace):
5566         If we're doing atomic operations, we might just as well use
5567         the proper way to get an atomic pointer.
5568
5569         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5570         Clean up debugging.
5571
5572 2005-12-07  Michael Smith  <msmith@fluendo.com>
5573
5574         * gst/parse/grammar.y:
5575           Remove handling of { } for threads.
5576
5577 2005-12-06  David Schleef  <ds@schleef.org>
5578
5579         * libs/gst/base/gstbasetransform.c: speling fix.
5580
5581 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * docs/libs/tmpl/gstdataprotocol.sgml:
5584         * docs/random/omega/testing/gstobject.c:
5585         * gst/gst.c:
5586         * gst/gstclock.c:
5587         * gst/gstelement.c:
5588         * gst/gstelementfactory.c:
5589         * gst/gsterror.c:
5590         * gst/gstevent.c:
5591         * gst/gstghostpad.c:
5592         * gst/gstinfo.c:
5593         * gst/gstpadtemplate.c:
5594         * gst/gstregistryxml.c:
5595         * gst/gsttaglist.c:
5596         * gst/gsttagsetter.c:
5597         * gst/gsttypefind.c:
5598         * gst/gstvalue.c:
5599         * libs/gst/base/gstbasesrc.c:
5600         * libs/gst/net/gstnetclientclock.c:
5601         * libs/gst/net/gstnettimeprovider.c:
5602         * plugins/elements/gstfakesrc.c:
5603         * plugins/elements/gstfdsrc.c:
5604         * plugins/elements/gstfilesrc.c:
5605         * plugins/elements/gstidentity.c:
5606         * plugins/elements/gstqueue.c:
5607         * plugins/elements/gsttypefindelement.c:
5608         * plugins/indexers/gstfileindex.c:
5609         * plugins/indexers/gstmemindex.c:
5610         * tests/check/gst/gsttag.c:
5611         * tests/old/examples/cutter/cutter.c:
5612         * tests/old/examples/mixer/mixer.c:
5613         * tests/old/examples/xml/runxml.c: (main):
5614         * tests/old/testsuite/caps/normalisation.c:
5615         * tests/old/testsuite/debug/global.c:
5616         * tests/old/testsuite/parse/parse1.c:
5617         * tools/gst-xmlinspect.c:
5618         * win32/common/dirent.c:
5619           expand tabs
5620
5621 === release 0.10.0 ===
5622
5623 2005-12-05   <thomas (at) apestaart (dot) org>
5624
5625         * configure.ac:
5626           releasing 0.10.0, "Maroilles"
5627
5628 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5629
5630         submitted by: Funda Wang <fundawang@linux.net.cn>
5631
5632         * po/LINGUAS:
5633         * po/zh_CN.po:
5634           added Chinese (Traditional) translation
5635
5636 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         * docs/gst/gstreamer-sections.txt:
5639         * docs/libs/tmpl/gstdataprotocol.sgml:
5640         * docs/random/thomasvs/TODO:
5641         * gst/gstutils.c:
5642         * gst/gstutils.h:
5643           fix docs
5644
5645 2005-12-05  Andy Wingo  <wingo@pobox.com>
5646
5647         patch by: Wim Taymans <wim@fluendo.com>
5648
5649         * libs/gst/base/gstbasetransform.c
5650         (gst_base_transform_prepare_output_buf)
5651         (gst_base_transform_buffer_alloc):
5652         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5653         alloc_buffer_and_set_caps.
5654
5655         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5656         set_caps on the source pad.
5657         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5658         alloc_buffer used to do. Fixes #322874.
5659
5660         * docs/gst/gstreamer-sections.txt: 
5661         * docs/design/part-negotiation.txt: 
5662         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5663         changes.
5664
5665 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5666
5667         patch by: Sebastien Moutte
5668
5669         * win32/MANIFEST:
5670         * win32/common/config.h.in:
5671         * win32/vs6/libgstcontroller.dsp:
5672           win32 build fixes
5673
5674 2005-12-05  Wim Taymans  <wim@fluendo.com>
5675
5676         * gst/gstcaps.c: (gst_caps_is_equal):
5677         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5678         (gst_fake_src_create):
5679         Back out previous code changes, leave doc updates, file bugs 
5680         instead. 
5681
5682 2005-12-05  Wim Taymans  <wim@fluendo.com>
5683
5684         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5685         (gst_fake_src_get_times), (gst_fake_src_create):
5686         * plugins/elements/gstfakesrc.h:
5687         Fix broken sync code.
5688
5689 2005-12-05  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstcaps.c: (gst_caps_is_equal):
5692         Comparing NULL against !NULL yields different caps, not a
5693         failure.
5694
5695 2005-12-05  Wim Taymans  <wim@fluendo.com>
5696
5697         * gst/gstpipeline.c:
5698         Fix small typo in docs.
5699
5700 2005-12-05  Andy Wingo  <wingo@pobox.com>
5701
5702         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5703
5704         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5705         registries/plugins with a MAJORMINOR one.
5706         (plugin_desc): Rename library from gstcoreleements to
5707         staticelements. Fixes #323222.
5708
5709 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5710
5711         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5712           Change debug category to 'collectpads' from 'collect_pads'
5713           (fixes #323250).
5714
5715 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         patch by: Sebastien Moutte
5718
5719         * libs/gst/controller/gstinterpolation.c:
5720           use convert function for uint64/double
5721         * win32/vs6/libgstcontroller.dsp:
5722           link to GLib
5723
5724 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5725
5726         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5727         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5728         * gst/gstutils.h:
5729         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5730           add tests that seem to show that the guint64/gdouble conversions
5731           are correct.
5732
5733 2005-12-02  Wim Taymans  <wim@fluendo.com>
5734
5735         * gst/gstregistry.c: (gst_registry_add_path):
5736         * gst/gstregistry.h:
5737         * gst/gstregistryxml.c:
5738         Fix docs again.
5739
5740 2005-12-02  Wim Taymans  <wim@fluendo.com>
5741
5742         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5743         (gst_util_uint64_scale_int):
5744         Small cleanup.
5745
5746         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5747         Add debug log line.
5748
5749         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5750         Add FIXME.
5751
5752 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5753
5754         * win32/MANIFEST:
5755         * win32/common/config.h:
5756         * win32/vs6/gstreamer.dsw:
5757         * win32/vs6/libgstcoreelements.dsp:
5758         * win32/vs6/libgstelements.dsp:
5759           renamed core elements plugin
5760
5761 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5764         (get_candidates):
5765           do piece-wise major/minor comparison so 0.9 < 0.10
5766           also allow .exe extensions for tools
5767
5768 2005-12-02  Michael Smith  <msmith@fluendo.com>
5769
5770         * gst/gst.c:
5771           Escape a % to make gtkdoc happier; bug 322958.
5772
5773 === release 0.9.7 ===
5774
5775 2005-12-01   <thomas (at) apestaart (dot) org>
5776
5777         * configure.ac:
5778           releasing 0.9.7, "My Dog Has No Nose"
5779
5780 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5781
5782         * common/gst-xmlinspect.py:
5783         * configure.ac:
5784         * docs/libs/tmpl/gstdataprotocol.sgml:
5785         * docs/random/release:
5786         * po/af.po:
5787         * po/az.po:
5788         * po/bg.po:
5789         * po/ca.po:
5790         * po/cs.po:
5791         * po/de.po:
5792         * po/en_GB.po:
5793         * po/fr.po:
5794         * po/it.po:
5795         * po/nb.po:
5796         * po/nl.po:
5797         * po/ru.po:
5798         * po/sq.po:
5799         * po/sr.po:
5800         * po/sv.po:
5801         * po/tr.po:
5802         * po/uk.po:
5803         * po/vi.po:
5804         * win32/common/config.h:
5805         * win32/common/config.h.in:
5806         * win32/vs6/gst_inspect.dsp:
5807         * win32/vs6/gst_launch.dsp:
5808         * win32/vs6/libgstbase.dsp:
5809         * win32/vs6/libgstelements.dsp:
5810         * win32/vs6/libgstreamer.dsp:
5811         * win32/vs7/GStreamer.vcproj:
5812         * win32/vs7/gst-inspect.vcproj:
5813         * win32/vs7/gst-launch.vcproj:
5814         * win32/vs7/libgstbase.vcproj:
5815           bump GST_MAJORMINOR to 0.10
5816           reset libtool version
5817
5818 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5819
5820         * po/LINGUAS:
5821         * po/bg.po:
5822           Added Bulgarian translation by (Alexander Shopov)
5823
5824 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5825
5826         * tests/check/gst/gstplugin.c:
5827           fix test
5828
5829 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5830
5831         * common/gst-xmlinspect.py:
5832         * common/gtk-doc-plugins.mak:
5833         * configure.ac:
5834         * docs/Makefile.am:
5835         * docs/gst/Makefile.am:
5836         * docs/gst/gstreamer-docs.sgml:
5837         * docs/gst/gstreamer-sections.txt:
5838         * docs/gst/gstreamer.types:
5839         * docs/gst/gstreamer.types.in:
5840         * docs/plugins/Makefile.am:
5841         * docs/plugins/gstreamer-plugins-docs.sgml:
5842         * docs/plugins/gstreamer-plugins-sections.txt:
5843         * docs/plugins/gstreamer-plugins.types:
5844         * docs/plugins/inspect.stamp:
5845         * docs/plugins/inspect/plugin-coreelements.xml:
5846         * docs/plugins/inspect/plugin-coreindexers.xml:
5847         * docs/plugins/scanobj-build.stamp:
5848         * gstreamer.spec.in:
5849         * plugins/elements/Makefile.am:
5850         * plugins/elements/gstelements.c:
5851         * plugins/elements/gstfakesink.c:
5852         * plugins/elements/gstfakesrc.c:
5853         * plugins/elements/gstfilesink.c:
5854         * plugins/elements/gstfilesrc.c:
5855         * plugins/elements/gstqueue.c:
5856         * plugins/indexers/Makefile.am:
5857         * plugins/indexers/gstindexers.c:
5858           document core plugins in a separate document just like all the
5859           others
5860           rename these plugins to something starting with core
5861
5862 2005-12-01  Andy Wingo  <wingo@pobox.com>
5863
5864         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5865         padding here before, but it missed the commit.
5866
5867 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * libs/gst/controller/gstinterpolation.c:
5870           whitespace prices have crashed, we should feel free to use some now
5871           use gst_guint64_to_gdouble
5872
5873 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * libs/gst/controller/gstcontroller.c:
5876         * libs/gst/controller/gsthelper.c:
5877         * libs/gst/controller/gstinterpolation.c:
5878         * libs/gst/controller/lib.c:
5879           wrap config.h include
5880
5881 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * docs/gst/gstreamer-sections.txt:
5884           update docs
5885
5886 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * plugins/elements/gstelements.c:
5889         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5890         (gst_fd_sink__class_init), (gst_fd_sink__init),
5891         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5892         (gst_fd_sink__get_property):
5893         * plugins/elements/gstfdsink.h:
5894         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5895         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5896         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5897         (gst_fd_src_unlock), (gst_fd_src_set_property),
5898         (gst_fd_src_get_property), (gst_fd_src_create),
5899         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5900         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5901         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5902         (gst_fd_src_uri_handler_init):
5903         * plugins/elements/gstfdsrc.h:
5904         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5905           more anal cleanup
5906
5907 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5908
5909         * docs/gst/Makefile.am:
5910         * docs/gst/gstreamer.types.in:
5911         * gst/Makefile.am:
5912           fix the docs build
5913
5914 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * configure.ac:
5917         * gst/Makefile.am:
5918         * gst/gst.c:
5919         * gst/gstplugin.h:
5920         * gst/gstregistry.h:
5921         * tests/benchmarks/complexity.c:
5922         * tests/benchmarks/mass-elements.c:
5923         * tests/check/Makefile.am:
5924         * tools/Makefile.am:
5925         * tools/gst-inspect.c:
5926         * tools/gst-xmlinspect.c:
5927           various fixes to make
5928           --disable-nls --disable-registry --disable-loadsave
5929           --disable-parse --disable-gst-debug
5930           work and get the core .so down to 360444 bytes after stripping
5931
5932 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5933
5934         * Makefile.am:
5935         * configure.ac:
5936           descend into tests
5937         * docs/random/thomasvs/TODO:
5938         * tests/Makefile.am:
5939         * tests/README:
5940           add a README
5941
5942 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * win32/GStreamer.vcproj:
5945         * win32/MANIFEST:
5946         * win32/Makefile:
5947         * win32/Makefile.inspect:
5948         * win32/Makefile.launch:
5949         * win32/Makefile.register:
5950         * win32/README.txt:
5951         * win32/gst-inspect.vcproj:
5952         * win32/gst-launch.vcproj:
5953         * win32/gst-register.vcproj:
5954         * win32/gstelements.vcproj:
5955         * win32/gstgetbits.def:
5956         * win32/gstgetbits.vcproj:
5957         * win32/gstreamer-dbg.def:
5958         * win32/gstreamer.def:
5959         * win32/libgstbase.def:
5960         * win32/libgstbase.vcproj:
5961         * win32/link_oldruntime.c:
5962         * win32/mman.c:
5963         * win32/mman.h:
5964         * win32/mman.inl:
5965         * win32/msvc71.sln:
5966           move even more stuff, win32/ is nice and clean now
5967
5968 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5969
5970         * libs/gst/control/.cvsignore:
5971         * win32/MANIFEST:
5972         * win32/config.h:
5973         * win32/dirent.c:
5974         * win32/dirent.h:
5975         * win32/gstbytestream.def:
5976         * win32/gstbytestream.vcproj:
5977         * win32/gstconfig.h:
5978         * win32/gstenumtypes.c:
5979         * win32/gstenumtypes.h:
5980         * win32/gstoptimalscheduler.vcproj:
5981         * win32/gstversion.h:
5982         * win32/gtchar.h:
5983         * win32/testsuite/bins.vcproj:
5984         * win32/testsuite/bytestream.vcproj:
5985         * win32/testsuite/caps.vcproj:
5986         * win32/testsuite/cleanup.vcproj:
5987         * win32/testsuite/clock.vcproj:
5988         * win32/testsuite/debug.vcproj:
5989         * win32/testsuite/dlopen.vcproj:
5990         * win32/testsuite/dynparams.vcproj:
5991         * win32/testsuite/elements.vcproj:
5992         * win32/testsuite/ghostpads.vcproj:
5993         * win32/testsuite/indexers.vcproj:
5994         * win32/testsuite/negotiation.vcproj:
5995         * win32/testsuite/parse.vcproj:
5996         * win32/testsuite/plugin.vcproj:
5997         * win32/testsuite/refcounting.vcproj:
5998         * win32/testsuite/schedulers.vcproj:
5999         * win32/testsuite/states.vcproj:
6000         * win32/testsuite/tags.vcproj:
6001         * win32/testsuite/threads.vcproj:
6002           remove old win32 stuff that isn't maintained and should be
6003           reorganized
6004
6005 2005-11-30  Andy Wingo  <wingo@pobox.com>
6006
6007         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6008         loading the gst.interfaces python module bork.
6009
6010         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6011         available since GLib 2.2. Fixes #318031.
6012
6013 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         * Makefile.am:
6016         * check/.cvsignore:
6017         * check/Makefile.am:
6018         * check/elements/.cvsignore:
6019         * check/elements/fakesrc.c:
6020         * check/elements/fdsrc.c:
6021         * check/elements/identity.c:
6022         * check/generic/.cvsignore:
6023         * check/generic/states.c:
6024         * check/gst-libs/.cvsignore:
6025         * check/gst-libs/controller.c:
6026         * check/gst-libs/gdp.c:
6027         * check/gst/.cvsignore:
6028         * check/gst/capslist.h:
6029         * check/gst/gst.c:
6030         * check/gst/gstbin.c:
6031         * check/gst/gstbuffer.c:
6032         * check/gst/gstbus.c:
6033         * check/gst/gstcaps.c:
6034         * check/gst/gstelement.c:
6035         * check/gst/gstevent.c:
6036         * check/gst/gstghostpad.c:
6037         * check/gst/gstiterator.c:
6038         * check/gst/gstmessage.c:
6039         * check/gst/gstminiobject.c:
6040         * check/gst/gstobject.c:
6041         * check/gst/gstpad.c:
6042         * check/gst/gstpipeline.c:
6043         * check/gst/gstplugin.c:
6044         * check/gst/gstsegment.c:
6045         * check/gst/gststructure.c:
6046         * check/gst/gstsystemclock.c:
6047         * check/gst/gsttag.c:
6048         * check/gst/gstutils.c:
6049         * check/gst/gstvalue.c:
6050         * check/net/.cvsignore:
6051         * check/net/gstnetclientclock.c:
6052         * check/net/gstnettimeprovider.c:
6053         * check/pipelines/.cvsignore:
6054         * check/pipelines/cleanup.c:
6055         * check/pipelines/simple_launch_lines.c:
6056         * check/pipelines/stress.c:
6057         * check/states/.cvsignore:
6058         * check/states/sinks.c:
6059         * configure.ac:
6060         * examples/Makefile.am:
6061         * examples/appreader/.cvsignore:
6062         * examples/appreader/Makefile.am:
6063         * examples/appreader/appreader.c:
6064         * examples/controller/.cvsignore:
6065         * examples/controller/Makefile.am:
6066         * examples/controller/audio-example.c:
6067         * examples/cutter/.cvsignore:
6068         * examples/cutter/Makefile.am:
6069         * examples/cutter/cutter.c:
6070         * examples/cutter/cutter.h:
6071         * examples/events/Makefile.am:
6072         * examples/events/seek.c:
6073         * examples/helloworld/.cvsignore:
6074         * examples/helloworld/Makefile.am:
6075         * examples/helloworld/helloworld.c:
6076         * examples/helloworld2/.cvsignore:
6077         * examples/helloworld2/Makefile.am:
6078         * examples/helloworld2/helloworld2.c:
6079         * examples/launch/.cvsignore:
6080         * examples/launch/Makefile.am:
6081         * examples/launch/mp3parselaunch.c:
6082         * examples/launch/mp3play:
6083         * examples/manual/.cvsignore:
6084         * examples/manual/Makefile.am:
6085         * examples/manual/extract.pl:
6086         * examples/metadata/Makefile.am:
6087         * examples/metadata/read-metadata.c:
6088         * examples/mixer/.cvsignore:
6089         * examples/mixer/Makefile.am:
6090         * examples/mixer/mixer.c:
6091         * examples/mixer/mixer.h:
6092         * examples/pingpong/.cvsignore:
6093         * examples/pingpong/Makefile.am:
6094         * examples/pingpong/pingpong.c:
6095         * examples/plugins/.cvsignore:
6096         * examples/plugins/Makefile.am:
6097         * examples/plugins/example.c:
6098         * examples/plugins/example.h:
6099         * examples/pwg/.cvsignore:
6100         * examples/pwg/Makefile.am:
6101         * examples/pwg/extract.pl:
6102         * examples/queue/.cvsignore:
6103         * examples/queue/Makefile.am:
6104         * examples/queue/queue.c:
6105         * examples/queue2/.cvsignore:
6106         * examples/queue2/Makefile.am:
6107         * examples/queue2/queue2.c:
6108         * examples/queue3/.cvsignore:
6109         * examples/queue3/Makefile.am:
6110         * examples/queue3/queue3.c:
6111         * examples/queue4/.cvsignore:
6112         * examples/queue4/Makefile.am:
6113         * examples/queue4/queue4.c:
6114         * examples/retag/.cvsignore:
6115         * examples/retag/Makefile.am:
6116         * examples/retag/retag.c:
6117         * examples/retag/transcode.c:
6118         * examples/thread/.cvsignore:
6119         * examples/thread/Makefile.am:
6120         * examples/thread/thread.c:
6121         * examples/typefind/.cvsignore:
6122         * examples/typefind/Makefile.am:
6123         * examples/typefind/typefind.c:
6124         * examples/xml/.cvsignore:
6125         * examples/xml/Makefile.am:
6126         * examples/xml/createxml.c:
6127         * examples/xml/runxml.c:
6128         * tests/Makefile.am:
6129         * tests/check/Makefile.am:
6130         * testsuite/.cvsignore:
6131         * testsuite/Makefile.am:
6132         * testsuite/Rules:
6133         * testsuite/caps/.cvsignore:
6134         * testsuite/caps/Makefile.am:
6135         * testsuite/caps/app_fixate.c:
6136         * testsuite/caps/audioscale.c:
6137         * testsuite/caps/caps.c:
6138         * testsuite/caps/caps.h:
6139         * testsuite/caps/caps_strings:
6140         * testsuite/caps/compatibility.c:
6141         * testsuite/caps/deserialize.c:
6142         * testsuite/caps/enumcaps.c:
6143         * testsuite/caps/eratosthenes.c:
6144         * testsuite/caps/filtercaps.c:
6145         * testsuite/caps/fixed.c:
6146         * testsuite/caps/fraction-convert.c:
6147         * testsuite/caps/fraction-multiply-and-zero.c:
6148         * testsuite/caps/intersect2.c:
6149         * testsuite/caps/intersection.c:
6150         * testsuite/caps/normalisation.c:
6151         * testsuite/caps/random.c:
6152         * testsuite/caps/renegotiate.c:
6153         * testsuite/caps/sets.c:
6154         * testsuite/caps/simplify.c:
6155         * testsuite/caps/string-conversions.c:
6156         * testsuite/caps/structure.c:
6157         * testsuite/caps/subtract.c:
6158         * testsuite/caps/union.c:
6159         * testsuite/debug/.cvsignore:
6160         * testsuite/debug/Makefile.am:
6161         * testsuite/debug/category.c:
6162         * testsuite/debug/commandline.c:
6163         * testsuite/debug/global.c:
6164         * testsuite/debug/output.c:
6165         * testsuite/debug/printf_extension.c:
6166         * testsuite/dlopen/.cvsignore:
6167         * testsuite/dlopen/Makefile.am:
6168         * testsuite/dlopen/dlopen_gst.c:
6169         * testsuite/dlopen/loadgst.c:
6170         * testsuite/elements/.cvsignore:
6171         * testsuite/elements/Makefile.am:
6172         * testsuite/elements/gst-inspect-check.in:
6173         * testsuite/elements/struct_i386.h:
6174         * testsuite/elements/struct_size.c:
6175         * testsuite/indexers/.cvsignore:
6176         * testsuite/indexers/Makefile.am:
6177         * testsuite/indexers/cache1.c:
6178         * testsuite/indexers/indexdump.c:
6179         * testsuite/parse/.cvsignore:
6180         * testsuite/parse/Makefile.am:
6181         * testsuite/parse/parse1.c:
6182         * testsuite/parse/parse2.c:
6183         * testsuite/plugin/.cvsignore:
6184         * testsuite/plugin/Makefile.am:
6185         * testsuite/plugin/README:
6186         * testsuite/plugin/dynamic.c:
6187         * testsuite/plugin/linked.c:
6188         * testsuite/plugin/loading.c:
6189         * testsuite/plugin/registry.c:
6190         * testsuite/plugin/static.c:
6191         * testsuite/plugin/static2.c:
6192         * testsuite/plugin/testplugin.c:
6193         * testsuite/plugin/testplugin2.c:
6194         * testsuite/plugin/testplugin2_s.c:
6195         * testsuite/plugin/testplugin_s.c:
6196         * testsuite/refcounting/.cvsignore:
6197         * testsuite/refcounting/Makefile.am:
6198         * testsuite/refcounting/bin.c:
6199         * testsuite/refcounting/element.c:
6200         * testsuite/refcounting/element_pad.c:
6201         * testsuite/refcounting/mainloop.c:
6202         * testsuite/refcounting/mem.c:
6203         * testsuite/refcounting/mem.h:
6204         * testsuite/refcounting/object.c:
6205         * testsuite/refcounting/pad.c:
6206         * testsuite/refcounting/sched.c:
6207         * testsuite/refcounting/thread.c:
6208         * testsuite/states/.cvsignore:
6209         * testsuite/states/Makefile.am:
6210         * testsuite/states/bin.c:
6211         * testsuite/states/locked.c:
6212         * testsuite/states/parent.c:
6213         * testsuite/threads/.cvsignore:
6214         * testsuite/threads/159566.c:
6215         * testsuite/threads/159852.c:
6216         * testsuite/threads/Makefile.am:
6217         * testsuite/threads/queue.c:
6218         * testsuite/threads/signals.c:
6219         * testsuite/threads/staticrec.c:
6220         * testsuite/threads/thread.c:
6221         * testsuite/threads/threadb.c:
6222         * testsuite/threads/threadc.c:
6223         * testsuite/threads/threadd.c:
6224         * testsuite/threads/threade.c:
6225         * testsuite/threads/threadf.c:
6226         * testsuite/threads/threadg.c:
6227         * testsuite/threads/threadh.c:
6228         * testsuite/threads/threadi.c:
6229           move all of these under tests
6230
6231 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6232
6233         * configure.ac:
6234         * tests/Makefile.am:
6235           fix distcheck
6236
6237 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * docs/gst/gstreamer-sections.txt:
6240         * tests/sched/.cvsignore:
6241         * tests/sched/Makefile.am:
6242         * tests/sched/cases/(fs-fs).xml:
6243         * tests/sched/cases/(fs-i-fs).xml:
6244         * tests/sched/cases/(fs-i-i-fs).xml:
6245         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6246         * tests/sched/dynamic-pipeline.c:
6247         * tests/sched/interrupt1.c:
6248         * tests/sched/interrupt2.c:
6249         * tests/sched/interrupt3.c:
6250         * tests/sched/runtestcases:
6251         * tests/sched/runxml.c:
6252         * tests/sched/sched-stress.c:
6253         * tests/sched/sort.c:
6254         * tests/sched/testcases:
6255         * tests/sched/testcases1.tc:
6256         * tests/seeking/.cvsignore:
6257         * tests/seeking/Makefile.am:
6258         * tests/seeking/seeking1.c:
6259         * tests/threadstate/.cvsignore:
6260         * tests/threadstate/Makefile.am:
6261         * tests/threadstate/test1.c:
6262         * tests/threadstate/test2.c:
6263         * tests/threadstate/threadstate1.c:
6264         * tests/threadstate/threadstate2.c:
6265         * tests/threadstate/threadstate3.c:
6266         * tests/threadstate/threadstate4.c:
6267         * tests/threadstate/threadstate5.c:
6268           remove obsolete tests
6269         * configure.ac:
6270         * tests/bench-complexity.scm:
6271         * tests/bench-mass_elements.scm:
6272         * tests/complexity.c:
6273         * tests/complexity.gnuplot:
6274         * tests/instantiate/.cvsignore:
6275         * tests/instantiate/Makefile.am:
6276         * tests/instantiate/caps.c:
6277         * tests/mass_elements.c:
6278         * tests/network-clock-utils.scm:
6279         * tests/network-clock.scm:
6280         * tests/plot-data:
6281         First pass at cleaning up tests/ dir before moving the rest
6282         Combined with CVS surgery
6283
6284 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6285
6286         * po/POTFILES.in:
6287           queue has moved, update
6288
6289 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         * docs/gst/gstreamer-sections.txt:
6292           remove double entries from the docs
6293         * gst/gst_private.h:
6294         * gst/gstinfo.c: (_gst_debug_init):
6295           remove the THREAD debug category
6296         * gst/Makefile.am:
6297         * gst/gstqueue.c:
6298         * gst/gstqueue.h:
6299         * docs/gst/gstreamer.types:
6300         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6301         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6302           completely move queue and fix up debugging categories
6303
6304 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6305
6306         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6307           make initialization portable, using LL is not
6308
6309 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6310
6311         * win32/common/gstconfig.h:
6312           add large padding
6313
6314 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6315
6316         * win32/common/libgstreamer.def:
6317           rename symbols; sort base section
6318
6319 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * gst/gstclock.c: (do_linear_regression):
6322           remove crack non-portable handrolled DEBUG macro
6323
6324 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         * docs/random/release:
6327           update notes
6328         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6329         (gst_object_flags_get_type), (register_gst_bin_flags),
6330         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6331         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6332         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6333         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6334         (gst_caps_flags_get_type), (register_gst_clock_return),
6335         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6336         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6337         (gst_clock_flags_get_type), (register_gst_state),
6338         (gst_state_get_type), (register_gst_state_change_return),
6339         (gst_state_change_return_get_type), (register_gst_state_change),
6340         (gst_state_change_get_type), (register_gst_element_flags),
6341         (gst_element_flags_get_type), (register_gst_core_error),
6342         (gst_core_error_get_type), (register_gst_library_error),
6343         (gst_library_error_get_type), (register_gst_resource_error),
6344         (gst_resource_error_get_type), (register_gst_stream_error),
6345         (gst_stream_error_get_type), (register_gst_event_type_flags),
6346         (gst_event_type_flags_get_type), (register_gst_event_type),
6347         (gst_event_type_get_type), (register_gst_seek_type),
6348         (gst_seek_type_get_type), (register_gst_seek_flags),
6349         (gst_seek_flags_get_type), (register_gst_format),
6350         (gst_format_get_type), (register_gst_index_certainty),
6351         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6352         (gst_index_entry_type_get_type),
6353         (register_gst_index_lookup_method),
6354         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6355         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6356         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6357         (gst_index_flags_get_type), (register_gst_debug_level),
6358         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6359         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6360         (gst_iterator_result_get_type), (register_gst_iterator_item),
6361         (gst_iterator_item_get_type), (register_gst_message_type),
6362         (gst_message_type_get_type), (register_gst_mini_object_flags),
6363         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6364         (gst_pad_link_return_get_type), (register_gst_flow_return),
6365         (gst_flow_return_get_type), (register_gst_activate_mode),
6366         (gst_activate_mode_get_type), (register_gst_pad_direction),
6367         (gst_pad_direction_get_type), (register_gst_pad_flags),
6368         (gst_pad_flags_get_type), (register_gst_pad_presence),
6369         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6370         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6371         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6372         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6373         (gst_plugin_flags_get_type), (register_gst_rank),
6374         (gst_rank_get_type), (register_gst_query_type),
6375         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6376         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6377         (gst_tag_flag_get_type), (register_gst_task_state),
6378         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6379         (gst_alloc_trace_flags_get_type),
6380         (register_gst_type_find_probability),
6381         (gst_type_find_probability_get_type), (register_gst_uri_type),
6382         (gst_uri_type_get_type), (register_gst_parse_error),
6383         (gst_parse_error_get_type):
6384         * win32/common/gstenumtypes.h:
6385         * win32/common/gstversion.h:
6386           update visual studio generated files
6387
6388 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * win32/vs6/libgstbase.dsp:
6391         * win32/vs6/libgstelements.dsp:
6392           update project files for new locations
6393
6394 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * Makefile.am:
6397           remove some files
6398         * README:
6399           reinstate and update
6400         * DEVEL:
6401         * REQUIREMENTS:
6402           removed
6403         * LICENSE:
6404         * docs/random/LICENSE:
6405           moved to random
6406
6407 2005-11-30  Edward Hervey  <edward@fluendo.com>
6408
6409         * gst/gsttypefind.c: (gst_type_find_register):
6410         * gst/gsttypefind.h:
6411         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6412         (gst_type_find_factory_dispose):
6413         * gst/gsttypefindfactory.h:
6414         Fix memory leak in GstTypeFindFactory.
6415
6416 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6417
6418         * gst/gst.c:
6419         * plugins/elements/Makefile.am:
6420         * plugins/elements/gstelements.c:
6421         * plugins/elements/gstqueue.c:
6422           move queue from core to the elements plugin
6423
6424 2005-11-29  Andy Wingo  <wingo@pobox.com>
6425
6426         * libs/gst/base/gstbasetransform.h: 
6427         * libs/gst/base/gstbasesrc.h: 
6428         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6429
6430         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6431         of pointers by which to pad very extensible base classes (like the
6432         ones in libs/gst/base).
6433
6434 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6435
6436         * docs/gst/gstreamer-docs.sgml:
6437         * docs/gst/gstreamer-sections.txt:
6438         * docs/libs/gstreamer-libs-docs.sgml:
6439         * docs/libs/gstreamer-libs-sections.txt:
6440           moving documentation from core to lib
6441
6442 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6443
6444         * check/Makefile.am:
6445         * configure.ac:
6446         * docs/gst/Makefile.am:
6447         * gst/Makefile.am:
6448         * gst/base/.cvsignore:
6449         * gst/base/Makefile.am:
6450         * gst/base/README:
6451         * gst/base/gstadapter.c:
6452         * gst/base/gstadapter.h:
6453         * gst/base/gstbasesink.c:
6454         * gst/base/gstbasesink.h:
6455         * gst/base/gstbasesrc.c:
6456         * gst/base/gstbasesrc.h:
6457         * gst/base/gstbasetransform.c:
6458         * gst/base/gstbasetransform.h:
6459         * gst/base/gstcollectpads.c:
6460         * gst/base/gstcollectpads.h:
6461         * gst/base/gstpushsrc.c:
6462         * gst/base/gstpushsrc.h:
6463         * gst/base/gsttypefindhelper.c:
6464         * gst/base/gsttypefindhelper.h:
6465         * gst/check/Makefile.am:
6466         * gst/check/gstcheck.c:
6467         * gst/check/gstcheck.h:
6468         * gst/net/Makefile.am:
6469         * gst/net/gstnet.h:
6470         * gst/net/gstnetclientclock.c:
6471         * gst/net/gstnetclientclock.h:
6472         * gst/net/gstnettimepacket.c:
6473         * gst/net/gstnettimepacket.h:
6474         * gst/net/gstnettimeprovider.c:
6475         * gst/net/gstnettimeprovider.h:
6476         * libs/gst/Makefile.am:
6477         * libs/gst/base/Makefile.am:
6478         * libs/gst/base/gstbasetransform.c:
6479         * libs/gst/check/Makefile.am:
6480         * plugins/elements/Makefile.am:
6481         * po/POTFILES.in:
6482           CVS surgery + support to move base, check, and net out of gst
6483           and into libs/gst
6484
6485 2005-11-29  Andy Wingo  <wingo@pobox.com>
6486
6487         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6488
6489         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6490         padding.
6491
6492         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6493
6494         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6495
6496         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6497
6498         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6499         padding; reduces object size by about 30%. We don't expect
6500         anything else to go into gstobject.
6501
6502         * gst/gstminiobject.h (struct _GstMiniObject)
6503         (struct _GstMiniObjectClass): Only one pointer of padding; the
6504         payload is only a pointer and two ints anyway. For the class there
6505         are only two methods as well.
6506         
6507         * gst/gstelement.h (struct _GstElementClass): Removed
6508         the state_changed signal callback, it is not used.
6509
6510 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6511
6512         * docs/gst/gstreamer.types:
6513           fix includes, though they are a little dinky
6514
6515 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6516
6517         * check/Makefile.am:
6518           look in the right place for elements, a lot more chance of
6519           success
6520         * gst/Makefile.am:
6521           remove indexers and elements subdirs
6522         * plugins/Makefile.am:
6523           make indexers conditional
6524
6525 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6526
6527         * Makefile.am:
6528         * configure.ac:
6529         * plugins/elements/Makefile.am:
6530         * plugins/elements/gstcapsfilter.c:
6531         * plugins/elements/gstfilesink.c:
6532         * plugins/elements/gstfilesrc.c:
6533         * plugins/elements/gstidentity.c:
6534         * plugins/indexers/Makefile.am:
6535           do CVS surgery and related build fixery to move elements
6536           and indexers in a new gstreamer/plugins directory, out of the
6537           gst/ directory
6538
6539 2005-11-29  Andy Wingo  <wingo@pobox.com>
6540
6541         * check/Makefile.am:
6542         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6543         * pkgconfig/gstreamer-net.pc.in:
6544         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6545         #322257.
6546
6547 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * tools/Makefile.am:
6550         * tools/gst-complete.1.in:
6551         * tools/gst-complete.c:
6552         * tools/gst-compprep.1.in:
6553         * tools/gst-compprep.c:
6554           removing -compprep and -complete
6555
6556 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6557
6558         * gst/gstevent.c: (gst_event_new_new_segment),
6559         (gst_event_parse_new_segment):
6560         * gst/gstevent.h:
6561           fix #320529 - clean up new_segment API and structure.
6562           Let's hope everyone was using the methods, and not the structure.
6563
6564 2005-11-29  Edward Hervey  <edward@fluendo.com>
6565
6566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6567         (gst_base_sink_event), (gst_base_sink_do_sync),
6568         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6569         Properly handle non GST_FORMAT_TIME segment
6570         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6571         Properly handle non GST_FORMAT_TIME segment
6572         * gst/gstsegment.c:
6573         This function is valid if the accumulator is 0 and the format
6574         is different from the requested format.
6575         
6576 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6577
6578         * docs/gst/gstreamer-sections.txt:
6579         Add gst_query_new_seeking and gst_query_parse_seeking to the
6580         docs.
6581
6582 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6583
6584         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6585           Treat a pad alloc with new caps the same as if we were not
6586           negotiated, in order to allow a changing upstream output
6587           to produce a new format of data.
6588
6589 2005-11-29  Edward Hervey  <edward@fluendo.com>
6590
6591         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6592         (gst_base_transform_event), (gst_base_transform_eventfunc):
6593         The event virtual method is now properly implemented, with a default
6594         handler
6595         Sub classes should call the parent_class event method. They should
6596         return FALSE if they had a problem handling the given event, or don't
6597         want GstBaseTransform to send that even downstream
6598         * gst/elements/gstidentity.c: (gst_identity_class_init),
6599         (gst_identity_init), (gst_identity_event),
6600         (gst_identity_transform_ip), (gst_identity_set_property),
6601         (gst_identity_get_property):
6602         * gst/elements/gstidentity.h:
6603         Added the single-segment boolean property.
6604         If set to TRUE, it will output a single segment of data, starting from
6605         0, will eat up all incoming newsegment, and modify the timestamp of the
6606         buffers accordingly
6607
6608 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6609
6610         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6611           Don't ref NULL target pad (#322751). Improve docs.
6612
6613 2005-11-29  Michael Smith  <msmith@fluendo.com>
6614
6615         * gst/gstregistryxml.c: (load_plugin):
6616           Don't crash if we failed to load a feature from a plugin. 
6617
6618 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6619
6620         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6621         (GST_START_TEST):
6622           use more check API and less GLib API
6623
6624 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         * Makefile.am:
6627           don't run checks if we don't have check
6628         * common/check.mak:
6629           remove the registry when running make torture
6630         * docs/gst/gstreamer-sections.txt:
6631           remove second multiply
6632         * gst/gstqueue.c: (gst_queue_loop):
6633           fix a compile warning when disabling debug
6634
6635 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6636
6637         * gst/gstinfo.h:
6638         Hey! Let's print the pad name if the pointer != NULL instead
6639         of when it == NULL :-)
6640
6641 2005-11-28  Wim Taymans  <wim@fluendo.com>
6642
6643         * check/gst/gstutils.c: (GST_START_TEST):
6644         Updated check, add some scaling accuracy checking code.
6645
6646         * gst/gstutils.c: (gst_util_div128_64),
6647         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6648         (gst_util_uint64_scale_int):
6649         Fix 6 times faster division code. Optimize for common 
6650         1/1 and less common X/1 cases.
6651
6652 2005-11-28  Wim Taymans  <wim@fluendo.com>
6653
6654         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6655         More checks.
6656
6657         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6658         (do_linear_regression), (gst_clock_add_observation):
6659         Cleanups.
6660         Release lock when the clock cannot be slaved.
6661         Catch the case where the regression returned an invalid denominator.
6662
6663         * gst/gstutils.c: (gst_util_div128_64_iterate),
6664         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6665         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6666         Add protentially more performant non-iterative 128/64 divide function
6667         that unfortunatly does not work yet.
6668         Shortcut the trivial 0/X = 0 case.
6669         Remove the warnings on overflow.
6670
6671 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6672
6673         * gst/gstplugin.c: (gst_plugin_register_func):
6674           everything causing a plugin not to load should be at least a WARNING
6675
6676 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/random/ensonic/dparams.txt:
6679           some TODOs for the next dev cycle
6680         * libs/gst/controller/gstcontroller.c:
6681         (gst_controlled_property_set_interpolation_mode),
6682         (gst_controlled_property_new):
6683         * libs/gst/controller/gstcontroller.h:
6684           use base type to assign acccessor functions
6685
6686 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6687
6688         * check/Makefile.am:
6689         Oops, that should have been top_srcdir
6690
6691 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6692
6693         * check/Makefile.am:
6694         * check/elements/fdsrc.c: (GST_START_TEST):
6695         Use a cmdline define to specify the location of a file to use for
6696         testing, to avoid breaking distcheck.
6697
6698 2005-11-28  Andy Wingo  <wingo@pobox.com>
6699
6700         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6701
6702 2005-11-28  Edward Hervey  <edward@fluendo.com>
6703
6704         * tools/gst-launch.c: (main):
6705         Clarify the output strings, makes it easier to translate.
6706         Fixes #322626
6707
6708 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6709
6710         * gst/Makefile.am:
6711           don't try and build net if we don't even have <sys/socket.h>
6712
6713 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6714
6715         * check/Makefile.am:
6716         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6717         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6718           Add tests for fdsrc seekability
6719
6720         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6721         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6722         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6723         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6724         * gst/elements/gstfdsrc.h:
6725           fdsrc should not be a 'live' source.
6726           Implement seeking on seekable fd's.
6727
6728         * gst/gstquery.c: (gst_query_new_seeking),
6729         (gst_query_parse_seeking):
6730         * gst/gstquery.h:
6731           Implement SEEKING query functions: 
6732             *_new_seeking and *_parse_seeking
6733
6734 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6735
6736         * gst/gstelement.c: (gst_element_dispose):
6737           don't loop forever
6738
6739         * gst/gstiterator.c:
6740         * gst/gststructure.c:
6741           doc fixes
6742
6743         * libs/gst/controller/gstcontroller.c:
6744         (gst_controlled_property_set_interpolation_mode):
6745         * libs/gst/controller/gstcontroller.h:
6746         * libs/gst/controller/gstinterpolation.c:
6747         (interpolate_none_get_enum_value_array):
6748           support controlling enums
6749
6750 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6751
6752         * gst/gstvalue.c:
6753           Improve documentation for gst_value_union().
6754
6755         * gst/gstvalue.h:
6756           Change return value for union, intersect and subtract functions
6757           from gint to gboolean.
6758
6759 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6760
6761         * gst/gstvalue.c: (gst_value_serialize_any_list),
6762         (gst_value_transform_any_list_string),
6763         (gst_value_deserialize_list), (gst_value_deserialize_array),
6764         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6765         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6766         (gst_value_set_fraction_range_full),
6767         (gst_value_deserialize_fraction_range),
6768         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6769         (gst_value_deserialize_boolean),
6770         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6771         (gst_value_serialize_float), (gst_value_deserialize_float),
6772         (gst_string_wrap), (gst_value_deserialize_string),
6773         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6774         (gst_value_union_int_range_int_range),
6775         (gst_value_intersect_int_range_int_range),
6776         (gst_value_intersect_double_range_double_range),
6777         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6778         (gst_value_subtract_int_range_int_range),
6779         (gst_value_subtract_double_double_range),
6780         (gst_value_subtract_double_range_double_range),
6781         (gst_value_deserialize_fraction):
6782         * gst/gstvalue.h:
6783           Use gint, gdouble and gchar in our API instead of int, double and
6784           char (and make usage in gstvalue.c more consistent).
6785
6786 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * check/Makefile.am:
6789         * libs/gst/controller/Makefile.am:
6790         * libs/gst/dataprotocol/Makefile.am:
6791           fix up Makefile.am and remove GST_ENABLE_NEW
6792
6793 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6794
6795         * configure.ac:
6796         * gst/Makefile.am:
6797         * gst/base/Makefile.am:
6798         * gst/check/Makefile.am:
6799         * gst/elements/Makefile.am:
6800         * gst/net/Makefile.am:
6801           update LDFLAGS use some more
6802
6803 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6804
6805         * common/m4/gst-doc.m4:
6806           Fixes #312589
6807
6808 2005-11-26  Edward Hervey  <edward@fluendo.com>
6809
6810         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6811         This shouldn't issue a g_warning since it returns NULL if it
6812         couldn't find the plugin, and all functions using this behave
6813         properly on a NULL return. Switching to a GST_WARNING.
6814
6815 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6816
6817         * gst/gstbin.c: (gst_bin_handle_message_func):
6818         Don't leak clock messages.
6819
6820 2005-11-25  Wim Taymans  <wim@fluendo.com>
6821
6822         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6823         (gst_util_uint64_scale_int):
6824         Optimisations, remove unneeded vars.
6825
6826 2005-11-25  Wim Taymans  <wim@fluendo.com>
6827
6828         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6829         Added more checks for the high precision uint64 cases.
6830
6831         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6832         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6833         Implement high precision (guint64 * guint64) / guint64.
6834
6835 2005-11-24  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/base/gstbasesrc.c: (gst_base_src_query):
6838         Fix wrong percentage query.
6839
6840         * gst/gstutils.c: (gst_util_uint64_scale),
6841         (gst_util_uint64_scale_int):
6842         Add some more common cases that can be handled 
6843         efficiently to _scale.
6844
6845 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6848         (gst_mini_object_suite):
6849           don't use check calls from threads; check probably isn't
6850           threadsafe and using a lock to make it threadsafe would
6851           defeat the purpose of this check
6852         * gst/check/gstcheck.c:
6853         * gst/check/gstcheck.h:
6854           use GST_DEBUG some more
6855
6856 2005-11-24  Wim Taymans  <wim@fluendo.com>
6857
6858         * gst/gstutils.c: (gst_util_uint64_scale),
6859         (gst_util_uint64_scale_int):
6860         Chain trivial case to _scale_int.
6861
6862 2005-11-24  Wim Taymans  <wim@fluendo.com>
6863
6864         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6865         Added test for scaling.
6866
6867         * gst/gstclock.h:
6868         Small doc fix.
6869
6870         * gst/gstutils.c: (gst_util_uint64_scale_int):
6871         Implemented high precision scaling code.
6872
6873 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6874
6875         * gst/gstinfo.h:
6876           do not crash on pad==NULL
6877
6878 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         Patch by: Stefan Kost
6881
6882         * common/gtk-doc.mak:
6883         * docs/gst/Makefile.am:
6884         * docs/libs/Makefile.am:
6885           Fix distcheck issues for the libraries docs build
6886           Closes #319599.
6887
6888 2005-11-24  Michael Smith <msmith@fluendo.com>
6889
6890         * docs/manual/basics-helloworld.xml:
6891           Fix bug #315027: memory leak in example code in docs.
6892
6893 2005-11-24  Michael Smith <msmith@fluendo.com>
6894
6895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6896           Unlock the PREROLL_LOCK in a failure case.
6897
6898 2005-11-24  Wim Taymans  <wim@fluendo.com>
6899
6900         * docs/gst/gstreamer-sections.txt:
6901         * gst/base/gstadapter.h:
6902         * gst/base/gstbasesink.h:
6903         * gst/base/gstbasesrc.h:
6904         * gst/base/gstbasetransform.h:
6905         * gst/base/gstpushsrc.h:
6906         * gst/elements/gstfakesink.h:
6907         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6908         * gst/elements/gstfakesrc.h:
6909         * gst/elements/gstfilesink.h:
6910         * gst/elements/gstfilesrc.h:
6911         * gst/gst.c:
6912         * gst/gstbin.c:
6913         * gst/gstbuffer.c: (_gst_buffer_copy):
6914         * gst/gstbus.h:
6915         * gst/gstcaps.c:
6916         * gst/gstchildproxy.c:
6917         * gst/gstclock.c:
6918         * gst/gstelement.c:
6919         * gst/gstelementfactory.c:
6920         * gst/gstelementfactory.h:
6921         * gst/gstevent.c:
6922         * gst/gstghostpad.h:
6923         * gst/gstindex.h:
6924         * gst/gstinterface.h:
6925         * gst/gstminiobject.c:
6926         * gst/gstminiobject.h:
6927         * gst/gstpad.c:
6928         * gst/gstpad.h:
6929         * gst/gstpadtemplate.h:
6930         * gst/gstpipeline.h:
6931         * gst/gstpluginfeature.h:
6932         * gst/gstquery.h:
6933         * gst/gstqueue.h:
6934         * gst/gsttaglist.c:
6935         * gst/gsttaglist.h:
6936         * gst/gsttagsetter.c:
6937         * gst/gsttagsetter.h:
6938         * gst/gsttrace.c:
6939         * gst/gsttrace.h:
6940         * gst/gsttypefind.h:
6941         * gst/gsturi.h:
6942         * gst/gstvalue.c:
6943         * gst/net/gstnetclientclock.c:
6944         * gst/net/gstnetclientclock.h:
6945         * gst/net/gstnettimepacket.c:
6946         * gst/net/gstnettimeprovider.c:
6947         * gst/net/gstnettimeprovider.h:
6948         Doc fixes.
6949
6950 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6951
6952         * configure.ac: back to HEAD
6953
6954 === release 0.9.6 ===
6955
6956 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6957
6958         * configure.ac:
6959           releasing 0.9.6, "Always On Time"
6960
6961 2005-11-23  Wim Taymans  <wim@fluendo.com>
6962
6963         * docs/gst/gstreamer-sections.txt:
6964         * gst/glib-compat.c:
6965         * gst/gsttagsetter.c:
6966         * gst/gstvalue.c:
6967         * gst/net/gstnetclientclock.c:
6968         * gst/net/gstnettimepacket.h:
6969         Doc updates.
6970
6971 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6972
6973         * docs/faq/using.xml:
6974         * docs/libs/tmpl/gstcontrol.sgml:
6975         * docs/manual/advanced-dparams.xml:
6976         * docs/manual/appendix-checklist.xml:
6977         * docs/manual/basics-elements.xml:
6978         * docs/pwg/other-source.xml:
6979         * docs/random/moving-plugins:
6980         * gst/gstpad.c:
6981         * tools/gst-launch.1.in:
6982           remove mentions of sinesrc
6983
6984 2005-11-23  Michael Smith <msmith@fluendo.com>
6985
6986         * docs/gst/gstreamer-sections.txt:
6987           Update for new API and API changes.
6988         * gst/gstobject.h:
6989           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6990         * gst/gstvalue.c:
6991           Documentation typo fix.
6992         * gst/net/gstnettimepacket.c:
6993           Documentation fixes for arguments.
6994
6995 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6996
6997         * gst/gststructure.c: (gst_structure_get_fraction),
6998         (gst_structure_parse_value),
6999         (gst_structure_fixate_field_nearest_fraction):
7000         * gst/gststructure.h:
7001         * gst/gstutils.c: (gst_util_uint64_scale_int):
7002         * gst/gstutils.h:
7003         * scripts/update-funcnames:
7004         API Changes. 
7005         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7006         Make gst_structure_fixate_field_nearest_fraction take a numerator
7007         and denominator argument instead of a GValue
7008         add gst_structure_get_fraction helper function.
7009
7010 2005-11-23  Wim Taymans  <wim@fluendo.com>
7011
7012         * docs/design/part-TODO.txt:
7013         Update TODO.
7014
7015         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7016         * gst/net/gstnetclientclock.h:
7017         Use parent fields for timeout and window_size.
7018
7019 2005-11-23  Andy Wingo  <wingo@pobox.com>
7020
7021         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7022         rate_num/rate_denom change.
7023
7024         * gst/net/gstnetclientclock.c
7025         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7026         OBJECT_LOCK. Don't call add_observation with the lock.
7027
7028         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7029         fraction.
7030         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7031         rate fraction.
7032         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7033         deal with rate as a fraction whose numerator and denominator are
7034         GstClockTime values.
7035         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7036         master; the other fields are protected by the SLAVE_LOCK.
7037         (do_linear_regression): Note that this must be called with the
7038         SLAVE_LOCK.
7039         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7040         OBJECT_LOCK. Call set_calibration instead of touching the
7041         variables directly.
7042         (gst_clock_set_property, gst_clock_get_property): Protect
7043         master/slave parameters with the SLAVE_LOCK.
7044
7045         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7046         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7047         note that all of the instance variables that add_observation and
7048         the set_master functions use are protected by that lock and not
7049         the OBJECT_LOCK.
7050         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7051
7052         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7053         the caller to take the object lock.
7054
7055 2005-11-23  Wim Taymans  <wim@fluendo.com>
7056
7057         * gst/gsterror.c: (_gst_core_errors_init):
7058         * gst/gsterror.h:
7059         Add error for clock stuff.
7060
7061         * gst/gstpipeline.c: (gst_pipeline_change_state),
7062         (gst_pipeline_set_clock):
7063         Post clock error when clock cannot be used in a pipeline.
7064
7065 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7066
7067         * docs/gst/gstreamer-sections.txt:
7068           make two symbols from gstinfo private for the docs
7069         * gst/base/gstcollectpads.h:
7070         * gst/gstutils.c:
7071           fix doc typos, update docs
7072
7073 2005-11-22  Wim Taymans  <wim@fluendo.com>
7074
7075         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7076         (gst_base_sink_wait), (gst_base_sink_do_sync),
7077         (gst_base_sink_handle_event):
7078         * gst/base/gstbasesink.h:
7079         No need to store the clock, the parent element class already
7080         has it.
7081
7082         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7083         Updates for clock_set returning a gboolean
7084
7085         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7086         (gst_clock_id_wait_async), (gst_clock_class_init),
7087         (gst_clock_init), (gst_clock_finalize),
7088         (gst_clock_get_internal_time), (gst_clock_get_time),
7089         (gst_clock_slave_callback), (gst_clock_set_master),
7090         (gst_clock_get_master), (do_linear_regression),
7091         (gst_clock_add_observation), (gst_clock_set_property),
7092         (gst_clock_get_property):
7093         * gst/gstclock.h:
7094         Implement master/slave. When setting a clock as a slave, a
7095         periodic timeout is scheduled to sample master and slave times.
7096         Then the slave clock is recalibrated to match offset and rate
7097         of the master clock.
7098         Update logging a bit.
7099         Add flag so that a clock can state that is cannot be slaved to
7100         another clock.
7101
7102         * gst/gstelement.c: (gst_element_set_clock):
7103         * gst/gstelement.h:
7104         The set clock returns a gboolean for when an element cannot
7105         deal with the selected clock in the pipeline. 
7106
7107         * gst/gstpipeline.c: (gst_pipeline_change_state),
7108         (gst_pipeline_set_clock):
7109         * gst/gstpipeline.h:
7110         Handle the case where the selected clock cannot be set on
7111         the pipeline.
7112
7113         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7114         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7115         (gst_net_client_clock_set_property),
7116         (gst_net_client_clock_get_property),
7117         (gst_net_client_clock_observe_times):
7118         * gst/net/gstnetclientclock.h:
7119         Use regression code in GstClock parent, remove duplicated
7120         functionality.
7121
7122 2005-11-22  Michael Smith <msmith@fluendo.com>
7123
7124         * gst/gstutils.c: (gst_util_clock_time_scale):
7125         * gst/gstutils.h:
7126         * docs/gst/gstreamer-sections.txt:
7127           Rename method to have extra underscore.
7128
7129 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7130
7131         * gst/elements/Makefile.am:
7132         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
7133         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7134         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7135         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
7136         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
7137         * gst/elements/gstfakesrc.h:
7138         * gst/gstqueue.c: (queue_leaky_get_type):
7139           correctly fix GEnumValues so that nick is the short lowercase
7140           dashed tag
7141         * tools/gst-inspect.c: (print_element_properties_info):
7142           also show the nick, since it's useful to use from parse_launch
7143           syntax
7144           Fixes #322139
7145
7146 2005-11-22  Michael Smith <msmith@fluendo.com>
7147
7148         * gst/gstutils.c: (gst_util_clocktime_scale):
7149         * gst/gstutils.h:
7150         * docs/gst/gstreamer-sections.txt:
7151           Add util method for scaling a clocktime by a fraction. Useful 
7152           implementation is left as an exercise for the reader.
7153
7154 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7155
7156         * gst/gstvalue.c: (gst_value_collect_fraction_range):
7157         If needed, allocate storage in the destination value during
7158         collection.
7159
7160 2005-11-22  Edward Hervey  <edward@fluendo.com>
7161
7162         * docs/gst/gstreamer-sections.txt:
7163         * gst/Makefile.am:
7164         * gst/gst.h:
7165         * gst/gsturitype.c:
7166         * gst/gsturitype.h:
7167         * gst/gstutils.c: (gst_util_set_object_arg):
7168         * tools/gst-compprep.c: (main):
7169         * tools/gst-inspect.c: (print_element_properties_info):
7170         Removed GstURI, closes bug #321061
7171
7172 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7173
7174         * check/gst/gststructure.c: (GST_START_TEST):
7175         * gst/gststructure.c: (gst_structure_parse_value):
7176           Oops, broke automatic string type parsing.
7177           Add a test to catch it in future.
7178
7179 2005-11-22  Andy Wingo  <wingo@pobox.com>
7180
7181         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7182         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7183         Actually rename the function implementations. Grr.
7184
7185 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7186
7187         * check/gst/capslist.h:
7188           Comment test cases
7189         * check/gst/gststructure.c: (GST_START_TEST),
7190         (gst_structure_suite):
7191           Test automatic value type detection in gst_structure_from_string.
7192         * gst/gststructure.c: (gst_structure_parse_value):
7193           Add fraction as a type we try and guess automatically in
7194           caps/structure strings.
7195
7196 2005-11-22  Andy Wingo  <wingo@pobox.com>
7197
7198         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7199
7200         * gst/gsttagsetter.h:
7201         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7202         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7203         (gst_tag_setter_add_tag_valist)
7204         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7205         _add_values, _add_valist, and _add_valist_values. Since this is an
7206         interface the function suffixes should be more explicit so
7207         language binding don't end up with element.add_valist ->
7208         gst_tag_setter_add_valist, for example. Fixes #322069.
7209
7210 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7211
7212         * check/gst/gstcaps.c: (GST_START_TEST):
7213           Extend caps string tests to check that a caps to string
7214           conversion is reversible and produces the same caps.
7215
7216         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7217           Output "fraction" as the generic type fraction range, so caps
7218           serialisation and deserialisation works.
7219         * check/gst/capslist.h:
7220         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7221           Support 'MIN' and 'MAX' for deserialising fractions.
7222
7223 2005-11-22  Andy Wingo  <wingo@pobox.com>
7224
7225         * gst/gstevent.h (gst_event_new_new_segment)
7226         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7227         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7228         Renamed from *_newsegment, *_buffersize, *_notarget.
7229
7230         * scripts/update-funcnames: New script, performs the changes
7231         listed above.
7232
7233 2005-11-22  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7236         Make sure the GstFlowReturn is returned.
7237
7238         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7239         (gst_bus_add_signal_watch):
7240         * gst/gstbus.h:
7241         add gst_bus_add_signal_watch_full.
7242
7243         * gst/gstplugin.c: (gst_plugin_load_file):
7244         Small style cleanup.
7245
7246 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7247
7248         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7249           Block the fakesrc srcpad when we send an event, to avoid
7250           contention on the stream_lock causing random test failures.
7251
7252 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7253
7254         * check/gst/gstvalue.c: (GST_START_TEST):
7255         * gst/gstvalue.c: (gst_value_fraction_subtract):
7256           Fix subtraction.
7257
7258 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7259
7260         * gst/gst.h:
7261           include "gstchildproxy.h"
7262         * gst/gstchildproxy.h:
7263         * libs/gst/controller/gstcontroller.h:
7264           use G_GNUC_NULL_TERMINATED
7265
7266 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7267
7268         * check/gst/capslist.h:
7269         * check/gst/gstcaps.c: (GST_START_TEST):
7270         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7271         * gst/gststructure.c: (gst_structure_parse_range),
7272         (gst_structure_fixate_field_nearest_fraction):
7273         * gst/gststructure.h:
7274         * gst/gstvalue.c: (gst_value_init_fraction_range),
7275         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7276         (gst_value_collect_fraction_range),
7277         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7278         (gst_value_set_fraction_range_full),
7279         (gst_value_get_fraction_range_min),
7280         (gst_value_get_fraction_range_max),
7281         (gst_value_serialize_fraction_range),
7282         (gst_value_transform_fraction_range_string),
7283         (gst_value_compare_fraction_range),
7284         (gst_value_deserialize_fraction_range),
7285         (gst_value_intersect_fraction_fraction_range),
7286         (gst_value_intersect_fraction_range_fraction_range),
7287         (gst_value_subtract_fraction_fraction_range),
7288         (gst_value_subtract_fraction_range_fraction),
7289         (gst_value_subtract_fraction_range_fraction_range),
7290         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7291         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7292         (gst_value_transform_string_fraction), (_gst_value_initialize):
7293         * gst/gstvalue.h:
7294           Implement fraction ranges and extend GstFraction to support
7295           arithmetic subtraction, as well as deserialization from integer
7296           strings such as "100"
7297           Add a testsuite as for int and double range set operations
7298
7299 2005-11-21  Andy Wingo  <wingo@pobox.com>
7300
7301         * gst/gsttaglist.h: 
7302         * gst/gstcaps.h: 
7303         * gst/gststructure.h: Add glib-compat.h.
7304
7305 2005-11-21  Wim Taymans  <wim@fluendo.com>
7306
7307         * gst/gstbin.c: (gst_bin_change_state_func):
7308         Fix for #321595
7309
7310 2005-11-21  Wim Taymans  <wim@fluendo.com>
7311
7312         * gst/gstsegment.h:
7313         And add a nice define too.
7314
7315 2005-11-21  Wim Taymans  <wim@fluendo.com>
7316
7317         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7318         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7319         (gst_segment_set_duration), (gst_segment_set_last_stop),
7320         (gst_segment_set_seek), (gst_segment_set_newsegment),
7321         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7322         (gst_segment_clip):
7323         * gst/gstsegment.h:
7324         Make binding friendly.
7325
7326 2005-11-21  Andy Wingo  <wingo@pobox.com>
7327
7328         * gst/gsttagsetter.h: 
7329         * gst/gsttaglist.h: 
7330         * gst/gststructure.h: 
7331         * gst/gstcaps.h: 
7332         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7333         #319940.
7334
7335         * gst/gsterror.c (_gst_core_errors_init):
7336         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7337         category.
7338
7339         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7340         (noinst_HEADERS): noinst the -private.
7341
7342 2005-11-21  Michael Smith <msmith@fluendo.com>
7343
7344         * gst/gstplugin.h:
7345         * gst/gstregistry.h:
7346           Remove unimplemented declarations for which we can see no sensible
7347           use.
7348
7349 2005-11-21  Andy Wingo  <wingo@pobox.com>
7350
7351         * gst/gst.h: Include glib-compat.h.
7352
7353         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7354
7355         * gst/glib-compat.c: Include the public and the private header.
7356
7357         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7358
7359         * gst/gstvalue.c: 
7360         * gst/gstpad.c: 
7361         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7362
7363         * check/gst/gstevent.c (create_custom_events): Check that
7364         FLUSH_STOP is serialized.
7365
7366         * check/elements/identity.c (event_func): 
7367         * check/elements/fakesrc.c (event_func): No stream lock, the core
7368         takes it.
7369
7370         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7371         stream lock taking, yay.
7372
7373         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7374         ensure that core takes the stream lock.
7375
7376         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7377         lock name change.
7378
7379         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7380         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7381         it already. For the flush start we do take it though so we get the
7382         right preroll state change messages.
7383
7384         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7385         the stream lock here, the core does it for us.
7386
7387         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7388         GST_STREAM_GET_LOCK.
7389         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7390         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7391         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7392         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7393         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7394         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7395
7396         * gst/gstpad.c: Update for stream lock name change.
7397
7398         * gst/base/gstbasesink.c: Update for preroll lock name change.
7399
7400 2005-11-21  Wim Taymans  <wim@fluendo.com>
7401
7402         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7403         (gst_clock_get_master):
7404         * gst/gstclock.h:
7405         * gst/gstsystemclock.c: (gst_system_clock_init):
7406         Convert Clock flags to object flags.
7407         Added methods to manage master/slave clocks.
7408
7409 2005-11-21  Wim Taymans  <wim@fluendo.com>
7410
7411         * check/gst/gstsegment.c: (GST_START_TEST):
7412         * docs/design/part-TODO.txt:
7413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7414         (gst_base_sink_event), (gst_base_sink_do_sync),
7415         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7416         (gst_base_sink_query), (gst_base_sink_change_state):
7417         * gst/base/gstbasesink.h:
7418         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7419         (gst_base_src_default_newsegment),
7420         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7421         (gst_base_src_get_range), (gst_base_src_loop),
7422         (gst_base_src_change_state):
7423         * gst/base/gstbasesrc.h:
7424         * gst/base/gstbasetransform.c:
7425         (gst_base_transform_prepare_output_buf),
7426         (gst_base_transform_event), (gst_base_transform_change_state):
7427         * gst/base/gstbasetransform.h:
7428         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7429         (gst_collect_pads_event):
7430         * gst/base/gstcollectpads.h:
7431         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7432         (gst_fake_src_create):
7433         * gst/elements/gstfakesrc.h:
7434         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7435         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7436         (gst_segment_set_last_stop), (gst_segment_set_seek),
7437         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7438         (gst_segment_to_running_time), (gst_segment_clip):
7439         * gst/gstsegment.h:
7440         More segment updates, replace code in plugins with segment
7441         helper functions.
7442
7443 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7444
7445         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7446         Don't ignore sscanf results
7447
7448 2005-11-21  Andy Wingo  <wingo@pobox.com>
7449
7450         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7451
7452         * *.h:
7453         * *.c: Ran scripts/update-macros. Oh yes.
7454
7455         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7456         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7457         GST_GET_LOCK, etc.
7458
7459         * scripts/update-macros: New script. Run it on your files to
7460         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7461         well.
7462
7463 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * docs/gst/Makefile.am:
7466         * docs/gst/gstreamer-docs.sgml:
7467         * docs/gst/gstreamer-sections.txt:
7468         * docs/gst/gstreamer.types:
7469         * gst/gstinfo.h:
7470           more docs fixes, add new api to the docs
7471
7472 2005-11-21  Andy Wingo  <wingo@pobox.com>
7473
7474         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7475         state_broadcast call.
7476
7477         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7478
7479 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7480
7481         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7482         function calls for arrays.
7483
7484 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7485
7486         * docs/random/ensonic/media-device-daemon.txt:
7487           wild idea, can this be done?
7488         * docs/gst/gstreamer-sections.txt:
7489         * gst/gsterror.h:
7490         * gst/gstfilter.c:
7491         * gst/gstfilter.h:
7492         * gst/gstplugin.h:
7493         * gst/gstpluginfeature.c:
7494         * gst/gsttrace.c:
7495         * gst/gstvalue.c:
7496         * gst/gstvalue.h:
7497           doc fixes and additions
7498
7499 2005-11-21  Andy Wingo  <wingo@pobox.com>
7500
7501         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7502         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7503         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7504         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7505         private to the basesrc implementation.
7506
7507         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7508         behalf of event function if necessary. It should no longer be
7509         necessary to take the stream lock in pad's event functions. Fixes
7510         #320299.
7511
7512 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7513         * docs/gst/gstreamer-sections.txt:
7514         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7515         (gst_structure_fixate_field_nearest_double),
7516         (gst_structure_fixate_field_boolean):
7517         * gst/gststructure.h:
7518         * win32/common/libgstreamer.def:
7519         * win32/gstreamer.def:
7520
7521         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7522         (#322027)
7523
7524 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7525
7526         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7527         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7528         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7529         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7530         (gst_fdsrc_uri_handler_init):
7531         * gst/elements/gstfdsrc.h:
7532           Port fd:// URI handler from 0.8 to fdsrc
7533
7534 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7535
7536         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7537         (gst_value_serialize_fourcc):
7538         * gst/gstvalue.h:
7539           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7540           consistent with our other format defines (#320324).
7541
7542 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * gst/gstvalue.c: (gst_value_is_fixed):
7545           Revert previous commit. Value lists are by definition
7546           not fixed, as they are a list of possible values.
7547
7548 2005-11-21  Andy Wingo  <wingo@pobox.com>
7549
7550         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7551         during the stable series if we need it. Fixes #319178.
7552
7553         * gst/gstevent.c (gst_event_new_filler): Removed.
7554
7555         * check/gst/gstevent.c: Update comment about filler events.
7556
7557 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * gst/gstvalue.c: (gst_value_is_fixed):
7560           Should handle both value arrays and value lists.
7561
7562 2005-11-21  Andy Wingo  <wingo@pobox.com>
7563
7564         patch by: Alessandro Dessina <alessandro nnva org>
7565
7566         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7567         functions to access arrays. Fixes #321962.
7568
7569 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * docs/gst/gstreamer.types:
7572           gst_collectpads_get_type => gst_collect_pads_get_type.
7573           
7574         * gst/base/gstbasetransform.c:
7575           Remove unused SIGNAL_HANDOFF enum.
7576
7577 2005-11-21  Andy Wingo  <wingo@pobox.com>
7578
7579         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7580         the event type (upstream, downstream, serialized). Renamed
7581         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7582         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7583         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7584
7585         * gst/gstevent.c: Update for new CUSTOM event names.
7586
7587         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7588
7589         * gst/gstevent.h:
7590         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7591         bug #319392.
7592
7593 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7594
7595         * docs/gst/gstreamer-sections.txt:
7596         * win32/common/libgstbase.def:
7597         * win32/libgstbase.def:
7598         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7599         (gst_collect_pads_class_init), (gst_collect_pads_init),
7600         (gst_collect_pads_finalize), (gst_collect_pads_new),
7601         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7602         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7603         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7604         (gst_collect_pads_start), (gst_collect_pads_stop),
7605         (gst_collect_pads_peek), (gst_collect_pads_pop),
7606         (gst_collect_pads_available), (gst_collect_pads_read),
7607         (gst_collect_pads_flush), (gst_collect_pads_event),
7608         (gst_collect_pads_chain):
7609         * gst/base/gstcollectpads.h:
7610           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7611           unimplemented functions as unimplemented. Add padding to
7612           GstCollectData. (#320766, #320423)
7613
7614 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7615
7616         * gst/gstmessage.c:
7617           Improve docs for DURATION message (usage of duration parameter)
7618           (#320113)
7619
7620 2005-11-20  Wim Taymans  <wim@fluendo.com>
7621
7622         * check/Makefile.am:
7623         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7624         (main):
7625         * gst/Makefile.am:
7626         * gst/gst.h:
7627         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7628         (gst_segment_set_seek), (gst_segment_set_newsegment),
7629         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7630         (gst_segment_clip):
7631         * gst/gstsegment.h:
7632         Added segment helper structure and methods. Not fully implemented
7633         yet.
7634         Added segment check.
7635
7636 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7637
7638         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7639           Add a deserialisation test for fractions
7640         * examples/metadata/read-metadata.c: (message_loop),
7641         (make_pipeline), (main):
7642           Fix up metadata reading sample.
7643         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7644           Debug format fix
7645         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7646           Don't try and fixate empty caps
7647         * gst/gst_private.h:
7648           Wrap in G_BEGIN_DECLS/G_END_DECLS
7649         * gst/gstvalue.c: (gst_value_collect_fraction),
7650         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7651         (gst_value_transform_string_fraction),
7652         (gst_value_compare_fraction):
7653           Add some extra guards to ensure that we don't end up 
7654           with an invalid denominator of 0 in a gstfraction and
7655           that fractions always get reduced.
7656
7657 2005-11-20  Wim Taymans  <wim@fluendo.com>
7658
7659         * docs/gst/gstreamer-sections.txt:
7660         * gst/gstbuffer.h:
7661         * gst/gstelement.c:
7662         * gst/gstformat.c:
7663         * gst/gstformat.h:
7664         * gst/gstindex.h:
7665         * gst/gstquery.c:
7666         * gst/gstquery.h:
7667         * gst/gstvalue.c:
7668         Doc fixes.
7669
7670 2005-11-20  Wim Taymans  <wim@fluendo.com>
7671
7672         * docs/design/part-TODO.txt:
7673         * gst/gstcaps.h:
7674         Make a proper enum of the flag.
7675
7676 2005-11-19  Wim Taymans  <wim@fluendo.com>
7677
7678         * docs/design/part-TODO.txt:
7679         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7680         (gst_format_to_quark), (gst_format_register):
7681         * gst/gstformat.h:
7682         * gst/gstquery.c: (_gst_query_initialize),
7683         (gst_query_type_get_name), (gst_query_type_to_quark),
7684         (gst_query_type_register):
7685         * gst/gstquery.h:
7686         Add type to quark and type to string conversions.
7687
7688 2005-11-19  Andy Wingo  <wingo@pobox.com>
7689
7690         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7691         #320097.
7692
7693 2005-11-19  Wim Taymans  <wim@fluendo.com>
7694
7695         * docs/design/part-TODO.txt:
7696         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7697         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7698         (gst_bin_handle_message_func):
7699         * gst/gstbin.h:
7700         Make message handling overridable.
7701
7702 2005-11-19  Andy Wingo  <wingo@pobox.com>
7703
7704         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7705
7706         * gst/gstclock.h:
7707         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7708         be a GstClockTime.
7709         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7710         is a GstClockTime. Fixes #321710.
7711
7712         * gst/gstclock.h (GstClock): Remove offset property. Add
7713         internal_calibration and external_calibration. Fix padding. Pad
7714         also by GstClockTime so we don't run into problems.
7715
7716         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7717         (gst_clock_get_rate_offset): Remove.
7718         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7719
7720         * gst/gstutils.h:
7721         * gst/gstutils.c (g_static_rec_cond_wait)
7722         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7723
7724         * gst/gstbin.c: Remove terrible continue_state prototype.
7725
7726         * gst/gstelement.h (gst_element_continue_state): Make public.
7727
7728         * gst/gstelement.h:
7729         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7730         by continue_state. Fixes #319389.
7731
7732         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7733         Really fixes #168438. However I don't see anywhere where the
7734         filter function is called... stupid GStreamer...
7735         
7736         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7737         don't have a dispose function, so it won't get called when the
7738         object is unreffed, but oh well!
7739
7740         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7741         allows a destroy function to be set so user_data can be freed.
7742         Fixes #168438.
7743         (gst_index_set_filter): Call gst_index_set_filter_full.
7744
7745         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7746
7747         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7748         string should produce an error, given the lack of a way to
7749         represent NULL strings. Fixes #165650.
7750         
7751         * gst/gstvalue.h: 
7752         * gst/gstvalue.c (gst_value_array_append_value) 
7753         (gst_value_array_prepend_value, gst_value_array_get_size) 
7754         (gst_value_array_get_value): New API, copied from
7755         gst_value_list_*, only operates on arrays.
7756         (gst_value_list_append_value, gst_value_list_prepend_value) 
7757         (gst_value_list_concat, gst_value_list_get_size) 
7758         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7759
7760         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7761         init_list, because it works on both.
7762         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7763         (gst_value_copy_list_or_array): Renamed from copy_list.
7764         (gst_value_free_list_or_array): Renamed from free_list.
7765         (gst_value_collect_list_or_array): Renamed from collect_list.
7766         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7767         (gst_value_list_or_array_peek_pointer): Renamed from
7768         list_peek_pointer.
7769         (_gst_value_array_value_table, _gst_value_list_value_table):
7770         Update value table functions.
7771         (gst_value_compare_list_or_array): Renamed from compare_list.
7772
7773         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7774         some constness.
7775
7776         * gst/gsttaglist.c:
7777         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7778         GstTagList*. Fixes #143472.
7779
7780         * gst/gststructure.h: Clarify what the foreach/map functions can
7781         or can't do to their arguments.
7782
7783 2005-11-18  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/gstclock.c: (gst_clock_set_calibration),
7786         (gst_clock_get_calibration):
7787         Doc and API fixes.
7788         Calibration can be set with internal time equal to current
7789         internal time too.
7790
7791 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7792
7793         * gst/gsterror.c:
7794         * gst/gsterror.h:
7795           document
7796
7797 2005-11-18  Andy Wingo  <wingo@pobox.com>
7798
7799         * configure.ac: 
7800         * pkgconfig/gstreamer-net.pc.in:
7801         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7802         * pkgconfig/Makefile.am: Add net pkgconfig files.
7803
7804 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7805
7806         * gst/gstcaps.c:
7807         * gst/gstghostpad.c:
7808         * gst/gsttrace.c:
7809         * gst/gstvalue.c:
7810         * gst/gstvalue.h:
7811           docs fixes
7812
7813 2005-11-18  Andy Wingo  <wingo@pobox.com>
7814
7815         * gst/net/gstnetclientclock.c: Turn off debugging.
7816
7817         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7818         times connverge somewhat. Can't make a real test.
7819
7820         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7821         integer arithmetic. Return the minimum of the domain, which can be
7822         set as "internal" for gst_clock_set_calibration.
7823         (gst_net_client_clock_observe_times): Call _set_calibration.
7824         (gst_net_client_clock_new): Call _set_calibration instead of
7825         rate_offset.
7826
7827         * check/net/gstnetclientclock.c (test_functioning): Use the right
7828         adjustment api.
7829
7830         * gst/gstclock.h:
7831         * gst/gstclock.c (gst_clock_get_calibration) 
7832         (gst_clock_set_calibration): New functions, obsolete the ones I
7833         added yesterday. Doh. Precision issues mean we have to extrapolate
7834         from a point in the more recent past than 1970.
7835         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7836         obsolete.
7837         (gst_clock_adjust_unlocked): Use the right calibration data.
7838
7839 2005-11-18  Edward Hervey  <edward@fluendo.com>
7840
7841         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7842         Also reset the ->current_* values in READY->PAUSED
7843
7844 2005-11-18  Andy Wingo  <wingo@pobox.com>
7845
7846         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7847         Whoops, check the right fd. Also add some debugging.
7848         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7849         (do_linear_regression): Add a crapload of debugging. Subtract off
7850         the minimum values from the input series to discard unneeded bits.
7851         Use only int arithmetic. There is still double arithmetic when
7852         calculating the intercept that needs fixing. Return boolean to
7853         indicate success; FALSE would mean the domain or range is too
7854         great. Still needs fixes.
7855
7856 2005-11-18  Wim Taymans  <wim@fluendo.com>
7857
7858         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7859         For the current position in stream time, we need to subtract
7860         accumulated time.
7861         
7862         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7863         Release lock before calling the callback function of async
7864         entries.
7865
7866 2005-11-18  Andy Wingo  <wingo@pobox.com>
7867
7868         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7869         Port goes all the way to MAXUINT16.
7870
7871         * gst/net/gstnettimeprovider.c: Make the port range the same as
7872         for the kernel: 0 assigns, otherwise ports are less than
7873         MAXUINT16.
7874
7875         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7876         port change.
7877
7878         * check/net/gstnetclientclock.c (test_functioning): Add the start
7879         of another test. 
7880
7881 2005-11-18  Wim Taymans  <wim@fluendo.com>
7882
7883         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7884         (gst_bin_remove_func), (bin_bus_handler):
7885         * gst/gstbin.h:
7886         Removing a clock provider from a bin, triggers a clock lost message
7887         so that a new clock will be selected.
7888         Adding a clock to a bin triggers a clock provider message.
7889         Make sure we reselect a clock when we received a clock lost message.
7890         Keep a reference to the element that provided the clock.
7891
7892 2005-11-18  Andy Wingo  <wingo@pobox.com>
7893
7894         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7895         the clock initially so it produces values around the base time.
7896         (gst_net_client_clock_class_init): Typo fix.
7897         (gst_net_client_clock_thread): Add note on when the socket gets
7898         closed.
7899
7900 2005-11-17  Wim Taymans  <wim@fluendo.com>
7901
7902         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7903         Free remote and local time arrays.
7904
7905 2005-11-17  Wim Taymans  <wim@fluendo.com>
7906
7907         * gst/net/gstnetclientclock.c: (do_linear_regression),
7908         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7909         Fix compilation, uninitialized vars and a forgotten continue.
7910
7911 2005-11-17  Andy Wingo  <wingo@pobox.com>
7912
7913         * check/Makefile.am (check_PROGRAMS): 
7914         * check/net/gstnetclientclock.c: Add a most minimal test for the
7915         net client clock. More to come later.
7916
7917         * gst/net/gstnet.h: 
7918         * gst/net/Makefile.am: Add netclientclock.
7919
7920         * gst/net/gstnetclientclock.h:
7921         * gst/net/gstnetclientclock.c: New files, implement an untested
7922         GstClock that takes its time from a network time provider.
7923         Implements the algorithm in network-clock.scm.
7924
7925         * tests/network-clock.scm (*window-size*): Rename from
7926         *queue-length*.
7927         * tests/network-clock.scm (network-time): 
7928         * tests/network-clock-utils.scm (q-push): Update callers.
7929
7930 2005-11-17  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/gstbin.c: (gst_bin_provide_clock_func),
7933         (gst_bin_sort_iterator_new):
7934         And unref the child too..
7935
7936 2005-11-17  Wim Taymans  <wim@fluendo.com>
7937
7938         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7939         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7940         Refactor the sort iterator so it can be used while holding the
7941         LOCK too.
7942         Make clock selection select a clock closest to the source.
7943
7944 2005-11-17  Michael Smith <msmith@fluendo.com>
7945
7946         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7947         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7948         * gst/gstclock.h:
7949           Anonymous structs are a gcc (and some other compilers) extension, so
7950           don't use them. Since this is only for ABI-compatibility, and our
7951           API/ABI freeze is over in a few days, this whole thing will only
7952           last a few days, so don't bother trying to think up a meaningful
7953           name for the struct.
7954
7955 2005-11-17  Andy Wingo  <wingo@pobox.com>
7956
7957         * gst/gstclock.h (GstClock): Add rate and offset properties,
7958         preserving ABI stability. Add rate/offset accessors. Will file bug
7959         for the freeze break.
7960
7961         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7962         and offset, trying to keep precision and avoiding
7963         underflow/overflow.
7964         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7965         functions. Make gst_clock_set_time_adjust obsolete.
7966         (gst_clock_set_time_adjust): Note that this function is obsolete.
7967         Will file bug soon.
7968
7969         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7970         greppable by using GST_PADDING-1+1.
7971
7972 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7973
7974         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7975
7976         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7977           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7978
7979         * gst/gstpadtemplate.h:
7980         * gst/gstpluginfeature.h:
7981           Don't use c++ style comments in headers (#321638).
7982
7983 2005-11-16  Andy Wingo  <wingo@pobox.com>
7984
7985         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7986         buffer.
7987
7988         * check/net/gstnettimeprovider.c: Check to see that the time
7989         provider actually provides times. Works, yo!
7990
7991 2005-11-16  Wim Taymans  <wim@fluendo.com>
7992
7993         * check/Makefile.am:
7994         Enable more tests.
7995
7996         * check/elements/fakesrc.c: (GST_START_TEST):
7997         Set element to NULL before disposing it.
7998
7999 2005-11-16  Andy Wingo  <wingo@pobox.com>
8000
8001         * gst/net/Makefile.am:
8002         * gst/net/gstnet.h:
8003         * gst/net/gstnettimeprovider.c: 
8004         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8005         provider, include it from gstnet.h, and add it to the build.
8006
8007         * gst/net/gstnettimepacket.h: 
8008         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8009         sending and receiving.
8010
8011 2005-11-16  Wim Taymans  <wim@fluendo.com>
8012
8013         * check/Makefile.am:
8014         Enable valgrind check.
8015
8016         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8017         (gst_fake_src_alloc_buffer):
8018         Fix memleak.
8019
8020 2005-11-16  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8023         Call parent finalize too.
8024
8025 2005-11-16  Wim Taymans  <wim@fluendo.com>
8026
8027         * check/Makefile.am:
8028         Enable valgrind check that should work fine now.
8029
8030         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8031         * gst/gstqueue.c: (gst_queue_init):
8032         Fix memleaks in pad allocation.
8033
8034 2005-11-16  Andy Wingo  <wingo@pobox.com>
8035
8036         * gst/net/Makefile.am:
8037         * gst/net/gstnet.h: New part of core to hold network elements and
8038         objects. Put in core because it exposes API that applications want
8039         to use. The library is named libgstnet-tempname right now because
8040         of the existing libgstnet in gst-plugins-base. Solution is
8041         probably to rename the one in plugins-base; will file a bug for
8042         the freeze break.
8043
8044         * gst/net/gstnettimeprovider.c: 
8045         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8046         get_time call over the network.
8047
8048         * configure.ac: 
8049         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8050
8051         * check/Makefile.am:
8052         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8053         get additions shortly.
8054
8055 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8056
8057         * gst/gstpad.c: (gst_pad_new_from_static_template):
8058         * gst/gstpad.h:
8059           add gst_pad_new_from_static_template functions
8060         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8061         (gst_check_setup_sink_pad):
8062         * gst/elements/gsttee.c: (gst_tee_init):
8063           and use them
8064
8065 2005-11-16  Wim Taymans  <wim@fluendo.com>
8066
8067         * gst/gstpad.c: (gst_pad_pause_task):
8068         Removed warning, it's not really an error either.
8069
8070 2005-11-16  Wim Taymans  <wim@fluendo.com>
8071
8072         * gst/base/gstbasetransform.c:
8073         (gst_base_transform_prepare_output_buf),
8074         (gst_base_transform_event):
8075         Check if the caps are NULL, this can happen if the element
8076         is shutting down and the pad caps are set to NULL.
8077
8078 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8079
8080         * gst/elements/gsttee.c: (gst_tee_init):
8081           fix pad template leak in tee
8082
8083 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * gst/glib-compat.c: (g_value_dup_gst_object):
8086         * gst/glib-compat.h:
8087         * gst/gstpad.c: (gst_pad_set_property):
8088           use gst_object_ref when setting the pad template; this will
8089           trigger the pad template leaks on GLib 2.6 and the slaves
8090
8091 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8092
8093         * gst/glib-compat.c: (gst_flags_get_first_value):
8094         * gst/glib-compat.h:
8095         * gst/gstregistryxml.c:
8096           remove functions copied from GLib 2.6
8097
8098 2005-11-16  Michael Smith <msmith@fluendo.com>
8099
8100         * gst/Makefile.am:
8101           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8102           do, but only breaks with newer valgrind versions. We're not a
8103           valgrind tool, we have no link-time dependencies on libcoregrind.
8104
8105 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8106
8107         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8108           some debug changes
8109         * gst/gstmessage.h:
8110           typo fixes
8111
8112 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8113
8114         * gst/base/gstbasesrc.c: (gst_base_src_init):
8115         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8116         * gst/gstqueue.c: (gst_queue_init):
8117         * gst/gstregistryxml.c: (load_feature):
8118           Revert all these unrefs, they don't even pass make check !
8119
8120 2005-11-15  Johan Dahlin  <johan@gnome.org>
8121
8122         * gst/base/gstbasesrc.c: (gst_base_src_init):
8123         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8124         * gst/gstqueue.c: (gst_queue_init): 
8125         Free pad templates, fixes a couple of leaks.
8126
8127 2005-11-15  Daniel Fischer  <dan at f3c dot com>
8128
8129         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8130
8131         * gst/gstpad.c: (gst_pad_get_property):
8132           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
8133           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
8134           (#321452)
8135
8136 2005-11-15  Wim Taymans  <wim@fluendo.com>
8137
8138         * gst/gstevent.c:
8139         Small doc update.
8140
8141 2005-11-15  Andy Wingo  <wingo@pobox.com>
8142
8143         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
8144
8145         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
8146         using GST_CLOCK_TIME_NONE to disable base time management.
8147         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
8148         time if it was NONE before.
8149         (gst_pipeline_change_state): Only munge the base time if
8150         stream_time != GST_CLOCK_TIME_NONE.
8151
8152         * check/gst/gstpipeline.c (test_base_time): Punt around the
8153         problem of the probe not being called, because that's not the
8154         issue I'm looking at. Add a check that setting stream_time to NONE
8155         disables base time management.
8156         
8157 2005-11-15  Wim Taymans  <wim@fluendo.com>
8158
8159         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8160         segment_stop == -1 at startup.
8161
8162         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8163         (gst_base_transform_change_state):
8164         Init segment values at start.
8165
8166 2005-11-15  Wim Taymans  <wim@fluendo.com>
8167
8168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8169         0 segment values are 0 in any format.
8170
8171         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8172         * gst/base/gstbasetransform.h:
8173         Parse newsegment correctly in basetransform
8174
8175         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8176         Sync to clock using updated segment values.
8177
8178 2005-11-15  Andy Wingo  <wingo@pobox.com>
8179
8180         * check/gst/gstpipeline.c (test_base_time): Add check that the
8181         base time and stream time are reset correctly.
8182
8183 2005-11-15  Wim Taymans  <wim@fluendo.com>
8184
8185         * docs/design/part-TODO.txt:
8186         Some more TODO items.
8187
8188 2005-11-15  Andy Wingo  <wingo@pobox.com>
8189
8190         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8191         error if the user selected "no clock" as the clocking method.
8192
8193         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8194         timestamps with live capture.
8195
8196         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8197         is 0 but we are a live source, timestamp the buffers using the
8198         element's clock.
8199
8200 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8201
8202         * docs/gst/gstreamer-sections.txt:
8203         * gst/gsterror.c:
8204         * gst/gstghostpad.c:
8205         * gst/gstobject.h:
8206         * gst/gstxml.c:
8207           more section docs
8208
8209 2005-11-14  Wim Taymans  <wim@fluendo.com>
8210
8211         * common/gst.supp:
8212           add suppressions from Wim's Debian machine
8213
8214 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8215
8216         * common/gst.supp:
8217           add suppressions from Andy's AMD64 Ubuntu machine
8218
8219 2005-11-14  Andy Wingo  <wingo@pobox.com>
8220
8221         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8222         STATE_LOCK not necessary. Fixes #311489.
8223
8224         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8225         #305291.
8226
8227         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8228         this function is not implemented.
8229
8230 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8231
8232         * gst/base/gstbasetransform.c:
8233         (gst_base_transform_prepare_output_buf):
8234         Ref the source pad caps while we need them.
8235         Fixes (#321386)
8236
8237 2005-11-11  Wim Taymans  <wim@fluendo.com>
8238
8239         * docs/gst/gstreamer-sections.txt:
8240         Added some docs for GstCollectData.
8241
8242         * gst/base/gstadapter.c:
8243         Some small code example fix.
8244
8245         * gst/base/gstcollectpads.c:
8246         * gst/base/gstcollectpads.h:
8247         Document some more.
8248
8249 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * configure.ac: back to HEAD
8252
8253 === release 0.9.5 ===
8254
8255 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8256
8257         * configure.ac:
8258           releasing 0.9.5, "Bike Lunch Day"
8259
8260 2005-11-11  Wim Taymans  <wim@fluendo.com>
8261
8262         * gst/gstbuffer.c: (_gst_buffer_copy):
8263         Copy more flags.
8264
8265         * gst/gstcaps.c: (gst_caps_is_equal):
8266         Fix some docs.
8267         Make _is_equal fast in the trivial cases.
8268
8269         * gst/gstminiobject.c:
8270         * gst/gstminiobject.h:
8271         More docs. Spifify .h file.
8272
8273         * gst/gstutils.c:
8274         Small doc update.
8275
8276 2005-11-11  Wim Taymans  <wim@fluendo.com>
8277
8278         * gst/base/gstbasetransform.c:
8279         (gst_base_transform_prepare_output_buf),
8280         (gst_base_transform_handle_buffer):
8281         Small cleanups.
8282         If we're processing a buffer and need to allocate an output
8283         buffer, we cannot accept a format change. If we did get a 
8284         format change, we have to alloc a buffer ourselves of the 
8285         right size.
8286
8287 2005-11-11  Wim Taymans  <wim@fluendo.com>
8288
8289         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8290         While checking the flag for reentrancy in the gstcaps function
8291         is nice to detect recursive invocations, it also makes it 
8292         impossible to call getcaps from multiple threads, which must be
8293         possible. So, checking for recursive calls has to go.
8294
8295 2005-11-11  Michael Smith <msmith@fluendo.com>
8296
8297         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8298           Don't sync on buffers that fall partially outside our current
8299           segment. Prevents an assertion failure/abort playing some files.
8300
8301 2005-11-10  Andy Wingo  <wingo@pobox.com>
8302
8303         * check/gst/gstbin.c (test_message_state_changed_children): Style
8304         fix..
8305
8306         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8307         gst_bus_poll with the signal watch. Ensures that poll and a signal
8308         watch see the same messages.
8309
8310         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8311         a poll and a watch at the same time get the same messages.
8312
8313 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8314
8315         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8316         * gst/gstcaps.c: (gst_caps_intersect):
8317           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8318           and it's not needed.
8319
8320 2005-11-10  Wim Taymans  <wim@fluendo.com>
8321
8322         * docs/design/part-TODO.txt:
8323         Updated todo.
8324
8325 2005-11-10  Wim Taymans  <wim@fluendo.com>
8326
8327         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8328         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8329         (gst_base_src_do_sync), (gst_base_src_get_range):
8330         Implement clock sync in base class.
8331
8332 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8333
8334         patch by: Tim-Philipp Müller <tim at centricular dot net>
8335
8336         * gst/gststructure.c: (gst_structure_parse_field),
8337         (gst_structure_from_string):
8338           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8339           so that gst_parse_launch() can deal with spaces in filtered link
8340           caps (fixes #164479)
8341         * check/gst/capslist.h:
8342         * check/gst/gststructure.c: (GST_START_TEST):
8343           add unit tests for this change
8344
8345 2005-11-10  Wim Taymans  <wim@fluendo.com>
8346
8347         * docs/gst/gstreamer-sections.txt:
8348         * gst/gstelement.c:
8349         * gst/gstelement.h:
8350         Fix docs, move some STATE macros to private.
8351
8352 2005-11-10  Wim Taymans  <wim@fluendo.com>
8353
8354         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8355         Added check for bug #317341
8356
8357         * gst/gstbuffer.c:
8358         * gst/gstbuffer.h:
8359         Some more spiffifying.
8360
8361         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8362         Call peer linkfunction if we are a source pad. Totally fixes
8363         #317341
8364
8365         * gst/gstpad.c:
8366         Update docs, source pads should call the peer linkfunction
8367         so they can atomically perform the pad link.
8368
8369 2005-11-09  Wim Taymans  <wim@fluendo.com>
8370
8371         * gst/gstbuffer.c:
8372         * gst/gstbuffer.h:
8373         Uber-spiffy-spiffify some more.
8374
8375 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8376
8377         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8378         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8379         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8380         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8381         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8382         * gst/gstpad.c: (gst_pad_init):
8383           Use GST_DEBUG_FUNCPTR() more extensively.
8384
8385 2005-11-09  Wim Taymans  <wim@fluendo.com>
8386
8387         * gst/gstobject.c: (gst_object_class_init):
8388         * gst/gstobject.h:
8389         Documentation fixes.
8390
8391 2005-11-09  Edward Hervey  <edward@fluendo.com>
8392
8393         * gst/gsttypefindfactory.c:
8394         Fix docs.
8395         
8396 2005-11-09  Edward Hervey  <edward@fluendo.com>
8397
8398         * gst/base/gsttypefindhelper.c:
8399         * gst/gsttypefind.c:
8400         * gst/gsttypefind.h:
8401         Fix docs.
8402
8403 2005-11-09  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/gstiterator.c:
8406         Fix revision data.
8407
8408         * gst/gsttask.c:
8409         * gst/gsttask.h:
8410         Fix docs.
8411
8412 2005-11-09  Wim Taymans  <wim@fluendo.com>
8413
8414         * gst/gstevent.h:
8415         * gst/gsturi.h:
8416         Fix docs.
8417
8418 2005-11-09  Wim Taymans  <wim@fluendo.com>
8419
8420         * docs/gst/gstreamer-sections.txt:
8421         Moved the message async delivery private lock and cond
8422         to the private section.
8423
8424         * gst/gstmessage.c:
8425         * gst/gstmessage.h:
8426         Fixed docs.
8427
8428 2005-11-09  Edward Hervey  <edward@fluendo.com>
8429
8430         * docs/gst/gstreamer-sections.txt:
8431         * gst/gsturi.c:
8432         * gst/gsturi.h:
8433         Document GstURIHandler
8434
8435 2005-11-09  Wim Taymans  <wim@fluendo.com>
8436
8437         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8438         (gst_iterator_find_custom):
8439         * gst/gstiterator.h:
8440         Fix iterator docs.
8441
8442 2005-11-09  Wim Taymans  <wim@fluendo.com>
8443
8444         * gst/gstbin.h:
8445         Document another field.
8446
8447         * gst/gststructure.c:
8448         * gst/gststructure.h:
8449         Document.
8450
8451 2005-11-09  Wim Taymans  <wim@fluendo.com>
8452
8453         * gst/gstbin.h:
8454         Documented structs.
8455
8456 2005-11-09  Wim Taymans  <wim@fluendo.com>
8457
8458         * docs/gst/gstreamer-sections.txt:
8459         Added some new macros.
8460
8461         * gst/gstclock.c:
8462         * gst/gstclock.h:
8463         * gst/gstobject.h:
8464         Docs updates.
8465
8466 2005-11-09  Wim Taymans  <wim@fluendo.com>
8467
8468         * docs/design/part-TODO.txt:
8469         Some more items for the TODO
8470
8471         * gst/gstcaps.c:
8472         * gst/gstcaps.h:
8473         Document GstCaps.
8474
8475 2005-11-09  Andy Wingo  <wingo@pobox.com>
8476
8477         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8478         to work on something else now tho...
8479
8480         * gst/base/gstadapter.c: More adapter docs.
8481
8482         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8483         (gst_file_sink_stop): New functions, replace the state change
8484         handler.
8485         (gst_file_sink_class_init): Hook up the start and stop functions.
8486         (gst_file_sink_base_init): Don't set the state change handler any
8487         more. It was a bit ugly too, being set from here...
8488         (gst_file_sink_get_property, gst_file_sink_set_property):
8489         Cleanups...
8490         (gst_file_sink_set_location): More robust check that doesn't call
8491         GST_STATE. Ugggggg.
8492
8493 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8494
8495         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8496           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8497
8498 2005-11-08  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8501         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8502         (gst_base_sink_chain), (gst_base_sink_change_state):
8503         * gst/base/gstbasesink.h:
8504         * gst/base/gstbasesrc.h:
8505         * gst/gstelement.h:
8506         * gst/gstevent.h:
8507         Avoid excessive typechecking in macros.
8508
8509         * gst/gstminiobject.c: (gst_mini_object_get_type),
8510         (gst_mini_object_init), (gst_mini_object_new),
8511         (gst_mini_object_free):
8512         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8513         (gst_object_finalize):
8514         Remove cruft code, optimize alloc_trace.
8515
8516 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * docs/faq/gst-uninstalled:
8519           fix up PS1 for systems that try to reset it
8520
8521 2005-11-07  Wim Taymans  <wim@fluendo.com>
8522
8523         * gst/base/gstbasesrc.c: (gst_base_src_init),
8524         (gst_base_src_get_range):
8525         Set the segment_end to -1 initially. Fixed typefind.
8526
8527 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8528
8529         * gst/base/gstadapter.c:
8530           Debug category should be 'adapter', not 'GstAdapter'.
8531           
8532         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8533         (gst_collectpads_class_init), (gst_collectpads_init),
8534         (gst_collectpads_peek), (gst_collectpads_pop),
8535         (gst_collectpads_event), (gst_collectpads_chain):
8536           Add debug category and some debugging output. Use boilerplate
8537           macros. Remove some extraneous words from docs.
8538
8539 2005-11-05  Andy Wingo  <wingo@pobox.com>
8540
8541         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8542         macro.
8543
8544 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8545
8546         * docs/gst/gstreamer-sections.txt:
8547         * gst/gstcaps.h:
8548         * gst/gstinfo.c:
8549         * gst/gstminiobject.h:
8550         * gst/gstobject.h:
8551         * gst/gstutils.h:
8552           more docs added
8553
8554 2005-11-04  Wim Taymans  <wim@fluendo.com>
8555
8556         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8557         Small update to stop at the configured segment_end
8558         position.
8559
8560 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8561
8562         * gst/gstregistry.c:
8563         * gst/gstregistry.h:
8564           added missing docs
8565
8566 2005-11-04  Edward Hervey  <edward@fluendo.com>
8567
8568         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8569         Check if we are doing a segment seek and have arrived at the
8570         end of that segment.
8571
8572 2005-11-04  Wim Taymans  <wim@fluendo.com>
8573
8574         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8575         Don't leak a mutex unlock in case of an error.
8576
8577         * gst/gstbus.h:
8578         Doc fixes.
8579
8580 2005-11-04  Wim Taymans  <wim@fluendo.com>
8581
8582         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8583         (gst_bus_post):
8584         Get the context to wake up only once.
8585
8586 2005-11-03  Wim Taymans  <wim@fluendo.com>
8587
8588         * check/states/sinks.c: (GST_START_TEST):
8589         Uncomment fixed check.
8590
8591         * docs/design/part-TODO.txt:
8592         Updated TODO.
8593
8594         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8595         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8596         (gst_base_sink_get_position):
8597         If we are going to PLAYING, post the right pending state
8598         when we post the intermediate paused message.
8599
8600         * gst/gstelement.c: (gst_element_continue_state),
8601         (gst_element_set_state_func), (gst_element_change_state):
8602         Don't post state changes that were between the same state
8603         and were not ASYNC.
8604
8605 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8606
8607         * docs/gst/gstreamer-sections.txt:
8608         * gst/gstcaps.h:
8609         * gst/gstinfo.c:
8610         * gst/gstminiobject.h:
8611         * gst/gstobject.h:
8612         * gst/gstutils.h:
8613           more docs and doc style fixes
8614
8615 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8616
8617         * docs/gst/gstreamer-sections.txt:
8618         * gst/gstelement.c:
8619         * gst/gstminiobject.c:
8620         doc fixes
8621
8622 2005-11-03  Andy Wingo  <wingo@pobox.com>
8623
8624         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8625         state-changed messages actually have the right order and the right
8626         values.
8627
8628 2005-11-03  Wim Taymans  <wim@fluendo.com>
8629
8630         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8631         Added some more checks. Specifically the case where NO_PREROLL
8632         elements are in the pipeline.
8633
8634         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8635         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8636         (gst_base_sink_get_position):
8637         Post READY->PAUSED state change messages too.
8638         Fix bug where VOID was posted as pending state...
8639
8640         * gst/gstbin.c: (gst_bin_recalc_state):
8641         use _element_continue_state() to continue the state change.
8642
8643         * gst/gstelement.c: (gst_element_continue_state),
8644         (gst_element_commit_state), (gst_element_set_state_func),
8645         (gst_element_change_state), (gst_element_change_state_func):
8646         Lots of state change cleanups, assign the STATE_RETURN in
8647         a new continue_state() function that also propagates the
8648         last return value from a state change to the app.
8649         Update some debug statements with proper category.
8650
8651 2005-11-03  Wim Taymans  <wim@fluendo.com>
8652
8653         * docs/design/part-events.txt:
8654         * docs/design/part-gstpipeline.txt:
8655         * docs/design/part-messages.txt:
8656         * docs/design/part-overview.txt:
8657         * docs/design/part-seeking.txt:
8658         * docs/design/part-states.txt:
8659         * docs/design/part-trickmodes.txt:
8660         * docs/manual/advanced-position.xml:
8661         Small docs updates.
8662
8663         * gst/gstobject.h:
8664         People think !! is ugly, this looks better.
8665
8666         * gst/gstpad.c: (gst_pad_set_blocked_async):
8667         Remove !! since it's fixed elsewhere now.
8668
8669 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8670
8671         * gst/gstminiobject.h:
8672         * gst/gstobject.h:
8673           Add !! to _FLAG_IS_SET macros to make the result boolean.
8674
8675 2005-11-03  Edward Hervey  <edward@fluendo.com>
8676
8677         * gst/gstpad.c: (gst_pad_set_blocked_async):
8678         comparing a flag and a gboolean rarely returns coherent results...
8679         Added two characters (!!) to make that work correctly.
8680         
8681 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8682
8683         * gst/gstbus.c: (gst_bus_class_init):
8684           Fix some typos.
8685           
8686         * gst/gstqueue.c: (gst_queue_loop):
8687           Don't assume a miniobject that isn't a buffer is an
8688           event (it could be that there is a refcounting
8689           problem somewhere and the pointer is stale and
8690           refers to an already destroyed miniobject).
8691
8692 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8693
8694         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8695
8696 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8697
8698         * docs/manual/advanced-position.xml:
8699           Update seek example and explanations to current 0.9 API.
8700
8701         * gst/elements/gsttypefindelement.c:
8702         (gst_type_find_element_activate):
8703           Remove FIXME comment now that the found caps
8704           are unreffed.
8705
8706 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * gst/gstregistryxml.c: (load_feature):
8709           Add another GST_STR_NULL instance
8710
8711 2005-11-02  Edward Hervey  <edward@fluendo.com>
8712
8713         * gst/gstpad.c: (handle_pad_block):
8714         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8715         
8716 2005-11-02  Wim Taymans  <wim@fluendo.com>
8717
8718         * gst/gstbin.c:
8719         Fix typo in docs.
8720
8721         * gst/gstelement.c: (gst_element_commit_state):
8722         Remove unused value.
8723
8724         * gst/gstiterator.c:
8725         Mention that the returned element is reffed in the docs.
8726
8727 2005-11-02  Wim Taymans  <wim@fluendo.com>
8728
8729         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8730         (gst_pad_push), (gst_pad_push_event):
8731         Unlock blocked pads when they are flushed.
8732
8733 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8734
8735         * docs/README:
8736         * docs/gst/gstreamer-sections.txt:
8737         * gst/gstbin.c:
8738           doc updates
8739         * gst/gstregistry.c: (gst_registry_scan_path_level):
8740           fix for a nasty little missed situation where an installed plug-in
8741           which was in the cache did not get overridden by an uninstalled one
8742           which was earlier in the plugin path because the newly created plugin
8743           for the uninstalled one (not in the registry) didn't get its
8744           ->registered set to TRUE
8745
8746 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8747
8748         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8749         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8750         (gst_collectpads_is_active), (gst_collectpads_collect),
8751         (gst_collectpads_collect_range), (gst_collectpads_start),
8752         (gst_collectpads_stop), (gst_collectpads_peek),
8753         (gst_collectpads_pop), (gst_collectpads_available),
8754         (gst_collectpads_read), (gst_collectpads_flush):
8755           Guard public API with assertions.
8756         
8757         * gst/gstpad.c:
8758           Fix docs for gst_pad_set_link_function().
8759
8760 2005-11-02  Johan Dahlin  <johan@gnome.org>
8761
8762         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8763         Unref found_caps after we used it.
8764
8765 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8766
8767         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8768           Don't try to ref NULL.
8769
8770 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         * win32/common/config.h.in:
8773           provide a GST_FUNCTION that just gives a string for now
8774
8775 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8776
8777         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8778         (gst_object_flags_get_type), (register_gst_bin_flags),
8779         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8780         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8781         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8782         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8783         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8784         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8785         (gst_clock_flags_get_type), (register_gst_state),
8786         (gst_state_get_type), (register_gst_state_change_return),
8787         (gst_state_change_return_get_type), (register_gst_state_change),
8788         (gst_state_change_get_type), (register_gst_element_flags),
8789         (gst_element_flags_get_type), (register_gst_core_error),
8790         (gst_core_error_get_type), (register_gst_library_error),
8791         (gst_library_error_get_type), (register_gst_resource_error),
8792         (gst_resource_error_get_type), (register_gst_stream_error),
8793         (gst_stream_error_get_type), (register_gst_event_type),
8794         (gst_event_type_get_type), (register_gst_seek_type),
8795         (gst_seek_type_get_type), (register_gst_seek_flags),
8796         (gst_seek_flags_get_type), (register_gst_format),
8797         (gst_format_get_type), (register_gst_index_certainty),
8798         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8799         (gst_index_entry_type_get_type),
8800         (register_gst_index_lookup_method),
8801         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8802         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8803         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8804         (gst_index_flags_get_type), (register_gst_debug_level),
8805         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8806         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8807         (gst_iterator_result_get_type), (register_gst_iterator_item),
8808         (gst_iterator_item_get_type), (register_gst_message_type),
8809         (gst_message_type_get_type), (register_gst_mini_object_flags),
8810         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8811         (gst_pad_link_return_get_type), (register_gst_flow_return),
8812         (gst_flow_return_get_type), (register_gst_activate_mode),
8813         (gst_activate_mode_get_type), (register_gst_pad_direction),
8814         (gst_pad_direction_get_type), (register_gst_pad_flags),
8815         (gst_pad_flags_get_type), (register_gst_pad_presence),
8816         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8817         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8818         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8819         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8820         (gst_plugin_flags_get_type), (register_gst_rank),
8821         (gst_rank_get_type), (register_gst_query_type),
8822         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8823         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8824         (gst_tag_flag_get_type), (register_gst_task_state),
8825         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8826         (gst_alloc_trace_flags_get_type),
8827         (register_gst_type_find_probability),
8828         (gst_type_find_probability_get_type), (register_gst_uri_type),
8829         (gst_uri_type_get_type), (register_gst_parse_error),
8830         (gst_parse_error_get_type):
8831         * win32/common/gstversion.h:
8832           update win32 copies
8833
8834 2005-11-01  Luca Ognibene  <luogni@tin.it>
8835
8836         * gst/gst.c:
8837           fix docs. popt is dead, long live GOption.
8838
8839 2005-10-31  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/gstbuffer.h:
8842         Small doc fix.
8843
8844 2005-10-31  Andy Wingo  <wingo@pobox.com>
8845
8846         * Boo!
8847
8848         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8849
8850         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8851         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8852         the possibility of deadlocks here if code calling notify() or
8853         set() has a lock that can be taken in another notify handler (ABBA
8854         with class lock and e.g. python GIL state lock).
8855
8856 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8857
8858         * gst/gstbus.c: Doc updates.
8859
8860 2005-10-28  Wim Taymans  <wim@fluendo.com>
8861
8862         * docs/design/part-TODO.txt:
8863         * gst/gstiterator.c:
8864         * gst/gstsystemclock.c:
8865         * gst/gstsystemclock.h:
8866         Doc updates.
8867
8868 2005-10-28  Edward Hervey  <edward@fluendo.com>
8869
8870         * docs/gst/gstreamer-docs.sgml:
8871         * docs/gst/gstreamer-sections.txt:
8872         the GstURIType documentation page is private, it only defines GstURIType
8873         which should be defined in the GstURIHandler page
8874         
8875 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * gst/gstbin.c: (gst_bin_class_init):
8878         * gst/gstbin.h:
8879         * gst/gstutils.c:
8880         Documentation updates.
8881
8882 2005-10-28  Wim Taymans  <wim@fluendo.com>
8883
8884         * docs/gst/gstreamer-sections.txt:
8885         * gst/gstclock.c:
8886         * gst/gstclock.h:
8887         Documented the clocks.
8888
8889 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8890
8891         * docs/gst/gstreamer-sections.txt:
8892           move some macros to private sections
8893         * gst/gstminiobject.c:
8894         * gst/gstminiobject.h:
8895           add descriptions provided by ds and some more
8896         * gst/gstpad.h:
8897           mark macro as to be removed
8898
8899 2005-10-28  Wim Taymans  <wim@fluendo.com>
8900
8901         * docs/design/part-TODO.txt:
8902         Add an item to TODO.
8903
8904         * gst/gstiterator.c: (gst_iterator_fold),
8905         (gst_iterator_find_custom):
8906         * gst/gstiterator.h:
8907         Add iterator docs.
8908
8909 2005-10-28  Wim Taymans  <wim@fluendo.com>
8910
8911         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8912         (gst_base_transform_init):
8913         Don't leak class.
8914
8915         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8916         An EOS event marks the queue as completely filled.
8917
8918 2005-10-27  Wim Taymans  <wim@fluendo.com>
8919
8920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8921         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8922         Some more debugging.
8923
8924         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8925         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8926         (gst_base_transform_event), (gst_base_transform_getrange),
8927         (gst_base_transform_chain):
8928         * gst/base/gstbasetransform.h:
8929         Fix debugging,
8930         Protect transform and concurrent buffer alloc with a new lock.
8931         Try not to break ABI/API.
8932
8933 2005-10-27  Wim Taymans  <wim@fluendo.com>
8934
8935         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8936         (gst_base_src_init), (gst_base_src_query),
8937         (gst_base_src_default_newsegment),
8938         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8939         (gst_base_src_send_event), (gst_base_src_event_handler),
8940         (gst_base_src_pad_get_range), (gst_base_src_loop),
8941         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8942         (gst_base_src_start), (gst_base_src_deactivate),
8943         (gst_base_src_activate_push), (gst_base_src_change_state):
8944         Move some stuff around and cleanup things.
8945
8946 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8947
8948         * gst/base/gstbasesrc.c: (gst_base_src_query):
8949           Add missing break statements.
8950
8951 2005-10-27  Wim Taymans  <wim@fluendo.com>
8952
8953         * check/gst/gstbin.c: (GST_START_TEST):
8954         An extra refcount is taken in basesrc.
8955
8956         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8957         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8958         (gst_base_src_loop):
8959         Small cleanups, check for flushing after being unlocked from the 
8960         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8961         Don't send out EOS when going to READY.
8962
8963 2005-10-27  Wim Taymans  <wim@fluendo.com>
8964
8965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8966         (gst_base_sink_get_position):
8967         Some more debug.
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), (bin_bus_handler),
8972         (bin_query_duration_init), (bin_query_duration_fold),
8973         (bin_query_duration_done), (bin_query_generic_fold),
8974         (gst_bin_query):
8975         * tools/gst-launch.c: (main):
8976         Remove old option.
8977
8978 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8979
8980         * examples/controller/audio-example.c: (main):
8981         * examples/queue/queue.c: (event_loop):
8982         * gst/base/gstbasetransform.h:
8983         * gst/gstelement.c: (gst_element_send_event):
8984         * gst/gstevent.h:
8985         * gst/gstpad.c: (gst_pad_send_event):
8986           fixing examples
8987           fixing docs typos
8988           changing log priority in error situations
8989
8990 2005-10-25  Wim Taymans  <wim@fluendo.com>
8991
8992         * gst/gstbin.c: (message_check), (bin_replace_message),
8993         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8994         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8995         (bin_query_duration_init), (bin_query_duration_fold),
8996         (bin_query_duration_done), (bin_query_generic_fold),
8997         (gst_bin_query):
8998         Some doc and debug updates.
8999         Cache previously requested query DURATION for speed. invalidate
9000         cached duration if element posts a DURATION message.
9001
9002 2005-10-25  Wim Taymans  <wim@fluendo.com>
9003
9004         * docs/design/part-TODO.txt:
9005         Update TODO.
9006
9007         * gst/gstbin.c: (message_check), (bin_replace_message),
9008         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9009         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9010         (bin_query_duration_init), (bin_query_duration_fold),
9011         (bin_query_duration_done), (bin_query_generic_fold),
9012         (gst_bin_query):
9013         Handle SEGMENT_START/DONE messages correctly.
9014         More evolved query algorithm that handles duration queries
9015         correctly.
9016
9017         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9018         (gst_element_get_state_func), (gst_element_abort_state),
9019         (gst_element_commit_state), (gst_element_lost_state):
9020         Some more debugging.
9021
9022         * gst/gstmessage.h:
9023         Added doc.
9024
9025 2005-10-25  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9028         Don't use invalid stream_time.
9029
9030         * gst/gstevent.c: (gst_event_new_newsegment):
9031         stream_time in newsegment cannot be undefined.
9032
9033 2005-10-24  Wim Taymans  <wim@fluendo.com>
9034
9035         * gst/gstbus.c:
9036         Doc fix.
9037
9038         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9039         (gst_queue_loop):
9040         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9041
9042 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9043
9044         * docs/libs/tmpl/gstdparam.sgml:
9045         * docs/libs/tmpl/gstdplinint.sgml:
9046         * docs/libs/tmpl/gstdpman.sgml:
9047         * docs/libs/tmpl/gstdpsmooth.sgml:
9048         * docs/libs/tmpl/gstunitconvert.sgml:
9049           these are obsolete
9050
9051 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * configure.ac:
9054           back to HEAD
9055
9056 === release 0.9.4 ===
9057
9058 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9059
9060         * configure.ac:
9061           releasing 0.9.4, "Tyrannosaurus Rex"
9062
9063 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9064
9065         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9066         (gst_file_sink_get_current_offset):
9067           Use fseeko() and ftello() if available. When falling back on
9068           lseek() to get the current offset, fflush() first to make sure
9069           everything is up-to-date and we get the right offset.
9070
9071 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9072
9073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9074         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9075         * gst/gsterror.c: (_gst_stream_errors_init):
9076         * gst/gsterror.h:
9077         * gst/gstqueue.c: (gst_queue_loop):
9078         * po/POTFILES.in:
9079           remove prematurely added error category and clean up the instances
9080
9081 2005-10-21  Wim Taymans  <wim@fluendo.com>
9082
9083         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9084         (gst_base_sink_get_position), (gst_base_sink_query),
9085         (gst_base_sink_change_state):
9086         Simply set the right flag when going to playing, that's all
9087         we need to do instead of calling a function inside the object
9088         lock (that could take the lock as well and deadlock)
9089
9090 2005-10-21  Wim Taymans  <wim@fluendo.com>
9091
9092         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9093         (gst_base_src_loop):
9094         Don't warn, the peer element knows what to do best when
9095         the seek failed, it might try something else.
9096
9097 2005-10-21  Wim Taymans  <wim@fluendo.com>
9098
9099         * gst/base/gstbasesrc.c: (gst_base_src_init),
9100         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9101         Fix seeking.
9102
9103 2005-10-21  Wim Taymans  <wim@fluendo.com>
9104
9105         * docs/design/part-segments.txt:
9106         More docs.
9107
9108         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9109         Correctly set caps, even on the subbufer.
9110
9111 2005-10-21  Wim Taymans  <wim@fluendo.com>
9112
9113         * docs/gst/gstreamer-docs.sgml:
9114         * docs/gst/gstreamer-sections.txt:
9115         * gst/gstelement.h:
9116         * gst/gstevent.c:
9117         * gst/gstevent.h:
9118         * gst/gstmessage.h:
9119         * gst/gstpad.h:
9120         * gst/gstparse.h:
9121         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
9122         * gst/gsttask.h:
9123         * gst/gstutils.c:
9124         * gst/gstutils.h:
9125         And 2% more doc coverage.
9126
9127 2005-10-21  Andy Wingo  <wingo@pobox.com>
9128
9129         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
9130         position reporting.
9131
9132 2005-10-20  Wim Taymans  <wim@fluendo.com>
9133
9134         * gst/gsterror.c: (gst_error_get_message):
9135         * gst/gstparse.h:
9136         * gst/gstquery.h:
9137         * gst/gststructure.c:
9138         * gst/gsttrace.c:
9139         * gst/gstutils.c:
9140         More docs.
9141
9142 2005-10-20  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/gstbuffer.h:
9145         * gst/gstpad.c:
9146         * gst/gstparse.c:
9147         Another 1% more coverage.
9148
9149 2005-10-20  Wim Taymans  <wim@fluendo.com>
9150
9151         * docs/gst/gstreamer-sections.txt:
9152         * gst/gstelement.c: (gst_element_get_state_func),
9153         (gst_element_abort_state), (gst_element_commit_state),
9154         (gst_element_lost_state):
9155         * gst/gstevent.h:
9156         * gst/gstquery.c: (gst_query_set_position),
9157         (gst_query_parse_position), (gst_query_set_duration),
9158         (gst_query_parse_duration), (gst_query_new_convert):
9159         * gst/gstutils.c:
9160         Yay! 1% more docs coverage.
9161
9162 2005-10-20  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/gstpad.h:
9165         * gst/gstquery.c: (gst_query_set_position),
9166         (gst_query_parse_position), (gst_query_set_duration),
9167         (gst_query_parse_duration), (gst_query_new_convert):
9168         * gst/gstquery.h:
9169         * gst/gstutils.c: (gst_element_query_convert):
9170         * gst/gstutils.h:
9171         Docs and consistency fixes.
9172
9173 2005-10-20  Wim Taymans  <wim@fluendo.com>
9174
9175         * gst/gsttask.c:
9176         * gst/gsttask.h:
9177         More docs.
9178
9179 2005-10-20  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/gstbin.c: (message_check), (bin_replace_message),
9182         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9183         (update_degree), (gst_bin_sort_iterator_next),
9184         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9185         Reworked the message handling a bit, cache the messages instead of
9186         only the senders. alows us to do more in the future.
9187
9188 2005-10-20  Wim Taymans  <wim@fluendo.com>
9189
9190         * docs/design/part-TODO.txt:
9191         Update TODO
9192
9193         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9194         (gst_base_sink_query):
9195         Don't use clock time to report position when in EOS.
9196
9197 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9198
9199         * tools/gst-inspect.c: (print_interfaces),
9200         (print_element_properties_info), (print_element_info):
9201           Fix interface output with gst-inspect -a; don't print
9202           newlines after double/float properties.
9203
9204 2005-10-20  Wim Taymans  <wim@fluendo.com>
9205
9206         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9207         (gst_base_sink_query):
9208         Speed up current position calculation.
9209
9210         * gst/base/gstbasesrc.c: (gst_base_src_query),
9211         (gst_base_src_default_newsegment):
9212         Correctly set stream position in newsegment.
9213
9214         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9215         (update_degree), (gst_bin_sort_iterator_next),
9216         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9217         * gst/gstmessage.c: (gst_message_new_custom):
9218         Clean up debugging info
9219
9220         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9221         (gst_queue_loop), (gst_queue_handle_src_query):
9222         Pause task faster.
9223
9224 2005-10-19  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9227         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9228         Fix query handling again.
9229
9230 2005-10-19  Wim Taymans  <wim@fluendo.com>
9231
9232         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9233         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9234         * gst/base/gstbasesrc.c: (gst_base_src_query):
9235         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9236         * gst/elements/gsttypefindelement.c:
9237         (gst_type_find_handle_src_query), (find_element_get_length),
9238         (gst_type_find_element_activate):
9239         API change fix.
9240
9241         * gst/gstquery.c: (gst_query_new_position),
9242         (gst_query_set_position), (gst_query_parse_position),
9243         (gst_query_new_duration), (gst_query_set_duration),
9244         (gst_query_parse_duration), (gst_query_set_segment),
9245         (gst_query_parse_segment):
9246         * gst/gstquery.h:
9247         Bundling query position/duration is not a good idea since duration
9248         does not change much and we don't want to recalculate it for every
9249         position query, so they are separated again..
9250         Base value in segment query is not needed.
9251
9252         * gst/gstqueue.c: (gst_queue_handle_src_query):
9253         * gst/gstutils.c: (gst_element_query_position),
9254         (gst_element_query_duration), (gst_pad_query_position),
9255         (gst_pad_query_duration):
9256         * gst/gstutils.h:
9257         Updates for query API change.
9258         Added some docs here and there.
9259
9260 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * check/gst/gstbin.c: (GST_START_TEST):
9263         * check/gst/gstghostpad.c: (GST_START_TEST):
9264         * check/pipelines/cleanup.c: (GST_START_TEST):
9265           wait on thread to die so we can check refcount correctly
9266
9267 2005-10-18  Wim Taymans  <wim@fluendo.com>
9268
9269         * check/pipelines/stress.c: (GST_START_TEST):
9270         Make check a little more time consuming.
9271
9272 2005-10-18  Wim Taymans  <wim@fluendo.com>
9273
9274         * check/Makefile.am:
9275         * check/pipelines/stress.c: (GST_START_TEST),
9276         (simple_launch_lines_suite), (main):
9277         Small state change torture test.
9278
9279         * docs/design/part-states.txt:
9280         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9281         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9282         (gst_base_sink_change_state):
9283         Never take state lock from streaming thread, clean up ugly
9284         hacks. Unfortunatly core does not yet support nice ways to
9285         async commit state.
9286         
9287         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9288         (bin_bus_handler):
9289         Start state recalc if a STATE_DIRTY message is posted, but only
9290         on the toplevel bin.
9291
9292         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9293         (gst_element_get_state_func), (gst_element_abort_state),
9294         (gst_element_commit_state), (gst_element_lost_state),
9295         (gst_element_set_state_func), (gst_element_change_state):
9296         * gst/gstelement.h:
9297         State variables are now protected with the LOCK, the state
9298         lock is only used to serialize _set_state().
9299
9300 2005-10-18  Wim Taymans  <wim@fluendo.com>
9301
9302         * check/gst/gstbin.c: (GST_START_TEST):
9303         * check/gst/gstmessage.c: (GST_START_TEST):
9304         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9305         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9306         (bin_bus_handler):
9307         * gst/gstelement.c: (gst_element_abort_state),
9308         (gst_element_commit_state), (gst_element_lost_state):
9309         * gst/gstmessage.c: (gst_message_new_state_changed),
9310         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9311         (gst_message_new_segment_done), (gst_message_new_duration),
9312         (gst_message_parse_state_changed),
9313         (gst_message_parse_segment_start),
9314         (gst_message_parse_segment_done), (gst_message_parse_duration):
9315         * gst/gstmessage.h:
9316         * tools/gst-launch.c: (event_loop):
9317         Seriously, this is better than a previous commit as we only need
9318         to notify the fact that an element changed state in a streaming
9319         thread, marking the state of the parents dirty, hence the 
9320         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9321         message.
9322
9323 2005-10-18  Wim Taymans  <wim@fluendo.com>
9324
9325         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9326         (gst_bin_recalc_func):
9327         * gst/gstelement.c: (gst_element_set_clock),
9328         (gst_element_abort_state), (gst_element_lost_state):
9329         Cleanups, prepare for state change fixes.
9330
9331 2005-10-18  Wim Taymans  <wim@fluendo.com>
9332
9333         * gst/gstbin.h:
9334         * gst/gstelement.c: (gst_element_class_init),
9335         (gst_element_set_state), (gst_element_set_state_func):
9336         * gst/gstelement.h:
9337         Pending ABI changes.
9338         GThreadPool in GstBinClass to monitor async state changes.
9339         state_cookie in GstElement to detect concurrent gst/set state.
9340         set_state is now virtual too in case a very complicated element
9341         has to be constructed.
9342
9343 2005-10-18  Wim Taymans  <wim@fluendo.com>
9344
9345         * check/gst/gstbin.c: (GST_START_TEST):
9346         * check/gst/gstmessage.c: (GST_START_TEST):
9347         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9348         * gst/gstbin.c: (bin_bus_handler):
9349         * gst/gstelement.c: (gst_element_commit_state),
9350         (gst_element_lost_state):
9351         * gst/gstmessage.c: (gst_message_new_state_changed),
9352         (gst_message_new_segment_start), (gst_message_new_segment_done),
9353         (gst_message_new_duration), (gst_message_parse_state_changed),
9354         (gst_message_parse_segment_start),
9355         (gst_message_parse_segment_done), (gst_message_parse_duration):
9356         * gst/gstmessage.h:
9357         * tools/gst-launch.c: (event_loop):
9358         Make messages future proof.
9359         state-change gets a flag if it was a message comming from the
9360         streaming thread.
9361         segment-start/stop can also be specified in other formats.
9362         A message to notify an app that a pipeline changed playback 
9363         duration.
9364         Also fix a GstMessage leak in -launch
9365
9366 2005-10-18  Andy Wingo  <wingo@pobox.com>
9367
9368         * gst/gstelement.c (gst_element_dispose): More helpful message.
9369
9370 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         reviewed by: <delete if not using a buddy>
9373
9374         * common/gtk-doc.mak:
9375
9376 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9377
9378         * gst/gstregistry.c: (gst_registry_scan_path_level):
9379           unref a plug-in we get that was already initialized
9380
9381 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9382
9383         * docs/gst/gstreamer-sections.txt:
9384         * docs/libs/gstreamer-libs-sections.txt:
9385         * gst/gstelement.h:
9386           add new api entries
9387           hide internal macro
9388
9389 2005-10-17  Andy Wingo  <wingo@pobox.com>
9390
9391         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9392         cleanup.
9393
9394         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9395
9396         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9397
9398         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9399         (gst_element_get_state_func): Better debug message.
9400         (gst_element_commit_state): s/INFO/DEBUG/.
9401         (gst_element_lost_state, gst_element_change_state): 
9402
9403         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9404         (gst_message_new_custom): s/INFO/LOG/.
9405
9406 2005-10-17  Michael Smith <msmith@fluendo.com>
9407
9408         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9409           Check if end time is valid using end time, not start time.
9410
9411 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9412
9413         * check/gst-libs/controller.c: (GST_START_TEST),
9414         (gst_controller_suite):
9415         * libs/gst/controller/gstcontroller.c:
9416         (gst_controlled_property_set_interpolation_mode):
9417         * libs/gst/controller/gstcontroller.h:
9418         * libs/gst/controller/gstinterpolation.c:
9419         * testsuite/controller/.cvsignore:
9420         * testsuite/controller/Makefile.am:
9421         * testsuite/controller/interpolator.c:
9422           merge controller testsuites
9423           fix broken tests
9424           remove mem-chunk from docs
9425
9426 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9427
9428         * gst/gstmemchunk.c:
9429         * gst/gstmemchunk.h:
9430         * gst/gsttrashstack.c:
9431         * gst/gsttrashstack.h:
9432           out.  get out.  you're fired.  to the Attic !
9433
9434 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9435
9436         * gst/gstcaps.c: (gst_caps_intersect):
9437           fix signedness issues in a (hopefully) correct way
9438         * gst/gstelement.c: (gst_element_pads_activate):
9439           some debugging
9440         * gst/gstobject.c: (gst_object_set_parent):
9441           some debugging
9442
9443 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9444
9445         * gst/gstvalue.h: Fix prototypes.
9446
9447 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9448
9449         * docs/gst/gstreamer-sections.txt:
9450         * gst/gst.c: (gst_version_string):
9451         * gst/gst.h:
9452         * gst/gstversion.h.in:
9453         * win32/common/libgstreamer.def:
9454           add gst_version_string ()
9455
9456 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * configure.ac:
9459           clean up further
9460         * gst/gst.c: (init_post):
9461         * win32/common/config.h.in:
9462           it's PLUGINDIR now
9463         * gst/gstcaps.c: (gst_caps_intersect):
9464           use gint64, the range could be bigger than a guint
9465
9466 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9467
9468         * gst/gstclock.h:
9469           document potential problem in 2038
9470
9471 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9472
9473         * gst/gstcaps.c: (gst_caps_intersect):
9474           Fix guint j diving under 0
9475
9476 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * configure.ac:
9479         * win32/common/config.h:
9480         * win32/common/config.h.in:
9481           check for process.h, declares getpid() on Windows
9482         * gst/gstinfo.c:
9483           include process.h if we have it
9484         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9485         * gst/gstmemchunk.h:
9486           fix signedness issues
9487         * win32/common/libgstreamer.def:
9488           fix get_type's
9489
9490 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9491
9492         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9493         fix. Because of unsigned ints, caps intersection was going nuts and
9494         trying to access structures with G_MAXUINT index. That fixes
9495         videotestsrc ! ffmpegcolorspace ! fakesink
9496         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9497         consistency.
9498
9499 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * configure.ac:
9502           use the gettext macro
9503         * gst/elements/gstelements.c:
9504         * gst/gst.c:
9505         * gst/indexers/gstindexers.c:
9506           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9507         * win32/common/config.h:
9508           updated config.h
9509         * win32/common/config.h.in:
9510           add the template to generate config.h
9511         * win32/common/gstenumtypes.c:
9512         * win32/common/gstversion.h:
9513           updated copies
9514
9515 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9516
9517         * gst/gst.c: (gst_version):
9518         * gst/gstversion.h.in:
9519           add the nano
9520
9521 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9522
9523         * gst/gstevent.h:
9524           Oops, add missing closing bracket.
9525
9526 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * configure.ac:
9529           use common m4's for argument checking
9530
9531 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9532
9533         * docs/gst/gstreamer-sections.txt:
9534         * gst/gstevent.h:
9535           Add GST_EVENT_TYPE_NAME() macro.
9536
9537 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9538
9539         * gst/gstinfo.c:
9540         * gst/gstpluginfeature.c:
9541         * gst/gsttask.c:
9542           privatize more symbols
9543
9544 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9545
9546         * configure.ac:
9547           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9548           everything that uses GStreamer API should have the includes
9549
9550 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9551
9552         * docs/gst/gstreamer-sections.txt:
9553         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9554         * gst/gstvalue.h:
9555           give each value a _get_type, removes the DATA exports
9556
9557 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * gst/gst.c:
9560         * gst/gst.h:
9561           remove _gst_registry_auto_load, not used anymore
9562         * gst/gstbin.c: (gst_bin_get_type):
9563         * gst/gstbin.h:
9564         * gst/gstelement.c: (gst_element_get_type):
9565         * gst/gstelement.h:
9566         * gst/gstobject.c: (gst_object_get_type):
9567         * gst/gstobject.h:
9568         * gst/gstpad.c: (gst_pad_get_type):
9569         * gst/gstpad.h:
9570           make _get_type functions similar, fixes data export from library
9571
9572 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * configure.ac:
9575           correctly make conditionals
9576         * gst/elements/Makefile.am:
9577         * gst/elements/gstelements.c:
9578           fix typo causing fdsrc not to build
9579
9580 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * testsuite/Makefile.am:
9583         * testsuite/bytestream/.cvsignore:
9584         * testsuite/bytestream/Makefile.am:
9585         * testsuite/bytestream/filepadsink.c:
9586         * testsuite/bytestream/gstbstest.c:
9587         * testsuite/bytestream/test1.c:
9588         * testsuite/bytestream/testfile1:
9589         * testsuite/caps/normalisation.c:
9590         * testsuite/caps/random.c: (main):
9591         * testsuite/cleanup/.cvsignore:
9592         * testsuite/cleanup/Makefile.am:
9593         * testsuite/cleanup/cleanup1.c:
9594         * testsuite/cleanup/cleanup2.c:
9595         * testsuite/cleanup/cleanup3.c:
9596         * testsuite/cleanup/cleanup4.c:
9597         * testsuite/cleanup/cleanup5.c:
9598         * testsuite/controller/interpolator.c:
9599         * testsuite/debug/printf_extension.c: (main):
9600         * testsuite/elements/tee.c:
9601         * testsuite/negotiation/.cvsignore:
9602         * testsuite/negotiation/Makefile.am:
9603         * testsuite/negotiation/pad_link.c:
9604         * testsuite/pad/Makefile.am:
9605         * testsuite/pad/chainnopull.c:
9606         * testsuite/pad/getnopush.c:
9607         * testsuite/pad/link.c:
9608         * testsuite/refcounting/sched.c: (create_pipeline):
9609         * testsuite/registry/Makefile.am:
9610         * testsuite/registry/gst-print-formats.c:
9611         * testsuite/schedulers/.cvsignore:
9612         * testsuite/schedulers/142183-2.c:
9613         * testsuite/schedulers/142183.c:
9614         * testsuite/schedulers/143777-2.c:
9615         * testsuite/schedulers/143777.c:
9616         * testsuite/schedulers/147713.c:
9617         * testsuite/schedulers/147819.c:
9618         * testsuite/schedulers/147894-2.c:
9619         * testsuite/schedulers/147894.c:
9620         * testsuite/schedulers/Makefile.am:
9621         * testsuite/schedulers/group_link.c:
9622         * testsuite/schedulers/queue_link.c:
9623         * testsuite/schedulers/relink.c:
9624         * testsuite/schedulers/unlink.c:
9625         * testsuite/schedulers/unref.c:
9626         * testsuite/schedulers/useless_iteration.c:
9627         * testsuite/states/bin.c:
9628           clean out/remove some stuff from the testsuite directories
9629
9630 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * configure.ac:
9633           check for some headers
9634         * gst/elements/Makefile.am:
9635         * gst/elements/gstelements.c:
9636           don't compile fdsrc without sys/socket.h
9637         * gst/indexers/Makefile.am:
9638         * gst/indexers/gstindexers.c: (plugin_init):
9639           don't compile fileindex without mmap
9640
9641 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9642
9643         * configure.ac:
9644           reorganize
9645           clean up
9646           document more
9647           remove cruft
9648         * check/Makefile.am:
9649         * docs/gst/Makefile.am:
9650         * examples/helloworld/Makefile.am:
9651         * gst/Makefile.am:
9652         * gst/base/Makefile.am:
9653         * gst/check/Makefile.am:
9654         * gst/elements/Makefile.am:
9655         * gst/indexers/Makefile.am:
9656         * gst/parse/Makefile.am:
9657         * libs/gst/controller/Makefile.am:
9658         * libs/gst/dataprotocol/Makefile.am:
9659         * examples/helloworld/helloworld.c: (event_loop):
9660           compile fixes, though it's not being compiled currently
9661
9662 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9663
9664         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9665           Add some simple tests for the new taglist date API.
9666
9667 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9670         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9671           Beautify 'last-message' output: print 'none' for buffer timestamps
9672           and durations if none is set; improve alignment with next messages.
9673
9674 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9675
9676         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9677         * gst/gstpluginfeature.h:
9678         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9679         * gst/gstregistry.h:
9680         * docs/gst/gstreamer-sections.txt:
9681           Add new API to check plugin feature version requirements.
9682
9683         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9684           Some basic tests for the above.         
9685
9686 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9687
9688         * gst/gststructure.c: (gst_structure_to_string):
9689           guard against NULL printf - happens when for example
9690           a message structure with GstClock gets serialized
9691
9692 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9693
9694         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9695           Fix presumable copy'n'pasto.
9696
9697 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * gst/elements/gstfakesrc.h:
9700         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9701         * gst/elements/gsttypefindelement.c:
9702           fix some signedness
9703         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9704           I wonder if this could actually write +2GB files before
9705
9706 2005-10-13  Andy Wingo  <wingo@pobox.com>
9707
9708         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9709         Fix Timmeke Waymans bug.
9710         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9711         string of the proper length to gst_caps_from_string. There's a
9712         potential for, before this fix, that this could cause someone
9713         connecting over the network to cause a segfault if the payload is
9714         not NUL-terminated.
9715
9716 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9717
9718         * docs/design/draft-push-pull.txt:
9719         * docs/design/part-overview.txt:
9720         * docs/random/TODO-pre-0.9:
9721         * docs/random/old/ChangeLog.gstreamer:
9722         * gst/base/gstpushsrc.c:
9723         * gst/gstclock.c:
9724           fixed typos
9725
9726 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * gst/glib-compat.c: (gst_flags_get_first_value):
9729         * gst/glib-compat.h:
9730         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9731         (gst_value_compare_double), (gst_value_serialize_flags):
9732           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9733           infinite loop
9734
9735 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9736
9737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9738         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9739           fix up debugging
9740         * tools/gst-launch.c: (event_loop):
9741           print out clock nicely
9742
9743 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9744
9745         * docs/gst/gstreamer-sections.txt:
9746         * gst/gsttaglist.h:
9747         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9748         (gst_tag_list_get_date_index):
9749           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9750           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9751
9752 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9753
9754         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9755         (gst_collectpads_chain):
9756         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9757         in CollectData.
9758
9759 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9760
9761         * docs/gst/gstreamer-sections.txt:
9762         * gst/gst.c:
9763         * gst/gsterror.h:
9764         * tools/gst-inspect.c: (main):
9765         * tools/gst-launch.c: (main):
9766         * tools/gst-run.c: (main):
9767         * tools/gst-xmlinspect.c: (main):
9768           fix GOption context leaks
9769           doc fixes
9770
9771 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9772
9773         * gst/gstbus.c:
9774           use HAVE_UNISTD_H
9775         * win32/common/config.h:
9776           update config
9777         * win32/vs6/grammar.dsp:
9778         * win32/vs6/libgstelements.dsp:
9779         * win32/vs6/libgstreamer.dsp:
9780           update vs6 files
9781
9782 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9783
9784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9785         * gst/base/gstbasesrc.c: (gst_base_src_query):
9786           fix more guint64<->gdouble conversions
9787
9788 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9789
9790         * Makefile.am:
9791           add win32-update target
9792         * win32/common/gstconfig.h:
9793         * win32/common/gstenumtypes.c:
9794         * win32/common/gstenumtypes.h:
9795         * win32/common/gstversion.h:
9796           add files that visual studio can't generate
9797
9798 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9799
9800         * Makefile.am:
9801           add a win32-update target
9802         * configure.ac:
9803
9804 2005-10-12  Wim Taymans  <wim@fluendo.com>
9805
9806         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9807         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9808         * gst/gstelement.c: (gst_element_commit_state),
9809         (gst_element_set_state):
9810         Protect flags with proper lock.
9811         unref provided cached clock in dispose.
9812
9813 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9814
9815         * gst/gst.c:
9816         * gst/gstminiobject.h:
9817         * gst/gstpad.h:
9818         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9819           removed unused flags from miniobject
9820           doc fixes
9821
9822 2005-10-12  Wim Taymans  <wim@fluendo.com>
9823
9824         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9825         (gst_file_sink_event), (gst_file_sink_render):
9826         Flush before seeking.
9827
9828 2005-10-12  Andy Wingo  <wingo@pobox.com>
9829
9830         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9831         always been the case.
9832
9833 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9834
9835         * check/gst/gstbin.c: (GST_START_TEST):
9836         * docs/gst/gstreamer-sections.txt:
9837         * gst/base/gstbasesink.c: (gst_base_sink_init):
9838         * gst/base/gstbasesrc.c: (gst_base_src_init),
9839         (gst_base_src_get_range), (gst_base_src_check_get_range),
9840         (gst_base_src_start), (gst_base_src_stop):
9841         * gst/base/gstbasesrc.h:
9842         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9843         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9844         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9845         (bin_bus_handler):
9846         * gst/gstbin.h:
9847         * gst/gstbuffer.h:
9848         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9849         * gst/gstbus.h:
9850         * gst/gstelement.c: (gst_element_is_locked_state),
9851         (gst_element_set_locked_state), (gst_element_commit_state),
9852         (gst_element_set_state):
9853         * gst/gstelement.h:
9854         * gst/gstindex.c: (gst_index_init):
9855         * gst/gstindex.h:
9856         * gst/gstminiobject.h:
9857         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9858         (gst_object_set_parent):
9859         * gst/gstobject.h:
9860         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9861         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9862         * gst/gstpad.h:
9863         * gst/gstpadtemplate.h:
9864         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9865         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9866         * gst/gstpipeline.h:
9867         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9868         (gst_file_index_commit):
9869         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9870         * testsuite/pad/link.c: (gst_test_src_init),
9871         (gst_test_filter_init), (gst_test_sink_init):
9872         * testsuite/states/locked.c: (main):
9873           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9874           moved bitshift from macro to enum definition
9875
9876 2005-10-12  Wim Taymans  <wim@fluendo.com>
9877
9878         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9879         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9880         (gst_file_sink_render):
9881         Some more debugging info.
9882
9883 2005-10-12  Wim Taymans  <wim@fluendo.com>
9884
9885         * docs/design/part-states.txt:
9886         * tools/gst-launch.c: (main):
9887         Some doc updates.
9888         Revert non-intentional change.
9889
9890 2005-10-12  Wim Taymans  <wim@fluendo.com>
9891
9892         * check/gst/gstbin.c: (GST_START_TEST):
9893         * check/gst/gstelement.c: (GST_START_TEST):
9894         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9895         * check/gst/gstghostpad.c: (GST_START_TEST):
9896         * check/gst/gstpipeline.c: (GST_START_TEST):
9897         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9898         * check/states/sinks.c: (GST_START_TEST):
9899         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9900         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9901         (gst_bin_remove_func), (gst_bin_get_state_func),
9902         (gst_bin_recalc_state), (gst_bin_change_state_func),
9903         (bin_bus_handler):
9904         * gst/gstelement.c: (gst_element_get_state_func),
9905         (gst_element_get_state), (gst_element_abort_state),
9906         (gst_element_commit_state), (gst_element_set_state),
9907         (gst_element_change_state), (gst_element_change_state_func):
9908         * gst/gstelement.h:
9909         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9910         (gst_pipeline_provide_clock_func):
9911         * gst/gstutils.c: (gst_element_link_pads_filtered):
9912         * tools/gst-launch.c: (main):
9913         * tools/gst-typefind.c: (main):
9914         Use GstClockTime in _get_state() instead of GTimeVal.
9915         Remove old code in gstutils.c
9916
9917 2005-10-12  Andy Wingo  <wingo@pobox.com>
9918
9919         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9920         removed.
9921
9922         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9923         there is no task. Shouldn't affect any code, as nothing in our
9924         plugins checks this return value.
9925         (gst_pad_stop_task): Also take the stream lock if the pad has no
9926         task. Docs updated.
9927
9928 2005-10-12  Wim Taymans  <wim@fluendo.com>
9929
9930         * gst/gstpad.c: (pre_activate), (post_activate),
9931         (gst_pad_activate_pull), (gst_pad_activate_push):
9932         Cleanup activation code. Reset old state if
9933         activation failed.
9934
9935 2005-10-12  Wim Taymans  <wim@fluendo.com>
9936
9937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9938         (gst_base_sink_change_state):
9939         No need to prerol after receiving EOS.
9940
9941         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9942         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9943         * gst/elements/gstidentity.c: (gst_identity_event):
9944         Print events more verbosely.
9945
9946 2005-10-12  Wim Taymans  <wim@fluendo.com>
9947
9948         * check/Makefile.am:
9949         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9950         * check/states/sinks2.c:
9951         Moved sinks2 testcode in sinks check.
9952
9953         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9954         (gst_bin_remove_func), (gst_bin_recalc_state),
9955         (gst_bin_change_state_func), (bin_bus_handler):
9956         Fix potential race condition when _get_state() iterated over an
9957         ASYNC element right before it posted a state completion.
9958
9959         * gst/gstclock.h:
9960         Do proper cast here.
9961
9962         * gst/gstevent.c: (gst_event_new_newsegment),
9963         (gst_event_parse_newsegment):
9964         A playback rate of 0.0 is not allowed.
9965
9966 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * win32/common/config.h:
9969         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9970         (_trewinddir), (_ttelldir), (_tseekdir):
9971         * win32/common/dirent.h:
9972         * win32/common/gtchar.h:
9973         * win32/common/libgstbase.def:
9974         * win32/common/libgstreamer.def:
9975         * win32/vs6/grammar.dsp:
9976         * win32/vs6/gst_inspect.dsp:
9977         * win32/vs6/gst_launch.dsp:
9978         * win32/vs6/gstreamer.dsw:
9979         * win32/vs6/libgstbase.dsp:
9980         * win32/vs6/libgstelements.dsp:
9981         * win32/vs6/libgstreamer.dsp:
9982           Visual Studio 6 project files, and a new common directory.
9983           Phear.
9984
9985 2005-10-11  Wim Taymans  <wim@fluendo.com>
9986
9987         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9988         (gst_base_sink_do_sync), (gst_base_sink_query),
9989         (gst_base_sink_change_state):
9990         * gst/base/gstbasesink.h:
9991         Correctly parse newsegment info.
9992
9993 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9994
9995         * gst/gst.c: (init_post):
9996           split plugin paths correctly
9997
9998 2005-10-11  Wim Taymans  <wim@fluendo.com>
9999
10000         * check/gst/gstevent.c: (GST_START_TEST):
10001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10002         (gst_base_sink_change_state):
10003         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10004         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10005         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10006         * gst/gstevent.c: (gst_event_new_newsegment),
10007         (gst_event_parse_newsegment):
10008         * gst/gstevent.h:
10009         Added extra flag to newsegment for future API freeze.
10010         Updated check and base elements.
10011
10012 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10013
10014         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10015         (gst_collectpads_add_pad), (gst_collectpads_pop),
10016         (gst_collectpads_event), (gst_collectpads_chain):
10017         * gst/base/gstcollectpads.h: Handle EOS correctly.
10018
10019 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * tools/gst-launch.c: (main):
10022           more null protecting
10023
10024 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10025
10026         * gst/gst-i18n-lib.h:
10027           check for ENABLE_NLS, not GETTEXT_PACKAGE
10028         * gst/gstregistry.c: (gst_registry_add_plugin),
10029         (gst_registry_scan_path_level),
10030         (_gst_registry_remove_cache_plugins):
10031           protect possibly NULL strings
10032         * gst/parse/types.h:
10033           config.h already included before
10034         * tools/gst-inspect.c: (main):
10035           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10036           check for ENABLE_NLS, not GETTEXT_PACKAGE
10037         * tools/gst-launch.c: (main):
10038           check for ENABLE_NLS, not GETTEXT_PACKAGE
10039
10040 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * configure.ac:
10043           if we don't have glib, fail before testing 2.8
10044         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10045           fix a leak, should fix plugins-base testsuite
10046
10047 2005-10-11  Andy Wingo  <wingo@pobox.com>
10048
10049         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10050         take the mode we're going to as an arg. Go head and set the mode
10051         and flushing flags now, so that if the activate function starts a
10052         thread all the flags will be in the right state.
10053         (post_activate): Renamed also. Just handle making sure streaming
10054         finishes for the deactivation case, and setting the deactivated
10055         mode.
10056         (gst_pad_set_active): Complain loudly if deactivation fails.
10057         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10058         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10059         remove the terrible hack.
10060
10061 2005-10-11  Wim Taymans  <wim@fluendo.com>
10062
10063         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10064         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10065         (gst_bin_recalc_state), (gst_bin_change_state_func),
10066         (gst_bin_dispose), (bin_bus_handler):
10067         * gst/gstbin.h:
10068         Prepare to make current EOS message queue more generic.
10069         Fix some typos.
10070
10071         * gst/gstevent.c: (gst_event_new_newsegment),
10072         (gst_event_parse_newsegment):
10073         * gst/gstevent.h:
10074         Rename base to stream_time.
10075
10076         * gst/gstmessage.h:
10077         Fix typo in docs.
10078
10079 2005-10-11  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10082         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10083         (gst_bin_change_state_func), (bin_bus_handler):
10084         * gst/gstbin.h:
10085         Work on proper clock selection.
10086
10087 2005-10-11  Edward Hervey  <edward@fluendo.com>
10088
10089         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10090         * libs/gst/controller/gstcontroller.h:
10091         Added GList* version of _remove_properties() in order to be able to wrap
10092         it in bindings.
10093
10094 2005-10-11  Wim Taymans  <wim@fluendo.com>
10095
10096         * docs/design/part-states.txt:
10097         Some more docs.
10098
10099         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10100         (gst_bin_change_state_func), (bin_bus_handler):
10101         Doc updates. Don't distribute the same clock over and over again.
10102
10103         * gst/gstclock.c:
10104         * gst/gstclock.h:
10105         Doc updates.
10106
10107         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10108         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10109         (gst_pad_send_event):
10110         * gst/gstpad.h:
10111         Make probe emission threadsafe again.
10112         Register quarks and move _get_name() from utils.
10113         Doc updates.
10114
10115         * gst/gstpipeline.c: (gst_pipeline_class_init),
10116         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10117         Only redistribute the clock of it changed.
10118
10119         * gst/gstsystemclock.h:
10120         Doc updates. 
10121
10122         * gst/gstutils.c:
10123         * gst/gstutils.h:
10124         Moved the _flow_get_name() to GstPad.
10125
10126 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * check/gst-libs/gdp.c: (GST_START_TEST):
10129         * check/gst/gstcaps.c: (GST_START_TEST):
10130         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
10131         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
10132         (gst_dp_packet_from_caps):
10133           fix more valgrind warnings before turning up the heat
10134
10135 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10136
10137         * gst/parse/grammar.y:
10138           some cleanup before the hacking
10139
10140 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * gst/base/gstbasesrc.c: (gst_base_src_query):
10143           use conversions
10144         * gst/gstutils.c: (gst_guint64_to_gdouble),
10145         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
10146         * gst/gstutils.h:
10147           externalize, basesrc uses it
10148           obviously the implementation needs testing
10149
10150 2005-10-10  Wim Taymans  <wim@fluendo.com>
10151
10152         * tests/sched/Makefile.am:
10153         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
10154         (make_pipeline3), (make_pipeline4), (print_elem), (main):
10155
10156 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
10159           apparently converting from guint64 to double is not implemented
10160           on MSVC
10161
10162 2005-10-10  Wim Taymans  <wim@fluendo.com>
10163
10164         * check/Makefile.am:
10165         * check/generic/states.c: (GST_START_TEST):
10166         * check/gst/gstbin.c: (GST_START_TEST):
10167         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10168         * check/states/sinks.c: (GST_START_TEST):
10169         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10170         (main):
10171         Check fixes, use API as stated in design docs, remove hacks.
10172
10173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10174         (gst_base_sink_change_state):
10175         Catch stopping our task while we're shutting down.
10176
10177         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10178         (gst_bin_remove_func), (gst_bin_get_state_func),
10179         (gst_bin_recalc_state), (gst_bin_change_state_func),
10180         (bin_bus_handler):
10181         * gst/gstbin.h:
10182         * gst/gstelement.c: (gst_element_init),
10183         (gst_element_get_state_func), (gst_element_abort_state),
10184         (gst_element_commit_state), (gst_element_lost_state),
10185         (gst_element_set_state), (gst_element_change_state),
10186         (gst_element_change_state_func):
10187         * gst/gstelement.h:
10188         New state change algorithm (see #318116)
10189
10190         * gst/gstpipeline.c: (gst_pipeline_class_init),
10191         (gst_pipeline_init), (gst_pipeline_set_property),
10192         (gst_pipeline_get_property), (do_pipeline_seek),
10193         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10194         * gst/gstpipeline.h:
10195         Remove crude state change hacks.
10196
10197         * gst/gstutils.h:
10198         Remove crude hacks.
10199
10200         * tools/gst-launch.c: (main):
10201         Fixes for state change. Needs some more work to fully use the
10202         new stuff.
10203
10204 2005-10-10  Andy Wingo  <wingo@pobox.com>
10205
10206         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10207
10208         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10209         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10210         issue.
10211
10212 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10213
10214         * gst/gstiterator.c: (gst_iterator_new):
10215           Fix my previous commit: GTypes passed to gst_iterator_new()
10216           can be fundamental types.
10217
10218 2005-10-10  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstelement.c: (gst_element_iterate_pad_list),
10221         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10222         (gst_element_iterate_sink_pads):
10223         Use src/sink pads lists for the respective iterators instead
10224         of filtering.
10225
10226 2005-10-10  Andy Wingo  <wingo@pobox.com>
10227
10228         Merged in popt removal + GOption addition patch from Ronald, bug
10229         #169772.
10230
10231         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10232         GstElement macros around, remove popt-related symbols, add goption
10233         stuff.
10234
10235         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10236         
10237         * docs/gst/Makefile.am:
10238         * docs/libs/Makefile.am: No POPT_CFLAGS.
10239         
10240         * examples/manual/Makefile.am:
10241         * docs/manual/basics-init.xml: Doc updates with an example.
10242         
10243         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10244         (gst_init), (parse_one_option), (parse_goption_arg):
10245         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10246         bit of hand merging and debugging to get the GOption stuff working
10247         tho.
10248         
10249         * tests/Makefile.am:
10250         * tools/Makefile.am:
10251         * tools/gst-inspect.c: (main):
10252         * tools/gst-launch.c: (main):
10253         * tools/gst-run.c: (main):
10254         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10255
10256 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10257
10258         * gst/gstiterator.c: (gst_iterator_new):
10259           Add assertions to make sure passed GType is likely to really
10260           be a GType (as the compiler won't catch it if the size and
10261           GType arguments get mixed up, see #318447).
10262
10263 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10264
10265         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10266
10267         * gst/gstbin.c: (gst_bin_iterate_sorted):
10268           Pass GType and size arguments to gst_iterator_new() in the right
10269           order (maybe we should make _new() take the GType as first argument
10270           just like _new_list()?) (#318447).
10271           
10272
10273 2005-10-10  Wim Taymans  <wim@fluendo.com>
10274
10275         * gst/gstelement.c: (gst_element_finalize):
10276         And free the GStaticRecMutex too
10277
10278 2005-10-10  Andy Wingo  <wingo@pobox.com>
10279
10280         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10281         Allocate and free the mutex properly.
10282
10283         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10284         New macros.
10285         (GstElement): The state_lock is now recursive. Rebuild your
10286         plugins, suckers. Old macros adapted.
10287
10288         * docs/gst/gstreamer-sections.txt: Doc updates.
10289
10290         * gst/gstutils.h:
10291         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10292         (g_static_rec_cond_wait): Ported from state changes patch, while
10293         we wait on bug #317802 to be solved in a well-distributed GLib.
10294
10295         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10296         gst_element_change_state, variable name changes.
10297         (gst_element_change_state): Split out of gst_element_set_state in
10298         preparation for the state change merge. Doesn't pay attention to
10299         the 'transition' argument.
10300         (gst_element_set_state): Updates, hopefully purely cosmetic.
10301         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10302         state change patch.
10303         (gst_element_get_state_func): Renamed from get_state, cosmetic
10304         changes.
10305
10306 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * gst/elements/gstelements.c:
10309         * win32/GStreamer.vcproj:
10310         * win32/config.h:
10311         * win32/dirent.c: (_tseekdir):
10312         * win32/gst-inspect.vcproj:
10313         * win32/gst-launch.vcproj:
10314         * win32/gstconfig.h:
10315         * win32/gstelements.vcproj:
10316         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10317         * win32/gstreamer.def:
10318         * win32/msvc71.sln:
10319           updates for the win32 build (patch from Sebastien Moutte)
10320
10321 2005-10-10  Andy Wingo  <wingo@pobox.com>
10322
10323         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10324         gst_bin_get_state, cleaned up (but no logic changes).
10325         (bin_element_is_sink): Comment updates.
10326         (sink_iterator_filter): Remove needless cast.
10327         (gst_bin_iterate_sinks): Doc update.
10328         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10329         cleaned up (but no logic changes).
10330
10331         * check/states/sinks.c (test_src_sink): Cleanups from the state
10332         change patch.
10333         (test_livesrc_sink): Sync on the state.
10334
10335         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10336         the state change patch.
10337
10338         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10339         change patch.
10340
10341         * check/gst/gstbin.c: Merge in some style fixes and additional
10342         checks from Wim's state change patch.
10343
10344 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10345
10346         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10347         (gst_type_find_helper):
10348           Check whether we have the requested data already in our list of
10349           cached buffers before pulling a new buffer; also make the buffer
10350           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10351
10352 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10353
10354         * gst/gstcaps.c:
10355         * gst/gstevent.c:
10356           doc updates
10357         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10358           don't use long long, it's not portable.  Replacing with
10359           gint64 seems to work; let's hope no skeletons fall out of the closet.
10360
10361 2005-10-10  Andy Wingo  <wingo@pobox.com>
10362
10363         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10364
10365 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10366
10367         * docs/gst/gstreamer-sections.txt:
10368         * gst/gstevent.c:
10369         * gst/gstevent.h:
10370         * gst/gstinfo.c:
10371         * gst/gstinfo.h:
10372         * gst/gstmessage.c: (gst_message_parse_state_changed):
10373         * gst/gstpad.c:
10374         * gst/gstpad.h:
10375           more docs, fix compilation
10376
10377 2005-10-09  Philippe Khalaf <burger@speedy.org>
10378         * gst/gstmessage.c:
10379           Fixed a few forgotten variables on previous commit
10380
10381 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10382
10383         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10384           Fix evil typefind crasher: getrange() might return a short
10385           buffer at the end of a file, but gst_type_find_peek() must
10386           either return the full data as requested or NULL, but
10387           never a short buffer.
10388
10389 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * gst/gstmessage.c: (gst_message_new_state_changed),
10392         (gst_message_parse_state_changed):
10393         * gst/gstmessage.h:
10394           don't use "new", it's a C++ keyword
10395
10396 2005-10-08  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10399         * gst/gstelement.c: (gst_element_post_message):
10400         * gst/gstpipeline.c: (gst_pipeline_change_state):
10401         Small docs and debug updates.
10402
10403 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10404
10405         * docs/gst/gstreamer-sections.txt:
10406         * gst/gstelementfactory.c:
10407         * gst/gstevent.c:
10408         * gst/gsttaglist.c:
10409           more docs
10410
10411 2005-10-08  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10414         (gst_bin_dispose), (bin_bus_handler):
10415         Fix typos, add comments.
10416         Clear EOS list when going to PAUSED from any direction and do it
10417         in a threadsafe way.
10418         Get base time in a threadsafe way too.
10419         Fix confusing debug in the change_state function.
10420         Various other small cleanups.
10421         
10422         * gst/gstelement.c: (gst_element_post_message):
10423         Fix very verbose bus posting code.
10424
10425         * gst/gstpipeline.c: (gst_pipeline_class_init),
10426         (gst_pipeline_set_property), (gst_pipeline_get_property),
10427         (gst_pipeline_change_state):
10428         Small ARG_ -> PROP_ cleanup
10429
10430 2005-10-08  Wim Taymans  <wim@fluendo.com>
10431
10432         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10433         Do a less CPU demanding EOS check because we can.
10434
10435 2005-10-08  Wim Taymans  <wim@fluendo.com>
10436
10437         * libs/gst/dataprotocol/dataprotocol.c:
10438         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10439         (gst_dp_packet_from_event):
10440         * libs/gst/dataprotocol/dataprotocol.h:
10441         * libs/gst/dataprotocol/dp-private.h:
10442         It's about time we bump the version number.
10443         Since event types don't fit in the guint8 anymore describing
10444         the payload type, make payload type 16 bits wide.
10445
10446 2005-10-08  Wim Taymans  <wim@fluendo.com>
10447
10448         * docs/design/part-TODO.txt:
10449         * docs/design/part-clocks.txt:
10450         * docs/design/part-events.txt:
10451         * docs/design/part-gstbin.txt:
10452         * docs/design/part-gstelement.txt:
10453         * docs/design/part-gstpipeline.txt:
10454         * docs/design/part-live-source.txt:
10455         * docs/design/part-messages.txt:
10456         * docs/design/part-overview.txt:
10457         * docs/design/part-states.txt:
10458         Many doc updates.
10459
10460 2005-10-08  Wim Taymans  <wim@fluendo.com>
10461
10462         * gst/gstevent.c:
10463         * gst/gstevent.h:
10464         Fix event quark registration.
10465         Add some space between events so we can insert them in the
10466         right groups.
10467
10468 2005-10-08  Wim Taymans  <wim@fluendo.com>
10469
10470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10471         (gst_base_sink_handle_buffer):
10472         Better log message.
10473
10474         * gst/gstbus.h:
10475         * gst/gstelement.h:
10476         More docs.
10477
10478         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10479         (gst_queue_set_property), (gst_queue_get_property):
10480         * gst/gstqueue.h:
10481         Remove old unused properties.
10482
10483 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10484         * docs/gst/gstreamer-sections.txt:
10485         * gst/gstmessage.c:
10486         * gst/gstmessage.h:
10487         * gst/gstminiobject.c:
10488         * gst/gstminiobject.h:
10489         * gst/gstobject.h:
10490         * gst/gstpad.h:
10491         * gst/gstutils.h:
10492           lots of new docs and doc fixes
10493
10494 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10497         * gst/gstplugin.h:
10498         * gst/gstregistry.c: (gst_registry_lookup_locked),
10499         (gst_registry_scan_path_level):
10500         * gst/gstregistryxml.c: (load_plugin):
10501           Only ever load one plugin for a given plugin basename.
10502           This ensures correct overriding of GST_PLUGIN_PATH over
10503           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10504           system installed plugins.
10505
10506 2005-10-08  Wim Taymans  <wim@fluendo.com>
10507
10508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10509         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10510         Prepare for doing QOS.
10511
10512 2005-10-08  Wim Taymans  <wim@fluendo.com>
10513
10514         * check/gst/gstbin.c: (GST_START_TEST):
10515         * check/pipelines/cleanup.c: (GST_START_TEST):
10516         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10517         Allow new clock message too.
10518
10519 2005-10-08  Wim Taymans  <wim@fluendo.com>
10520
10521         * gst/gstmessage.c: (gst_message_new_error),
10522         (gst_message_new_warning), (gst_message_new_tag),
10523         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10524         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10525         (gst_message_new_segment_start), (gst_message_new_segment_done),
10526         (gst_message_parse_state_changed),
10527         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10528         (gst_message_parse_new_clock):
10529         * gst/gstmessage.h:
10530         Also carry the clock in question.
10531
10532 2005-10-08  Wim Taymans  <wim@fluendo.com>
10533
10534         * gst/gstmessage.c: (gst_message_new_custom),
10535         (gst_message_new_eos), (gst_message_new_error),
10536         (gst_message_new_warning), (gst_message_new_tag),
10537         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10538         (gst_message_new_new_clock), (gst_message_new_segment_start),
10539         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10540         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10541         * gst/gstmessage.h:
10542         Clean up.
10543         Added clock related messages.
10544
10545         * gst/gstpipeline.c: (gst_pipeline_change_state):
10546         Post message when the clock changed.
10547
10548         * tools/gst-launch.c: (event_loop):
10549         Print new clock.
10550
10551 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * tools/gst-inspect.c: (print_element_properties_info):
10554           Can't pass NULL strings to g_print() on windows.
10555
10556 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10557
10558         * docs/Makefile.am:
10559         * docs/gst/Makefile.am:
10560         * docs/gst/gstreamer-docs.sgml:
10561         * docs/gst/running.xml:
10562         * docs/version.entities.in:
10563           add a chapter on running GStreamer.
10564           document GST_DEBUG and GST_PLUGIN* env vars
10565
10566 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10567
10568         * Makefile.am:
10569           remove include dir
10570         * configure.ac:
10571           remove PLUGINS_BUILDDIR stuff
10572         * gst/gst.c: (init_post):
10573           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10574         * idiottest.mak:
10575           remove, it was condescending and not needed
10576
10577 2005-10-08  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10580         (gst_base_sink_handle_object), (gst_base_sink_event),
10581         (gst_base_sink_wait), (gst_base_sink_handle_event),
10582         (gst_base_sink_change_state):
10583         * gst/base/gstbasesink.h:
10584         Repost EOS message while going to PLAYING if still EOS.
10585         Make sure that when receiving a FLUSH_START we don't attempt
10586         to sync on the clock anymore.
10587
10588 2005-10-08  Wim Taymans  <wim@fluendo.com>
10589
10590         * tools/gst-launch.c: (event_loop):
10591         Better message printout.
10592
10593 2005-10-08  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10596         (gst_bin_child_proxy_get_children_count):
10597         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10598         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10599         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10600         (gst_child_proxy_set_valist):
10601         * gst/parse/grammar.y:
10602         Make ChildProxy threadsafe and fix mem leaks.
10603
10604 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * gst/gst.c: (init_post):
10607           debug the GST_PLUGIN_ env vars
10608
10609 2005-10-08  Wim Taymans  <wim@fluendo.com>
10610
10611         * check/gst/gstbin.c: (GST_START_TEST):
10612         * check/gst/gstmessage.c: (GST_START_TEST):
10613         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10614         * gst/gstelement.c: (gst_element_commit_state),
10615         (gst_element_lost_state):
10616         * gst/gstmessage.c: (gst_message_new_state_changed),
10617         (gst_message_parse_state_changed):
10618         * gst/gstmessage.h:
10619         * tools/gst-launch.c: (event_loop):
10620         Added extra field to STATE_CHANGE message with the pending
10621         state, which will be different from the new state soon.
10622
10623 2005-10-08  Wim Taymans  <wim@fluendo.com>
10624
10625         * gst/gstbus.c: (gst_bus_pop):
10626         * gst/gstclock.c:
10627         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10628         Small cleanups and doc updates.
10629
10630 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * gst/gst.c: (init_pre):
10633         * gst/gstbin.c: (gst_bin_add_func):
10634           log distributing clocks and base time
10635         * gst/gstregistry.c: (gst_registry_add_plugin),
10636         (gst_registry_scan_path_level), (gst_registry_scan_path):
10637           clean up the debugging output a little
10638         * gst/gstutils.c: (gst_element_state_get_name):
10639           warn about a memleak (I've actually seen this be used, though
10640           it was probably a bug)
10641
10642 2005-10-07  Wim Taymans  <wim@fluendo.com>
10643
10644         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10645         (gst_base_src_init), (gst_base_src_default_newsegment),
10646         (gst_base_src_newsegment), (gst_base_src_do_seek),
10647         (gst_base_src_loop), (gst_base_src_start):
10648         * gst/base/gstbasesrc.h:
10649         Make the newsegment event customizable by subclasses.
10650
10651 2005-10-07  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/gstevent.c: (gst_event_new_buffersize),
10654         (gst_event_parse_buffersize):
10655         * gst/gstevent.h:
10656         New event for future idea.
10657
10658 2005-10-07  Andy Wingo  <wingo@pobox.com>
10659
10660         * gst/gstelement.c (gst_element_post_message): Doc update.
10661
10662         * docs/gst/gstreamer-sections.txt: Update.
10663
10664         * gst/gstmessage.c (gst_message_new_application): Made into a
10665         function like honest API calls.
10666         (gst_message_new_element): New message type.
10667
10668         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10669
10670         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10671         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10672         times.
10673
10674         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10675         NO_PREROLL from gst_element_change_state to fall through.
10676
10677 2005-10-07  Wim Taymans  <wim@fluendo.com>
10678
10679         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10680         (gst_ghost_pad_do_activate_push):
10681         Activating a ghostpad with no internal pad in push mode
10682         is ok.
10683
10684 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10685
10686         * gst/gstobject.h:
10687           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10688           Fixes compilation on Windows.
10689
10690 2005-10-07  Michael Smith <msmith@fluendo.com>
10691
10692         * tools/gst-inspect.c:
10693           Print out feature and plugin count at the end when printing out
10694           all features.
10695
10696 2005-10-04  Michael Smith <msmith@fluendo.com>
10697
10698         * gst/gsterror.c: (_gst_stream_errors_init):
10699           Add another error string used in a few existing plugins.
10700
10701         * gst/gstplugin.c:
10702         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10703         * tools/gst-inspect.c: (print_element_info):
10704           When a feature disappears from a plugin (and the feature exists in
10705           the cached registry file), things went horribly wrong. This isn't a
10706           complete fix, we should actually be removing the 'missing' features
10707           from the features list when we load the actual plugin. That's not
10708           yet implemented. 
10709
10710 2005-10-04  Johan Dahlin  <johan@gnome.org>
10711
10712         * check/gst/gstiterator.c: (GST_START_TEST):
10713         * gst/gstbin.c: (gst_bin_iterate_elements),
10714         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10715         * gst/gstelement.c: (gst_element_iterate_pads):
10716         * gst/gstformat.c: (gst_format_iterate_definitions):
10717         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10718         (gst_iterator_new_list), (gst_iterator_filter):
10719         * gst/gstiterator.h:
10720         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10721         Add a GType to GstIterator, update callsites and tests.
10722
10723 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10726           give events a chance to be handled by event probes when the pad
10727           is not linked
10728
10729 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * gst/gstevent.c: (gst_event_type_get_name),
10732         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10733         * gst/gstevent.h:
10734           add string representations for event types
10735
10736 2005-10-06  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10739         Don't use NULL pointers.
10740
10741 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * gst/gst_private.h:
10744         * gst/gstbus.c:
10745         * gst/gstelement.c:
10746         * gst/gstinfo.c:
10747         * gst/gstpluginfeature.c:
10748           widen the debug category in output to fit the biggest one we have
10749           add a bus category and use it
10750           play with the colors
10751           fix up some categories
10752
10753 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10756           add push activation of sink ghost pads.
10757           Andye, please verify
10758
10759 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10760
10761         * gst/gstutils.c: (gst_element_link_pads):
10762           fix a bug in the case where neither element has a pad
10763         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10764           add a test for that case
10765
10766 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10767
10768         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10769           emit have-data before checking for peers.  This allows
10770           for probe handlers to connect elements.  This helps autopluggers.
10771         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10772         (gst_pad_suite):
10773           add six checks, linked/unlinked with no/true/false probe
10774
10775 2005-10-04  Wim Taymans  <wim@fluendo.com>
10776
10777         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10778         (gst_fake_sink_event), (gst_fake_sink_preroll),
10779         (gst_fake_sink_render), (gst_fake_sink_change_state):
10780         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10781         (gst_fake_src_get_property), (gst_fake_src_create),
10782         (gst_fake_src_stop):
10783         * gst/elements/gstidentity.c: (gst_identity_stop):
10784         Protect last_message with lock.
10785
10786 2005-10-04  Edward Hervey  <edward@fluendo.com>
10787
10788         * gst/gstformat.h: 
10789         Added precision in the comments for GST_FORMAT_DEFAULT
10790
10791 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10792
10793         * tools/gst-launch.c: (main):
10794           Don't try to run erroneous pipelines.
10795
10796 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10797
10798         * gst/gstbus.c: We don't need this header.
10799
10800 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10801
10802         * configure.ac:
10803           back to development
10804
10805 === release 0.9.3 ===
10806
10807 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10808
10809         * README:
10810         * configure.ac:
10811           Releasing 0.9.3, "Unregistered"
10812
10813 2005-10-03  Andy Wingo  <wingo@pobox.com>
10814
10815         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10816         whereby calling a pad's activatepush() function can start a thread
10817         that starts to push or pull before the pad gets the FLUSHING flag
10818         unset. Hack around it by holding the stream lock until the flag is
10819         set. Need to replace this with a proper solution. Together with
10820         the ghost pad fixes, this fixes mp3 playing/tagreading.
10821
10822         * docs/design/part-gstghostpad.txt: Add a note about activation of
10823         proxy pads outside of ghost pads.
10824
10825         * gst/gstghostpad.c: Implement the ghost pad activation design.
10826
10827 2005-10-02  Andy Wingo  <wingo@pobox.com>
10828
10829         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10830         It is volatile, after all.
10831
10832         * docs/design/part-gstghostpad.txt: Flesh out activation with
10833         ghost pads.
10834
10835         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10836         GST_DEBUG_FUNCPTR.
10837
10838 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10839
10840         * configure.ac:
10841           Fix (unused) AM_CONDITIONAL tests.
10842
10843 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10844
10845         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10846
10847         * gst/gstutils.c: (gst_pad_query_convert):
10848           Add assertion that makes sure src_val is >=0, just like
10849           gst_query_new_convert() has. (#315895)
10850
10851 2005-09-30  Edward Hervey  <edward@fluendo.com>
10852
10853         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10854         Let's not iterate pads we're not interested in, it avoids getting 
10855         sky-high refcounts on sinkpad.
10856
10857 2005-09-30  Wim Taymans  <wim@fluendo.com>
10858
10859         * gst/gstelement.c: (gst_element_set_state),
10860         (gst_element_change_state):
10861         Small tweak, element in ASYNC remains ASYNC.
10862
10863 2005-09-30  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10866         Only error is an error.
10867
10868         * gst/gstbin.c: (gst_bin_change_state):
10869         Better debugging.
10870
10871         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10872         Also call pad_block in pad alloc.
10873
10874         * gst/gstutils.c: (gst_flow_get_name):
10875         Better debugging.
10876
10877 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10878
10879         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10880         (gst_base_src_get_range):
10881           Fix documentation typos. Add some more debug info.
10882
10883 2005-09-29  David Schleef  <ds@schleef.org>
10884
10885         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10886           more end-user friendly.
10887         * tools/gst-inspect.c: (main): Check if command-line argument is
10888           a file and attempt to load that file as a plugin.
10889
10890 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * check/gst/gstbin.c:
10893         * check/states/sinks.c:
10894           fix tests for the new warning
10895         * check/gst/gstpipeline.c:
10896           add a test for pipeline and bus interaction
10897         * gst/gstelement.c:
10898           elements should be NULL if they get disposed; add a warning if not
10899
10900 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * gst/gstobject.c:
10903           for 2.6 refcounting, make debug log more correct by printing
10904           the actual refcounts at the time of swap (Wim)
10905
10906 2005-09-29  Andy Wingo  <wingo@pobox.com>
10907
10908         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10909         removes signal watches previously added via
10910         gst_bus_add_signal_watch.
10911         (gst_bus_add_signal_watch): Don't return the source id, just store
10912         it on the bus if there wasn't an id already.
10913
10914         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10915         add_signal_watch and remove_signal_watch.
10916
10917 2005-09-29  Edward Hervey  <edward@fluendo.com>
10918
10919         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10920         Better if we actually iterate the list :)
10921
10922 2005-09-29  Wim Taymans  <wim@fluendo.com>
10923
10924         * check/gst/gstbin.c: (GST_START_TEST):
10925         Change for new bus API.
10926
10927         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10928         (send_messages), (GST_START_TEST), (gstbus_suite):
10929         Change for new bus signal API.
10930
10931         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10932         (gst_bus_source_prepare), (gst_bus_source_check),
10933         (gst_bus_create_watch), (gst_bus_add_watch_full),
10934         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10935         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10936         * gst/gstbus.h:
10937         Remove support for multiple GSources operating on different
10938         message types as it is too complex and unneeded when using
10939         signals.
10940         Added support for receiving signals from the bus.
10941
10942 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10943
10944         * docs/libs/tmpl/gstdataprotocol.sgml:
10945         * docs/manual/advanced-dataaccess.xml:
10946         * gst/elements/gstcapsfilter.c:
10947         * gst/gstutils.c:
10948           rename filter-caps to caps property
10949
10950 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10953           More robust fraction string parsing.
10954
10955         * docs/pwg/appendix-porting.xml:
10956           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10957
10958 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10959
10960         * gst/gstcaps.c: (gst_caps_do_simplify):
10961           Thou shalt not free a structure and then continue using it
10962           in the next loop iteration.
10963
10964         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10965         (gst_caps_suite):
10966           Add test case for caps simplification.
10967
10968 2005-09-29  Wim Taymans  <wim@fluendo.com>
10969
10970         * check/gst/gstbin.c: (GST_START_TEST):
10971         Oops.
10972
10973 2005-09-29  Wim Taymans  <wim@fluendo.com>
10974
10975         * check/gst/gstbin.c: (GST_START_TEST):
10976         Add bus to bin.
10977
10978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10979         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10980         (find_element), (gst_bin_sort_iterator_next),
10981         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10982         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10983         (gst_bin_change_state), (gst_bin_dispose):
10984         A bin does not have a bus, it gets the bus from the parent.
10985
10986         * gst/gstelement.c: (gst_element_requires_clock),
10987         (gst_element_provides_clock), (gst_element_is_indexable),
10988         (gst_element_is_locked_state), (gst_element_change_state),
10989         (gst_element_set_bus_func):
10990         Small cleanups.
10991
10992         * gst/gstpipeline.c: (gst_pipeline_class_init),
10993         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10994         The pipeline provides a bus.
10995
10996 2005-09-28  Johan Dahlin  <johan@gnome.org>
10997
10998         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10999         gst_structure_get_enum instead of gst_structure_get_int
11000
11001         * gst/gststructure.c (gst_structure_get_enum): Impl.
11002
11003         * gst/gststructure.h (gst_structure_get_enum): Add
11004
11005         * docs/gst/gstreamer-sections.txt: Ditto
11006
11007         * gst/gstmessage.c (gst_message_new_state_changed): Use
11008         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11009         which does introspection.
11010         Reviewed by Christian Schaller
11011
11012 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11013
11014         * gst/gstinfo.c: (gst_debug_log_default):
11015           don't do dummy g_strdup()s
11016         * libs/gst/controller/gstcontroller.c:
11017         (on_object_controlled_property_changed),
11018         (gst_controlled_property_new), (gst_controller_new_valist),
11019         (gst_controller_new_list),
11020         (gst_controller_remove_properties_valist), (gst_controller_set),
11021         (gst_controller_get), (gst_controller_sync_values),
11022         (gst_controller_get_value_array), (_gst_controller_class_init),
11023         (gst_controller_get_type):
11024         * libs/gst/controller/gstcontroller.h:
11025         * libs/gst/controller/gstinterpolation.c:
11026         (gst_controlled_property_find_timed_value_node):
11027           convert // to /**/ comments
11028
11029 2005-09-28  Wim Taymans  <wim@fluendo.com>
11030
11031         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11032         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11033         (gst_bus_sync_signal_handler):
11034         * gst/gstbus.h:
11035         Added async-message and sync-message signals to the bus.
11036         Added helper BusFunc to emit signals for all posted messages.
11037
11038         * gst/gstmessage.c: (gst_message_type_get_name),
11039         (gst_message_type_to_quark), (gst_message_get_type):
11040         * gst/gstmessage.h:
11041         Register quarks for message names.
11042
11043 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11044
11045         * docs/libs/gstreamer-libs-sections.txt:
11046         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11047         (gst_controller_new_list):
11048         * libs/gst/controller/gstcontroller.h:
11049           added another constructor for language bindings
11050
11051 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11052
11053         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11054           add another check
11055         * gst/gstbus.c:
11056           add some doc
11057         * gst/gstinfo.c: (_gst_debug_init):
11058           slightly more readable color for refcount debugging
11059
11060 2005-09-28  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11063         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11064         (find_element), (gst_bin_sort_iterator_next),
11065         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11066         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11067         (gst_bin_change_state), (gst_bin_dispose):
11068         Small doc fixes. get_clock -> provide_clock.
11069
11070         * gst/gstelement.c: (gst_element_class_init),
11071         (gst_element_provides_clock), (gst_element_provide_clock),
11072         (gst_element_get_clock), (gst_element_commit_state),
11073         (gst_element_lost_state):
11074         * gst/gstelement.h:
11075         Make get/set_clock() symetric. Add provide_clock vmethod since
11076         that is actually what this function does.
11077
11078         * gst/gstpipeline.c: (gst_pipeline_class_init),
11079         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11080         (gst_pipeline_get_clock):
11081         get_clock -> provide_clock.
11082
11083 2005-09-28  Andy Wingo  <wingo@pobox.com>
11084
11085         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11086         lieu of real docs...
11087
11088         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11089
11090 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11091
11092         * gst/elements/gstcapsfilter.c:
11093         * gst/elements/gstfakesink.c:
11094         * gst/elements/gstfakesrc.c:
11095         * gst/elements/gstfdsink.c:
11096         * gst/elements/gstfdsrc.c:
11097         * gst/elements/gstfilesink.c:
11098         * gst/elements/gstfilesrc.c:
11099         * gst/elements/gstidentity.c:
11100         * gst/elements/gsttee.c:
11101         * gst/elements/gsttypefindelement.c:
11102           Make element details static.
11103
11104 2005-09-28  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11107         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11108         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11109         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11110         (gst_bin_change_state), (gst_bin_dispose):
11111         Some documentation updates.
11112         Clean up dispose handlers.
11113
11114         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11115         * gst/gstpad.c: (gst_pad_dispose):
11116         Clean up dispose handler.
11117
11118         * gst/gstpipeline.c: (gst_pipeline_change_state):
11119         Removed spurious UNLOCK.
11120
11121 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
11122
11123         * docs/gst/gstreamer-sections.txt:
11124         * gst/base/gstbasesrc.h:
11125         * gst/gstelement.h:
11126         * gst/gstevent.h:
11127         * gst/gstobject.h:
11128         * gst/gstpad.h:
11129         * gst/gstpipeline.c:
11130         * gst/gstpipeline.h:
11131         * gst/gstutils.h:
11132         * gst/gstxml.h:
11133           added two new functions to the docs
11134                 documents all undocumented GstXXXFlags
11135                 completed some incomplete docs 
11136
11137 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11138
11139         * gst/gstbin.c: (gst_bin_dispose):
11140         * gst/gstelement.c: (gst_element_dispose):
11141           remove now useless and leaky resurrection code in dispose
11142         * gst/base/gstbasesrc.c: (gst_base_src_init):
11143         * gst/gstelementfactory.c: (gst_element_factory_create):
11144         * gst/gstobject.c: (gst_object_set_parent):
11145           add some debugging
11146
11147 2005-09-27  Wim Taymans  <wim@fluendo.com>
11148
11149         * docs/design/part-TODO.txt:
11150         Update TODO.
11151
11152         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11153         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11154         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11155         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11156         (gst_bin_change_state):
11157         * gst/gstelement.h:
11158         Remove element variable, we keep element info in the iterator now.
11159
11160 2005-09-27  Andy Wingo  <wingo@pobox.com>
11161
11162         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11163         values.
11164
11165 2005-09-27  Wim Taymans  <wim@fluendo.com>
11166
11167         * check/gst/gstbin.c: (GST_START_TEST):
11168         Enable check that works now.
11169
11170         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11171         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11172         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11173         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11174         (gst_bin_change_state):
11175         * gst/gstbin.h:
11176         Redid the state change algorithm using a topological sort algo.
11177         Handles all cases correctly.
11178         Exposed iterator for state change order.
11179
11180         * gst/gstelement.h:
11181         Temp storage for state changes. Need to get rid of this soon.
11182
11183 2005-09-27  Wim Taymans  <wim@fluendo.com>
11184
11185         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11186         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11187         (link_fold_func), (gst_pad_proxy_setcaps):
11188         Leak fixes, the fold functions need to unref the passed object and
11189         _get_parent_*() returns ref to parent.
11190
11191 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * check/gst/gstbuffer.c: (test_make_writable):
11194           Plug leak in test case and fix 'make check-valgrind'
11195
11196 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11197
11198         * gst/gstbuffer.c: (gst_subbuffer_init):
11199           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11200           works correctly in all circumstances (we could have just copied
11201           the parent buffer's readonly flag, but conceptually it seems
11202           cleaner to mark all subbuffers as read-only). (based on patch
11203           by Alessandro Decina, #314710).
11204         
11205         * check/gst/gstbuffer.c: (create_read_only_buffer),
11206         (test_make_writable), (test_subbuffer_make_writable),
11207         (gst_test_suite):
11208           Add some tests for gst_buffer_make_writable().
11209
11210 2005-09-27  Wim Taymans  <wim@fluendo.com>
11211
11212         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11213         use gst_object_has_ancestor().
11214
11215         * gst/gstobject.c: (gst_object_has_ancestor):
11216         * gst/gstobject.h:
11217         gst_object_has_ancestor() copied from gstbin.c as it is a
11218         usefull function.
11219
11220         * tests/instantiate/create.c: (create_all_elements):
11221         * tests/lat.c: (handoff_src), (handoff_sink):
11222         * tests/sched/runxml.c: (main):
11223         * tests/seeking/seeking1.c: (main):
11224         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11225         (main):
11226         Fix compilation of some tests.
11227
11228 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11229
11230         * gst/gsterror.h:
11231           Remove comment. GST_TYPE_G_ERROR is here to stay,
11232           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11233           (#316961, #300610).
11234
11235 2005-09-26  Wim Taymans  <wim@fluendo.com>
11236
11237         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11238         Added check that shows error in state change order.
11239
11240 2005-09-26  Wim Taymans  <wim@fluendo.com>
11241
11242         * gst/gstbin.c: (gst_bin_change_state):
11243         Make state change function use 3 queues again, we were
11244         adding elements in the wrong order.
11245
11246         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11247         Some debug info,
11248
11249         * gst/gstpad.c: (gst_pad_dispose):
11250         Added some debug info first.
11251
11252 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11253
11254         * docs/design/draft-push-pull.txt:
11255         * docs/design/part-events.txt:
11256         * docs/design/part-overview.txt:
11257         * docs/design/part-scheduling.txt:
11258           Replace all _pull_region() with _pull_range()
11259           
11260 2005-09-26  Andy Wingo  <wingo@pobox.com>
11261
11262         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11263
11264         * check/gst-libs/controller.c: Update for controller api change.
11265
11266         * configure.ac: 
11267         * tests/Makefile.am:
11268         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11269         over by GLib bug 118439.
11270         
11271         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11272         routines to a function.
11273
11274         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11275
11276         * libs/gst/controller/gsthelper.c:
11277         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11278         (gst_object_sync_values): Renamed from sink_values. Ugh.
11279
11280         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11281
11282         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11283         Renamed from controller_key, as it is exported.
11284
11285         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11286
11287 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11288
11289         * gst/Makefile.am:
11290         * gst/gst.h:
11291         * gst/gstpad.h:
11292         * gst/gstpadtemplate.h:
11293         * gst/gstquery.c:
11294         * gst/gstquery.h:
11295         * gst/gstqueryutils.c:
11296         * gst/gstqueryutils.h:
11297           remove queryutils headers after moving the two used functions
11298           to gstquery.  also fixes build problem for gstsiddec
11299
11300 2005-09-26  Michael Smith <msmith@fluendo.com>
11301
11302         * tools/gst-launch.1.in:
11303         Correct documentation in manpage of debug syntax
11304
11305 2005-09-26  Wim Taymans  <wim@fluendo.com>
11306
11307         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11308         (gst_base_src_is_seekable), (gst_base_src_change_state):
11309         Some more debugging info.
11310
11311 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11312
11313         * docs/gst/gstreamer-sections.txt:
11314         * gst/base/gstbasetransform.h:
11315         * gst/gstindex.h:
11316           added more docs
11317
11318 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11319
11320         * docs/gst/.cvsignore:
11321         * docs/gst/tmpl/.cvsignore:
11322         * docs/gst/tmpl/gstpipeline.sgml:
11323         * docs/gst/tmpl/gstplugin.sgml:
11324         * gst/gstpipeline.c:
11325         * gst/gstplugin.c:
11326         * gst/gstplugin.h:
11327           inlined the last two docs files
11328           removed the tmpl directory from cvs (no more conflicts here!)
11329
11330 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11331
11332         * docs/gst/gstreamer-sections.txt:
11333         * docs/gst/tmpl/.cvsignore:
11334         * docs/gst/tmpl/gstpad.sgml:
11335         * docs/gst/tmpl/gstpadtemplate.sgml:
11336         * gst/Makefile.am:
11337         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11338         (gst_pad_finalize), (gst_pad_set_pad_template):
11339         * gst/gstpad.h:
11340         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11341         (gst_pad_template_class_init), (gst_pad_template_init),
11342         (gst_pad_template_dispose), (name_is_valid),
11343         (gst_static_pad_template_get), (gst_pad_template_new),
11344         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11345         (gst_pad_template_pad_created):
11346         * gst/gstpadtemplate.h:
11347           inlined two more docs
11348           factored gstpadtemplate out of gstpad
11349
11350 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11353         (test_children_state_change_order_semi_sink):
11354           Fix test case: we can't rely on a fixed state change order when
11355           going from READY => PAUSED because the sink might commit its 
11356           new state first when the first buffer created by the source 
11357           reaches the sink before the source has finished its change state.
11358           (Test case still fails at times, see #316856, comment 5 onwards)
11359
11360 2005-09-24  Wim Taymans  <wim@fluendo.com>
11361
11362         * docs/design/part-events.txt:
11363         * docs/design/part-gstbus.txt:
11364         * docs/design/part-gstpipeline.txt:
11365         * docs/design/part-messages.txt:
11366         * docs/design/part-overview.txt:
11367         * docs/design/part-segments.txt:
11368         * gst/gstbin.c:
11369         * gst/gstbuffer.c:
11370         * gst/gstclock.c:
11371         * gst/gstelement.c:
11372         * gst/gstevent.c:
11373         * gst/gstfilter.c:
11374         * gst/gstiterator.c:
11375         Various documentation updates.
11376
11377 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * gst/gstclock.h:
11380           Well, that's embarassing.  Luckily we weren't using
11381           GST_CLOCK_DIFF anywhere.
11382
11383 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11384
11385         * common/gtk-doc.mak:
11386           don't fail on building XML, FC4 slave shows a bunch of doc
11387           missing bits that I don't get
11388         * gst/gstpad.c:
11389         * gst/gstpipeline.c:
11390         * gst/gststructure.c:
11391           some doc updates
11392
11393 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         * docs/design/part-gstbin.txt:
11396         * docs/design/part-gstbus.txt:
11397         * gst/gstbus.c:
11398           Add blurb about how the bus goes into flushing mode and
11399           drops all messages when its bin goes from READY into NULL 
11400           state.
11401
11402 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * docs/gst/gstreamer-sections.txt:
11405         * gst/gststructure.c: (gst_structure_get_clock_time):
11406         * gst/gststructure.h:
11407           add a method to get a GstClockTime out of a structure
11408
11409 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11410
11411         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11412         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11413           Added test to check state change order in bins (can still be made
11414           to fail here under heavy disk load; bails out with 'Push on pad
11415           fakesink:sink0, but it was not activated in push mode').
11416
11417         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11418           Fix state change order when there is only a semi sink (#316856)
11419
11420         * gst/gstbus.c: (gst_bus_class_init):
11421           Use _class_peek_parent(), not _class_ref(); fix docs to say
11422           'default main context' instead of 'mainloop' where that is
11423           what's meant.
11424
11425         * gst/gstelement.c: (gst_element_commit_state),
11426         (gst_element_set_state):
11427           Fix typos in debug messages
11428
11429 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11430
11431         * docs/README:
11432         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11433         * gst/gstpluginfeature.c:
11434         * gst/gstutils.c:
11435           various doc updates
11436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11437           change an assert into an error until it gets fixed properly
11438
11439 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11440
11441         * docs/gst/gstreamer-sections.txt:
11442         * docs/gst/tmpl/.cvsignore:
11443         * docs/gst/tmpl/gstelement.sgml:
11444         * docs/gst/tmpl/gstinfo.sgml:
11445         * docs/gst/tmpl/gstobject.sgml:
11446         * gst/gstelement.c:
11447         * gst/gstelement.h:
11448         * gst/gstinfo.c:
11449         * gst/gstinfo.h:
11450         * gst/gstobject.c: (gst_object_class_init):
11451         * gst/gstobject.h:
11452           inlined 3 more biiiig doc files and added some missing docs on the fly
11453
11454 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11455
11456         * check/gst/.cvsignore:
11457         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11458         * gst/gstregistryxml.c: (load_plugin),
11459         (gst_registry_xml_save_plugin):
11460           put back source in registry.  add checks for find_plugin.
11461         * testsuite/states/bin.c: (assert_state), (empty_bin),
11462         (test_adding_one_element), (main):
11463         * testsuite/states/locked.c: (main):
11464           some compile/run fixes
11465
11466 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11467
11468         * check/gst/gstvalue.c: (GST_START_TEST):
11469           fix leaks in the test itself
11470
11471 2005-09-22  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11474         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11475         (gst_base_sink_query):
11476         Prepare for more accurate position reporting and query
11477         handling.
11478
11479         * gst/gstelement.c: (gst_element_send_event),
11480         (gst_element_set_state):
11481         Add some comment.
11482
11483 2005-09-22  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11486         (gst_query_parse_segment):
11487         * gst/gstquery.h:
11488         More documentation.
11489         Add segment query for future use.
11490
11491 2005-09-22  Wim Taymans  <wim@fluendo.com>
11492
11493         * gst/gstbin.c: (gst_bin_add_func):
11494         Some more debug info.
11495
11496         * gst/gstelement.c: (gst_element_send_event):
11497         Simplify send_event
11498
11499         * gst/gstelement.h:
11500         Don't know how flags got broken.
11501
11502         * gst/gstquery.h:
11503         Added new query.
11504
11505 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11506
11507         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11508           Add simplistic test suite for GST_TYPE_DATE serialisation and
11509           deserialisation.
11510
11511 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11512
11513         * docs/gst/gstreamer-sections.txt:
11514         * gst/gststructure.c: (gst_structure_set_valist),
11515         (gst_structure_get_date):
11516         * gst/gststructure.h:
11517         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11518         (gst_date_copy), (gst_value_compare_date),
11519         (gst_value_serialize_date), (gst_value_deserialize_date),
11520         (gst_value_transform_date_string),
11521         (gst_value_transform_string_date), (_gst_value_initialize):
11522         * gst/gstvalue.h:
11523           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11524           bunch of utility functions along with a hack that checks that
11525           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11526           is required. Part of the grand scheme in #170777.
11527
11528 2005-09-22  Andy Wingo  <wingo@pobox.com>
11529
11530         * gst/gstconfig.h.in: Psych out gtk-doc.
11531
11532         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11533
11534         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11535
11536         * tools/gst-inspect.c (print_element_list): Plug some
11537         inconsequential leaks.
11538
11539         * gst/gstregistry.c (gst_registry_get_default): Doc.
11540
11541         * check/gst/gstplugin.c: 
11542         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11543         * gst/gstelementfactory.c (gst_element_factory_create): 
11544         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11545         refcount changes.
11546
11547         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11548         (gst_plugin_feature_load): Doc, don't eat refs.
11549
11550         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11551         (gst_plugin_list_free): Doc.
11552         (gst_plugin_load_file): Doc updates.
11553
11554         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11555         accessors returning refcounted objects, return a ref.
11556
11557         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11558         accessor for caps. IDEMPOTENCE. Oh yes.
11559
11560 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11561
11562         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11563
11564         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11565         (_gst_debug_register_funcptr):
11566           Add mutex to serialise access to the hash table with
11567           the function pointer => function name string mapping;
11568           make that hash table static scope (#316809).
11569
11570         * gst/registries/.cvsignore:
11571           Remove left-over file.
11572
11573 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11574
11575         * docs/pwg/appendix-porting.xml:
11576           And something about newsegment events and caps-on-buffers to
11577           the porting guide (feel free to improve).
11578
11579 2005-09-21  Andy Wingo  <wingo@pobox.com>
11580
11581         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11582         data and event probes on the same pad.
11583         (test_buffer_probe_once): Test that removing probes from within
11584         the probe functions works.
11585
11586 2005-09-21  Andy Wingo  <wingo@pobox.com>
11587
11588         * check/gst/gstutils.c: New file.
11589         (test_buffer_probe_n_times): A simple buffer probe test. More to
11590         come, foolios.
11591
11592         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11593         have-data::buffer, not have-data.
11594         (gst_pad_add_event_probe): Likewise for have-data::event.
11595         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11596         peer' isn't quite right yet though.
11597         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11598         (gst_pad_remove_data_probe): Change to take the guint handler_id
11599         as their arg, not the function+data, which is more glib-like.
11600
11601         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11602         the signal emission to indicate if the data is a buffer or an
11603         event.
11604         (gst_pad_get_type): Initialize buffer and event quarks.
11605         (gst_pad_class_init): have-data is now a detailed signal, yes it
11606         is.
11607
11608 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11609
11610         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11611         * gst/gstutils.c: (gst_util_set_value_from_string),
11612         (gst_util_set_object_arg):
11613           Don't put functional code in g_return_if_fail() or
11614           g_return_val_if_fail() statements, otherwise things will 
11615           break when G_DISABLE_CHECKS is defined during compilation.
11616
11617 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11618
11619         * docs/gst/tmpl/.cvsignore:
11620         * docs/gst/tmpl/gstvalue.sgml:
11621         * gst/gstvalue.c:
11622         * gst/gstvalue.h:
11623           inlied another one and added  some obvious docs
11624
11625 2005-09-21  Wim Taymans  <wim@fluendo.com>
11626
11627         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11628         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11629         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11630         (gst_fdsrc_get_property), (gst_fdsrc_create):
11631         * gst/elements/gstfdsrc.h:
11632         Properly implement fdsrc. Removed signal and timeout,
11633         better implemented somewhere else.
11634
11635 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11636
11637         * docs/gst/tmpl/.cvsignore:
11638         * docs/gst/tmpl/gstimplementsinterface.sgml:
11639         * gst/gstinterface.c:
11640           inlined more docs
11641
11642 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11643
11644         * docs/gst/gstreamer-sections.txt:
11645         * docs/gst/tmpl/.cvsignore:
11646         * docs/gst/tmpl/gstenumtypes.sgml:
11647           remove obsolete doc file
11648
11649 2005-09-21  David Schleef  <ds@schleef.org>
11650
11651         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11652         little beer, fix a little leak.
11653
11654 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11655
11656         * docs/gst/gstreamer-docs.sgml:
11657         * docs/gst/gstreamer-sections.txt:
11658         * docs/gst/tmpl/.cvsignore:
11659         * gst/Makefile.am:
11660         * gst/gst.h:
11661         * gst/gstbin.c:
11662         * gst/gstelement.h:
11663         * gst/gstindex.c: (gst_index_class_init):
11664         * gst/gstindex.h:
11665         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11666         (gst_index_factory_class_init), (gst_index_factory_init),
11667         (gst_index_factory_finalize), (gst_index_factory_new),
11668         (gst_index_factory_destroy), (gst_index_factory_find),
11669         (gst_index_factory_create), (gst_index_factory_make):
11670         * gst/gstindexfactory.h:
11671         * gst/gstpluginfeature.c:
11672         * gst/gstpluginfeature.h:
11673         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11674           more docs inlined, splitted gstindex.{c,h}
11675
11676 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11677
11678         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11679           fix a leak
11680
11681 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11682
11683         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11684           Set sync to FALSE by default.
11685
11686 2005-09-20  Wim Taymans  <wim@fluendo.com>
11687
11688         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11689         (gst_base_sink_init):
11690         Make sync property settable from subclass.
11691
11692         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11693         (gst_fake_sink_change_state):
11694         Set sync to FALSE by default.
11695
11696 2005-09-20  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11699         * tools/gst-launch.c: (main):
11700         The timeout handler should have lower priority than the source
11701         so we don't timeout before popping a message with 0 timeout.
11702         Dump error messages after failed state change.
11703
11704 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11705
11706         * tools/gst-inspect.c: (print_element_properties_info):
11707           Fix two typos.
11708
11709 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11710
11711         * check/gst/gstevent.c:
11712         * gst/elements/gstfakesink.c:
11713         * gst/elements/gstfakesink.h:
11714           remove the sync property from fakesink.
11715           has the side effect of setting sync TRUE
11716           for fakesink, which is a change.  Anyone who knows how
11717           to fix this nicely in a GObject-y way, feel free.
11718
11719 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11720
11721         * docs/gst/gstreamer-docs.sgml:
11722           remove probe refsection
11723
11724 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11725
11726         * check/Makefile.am:
11727           disable valgrinding the controller test again
11728         * docs/gst/gstreamer-sections.txt:
11729           update for api-changes
11730
11731 2005-09-20  Wim Taymans  <wim@fluendo.com>
11732
11733         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11734         (gst_base_sink_set_property), (gst_base_sink_get_property),
11735         (gst_base_sink_do_sync):
11736         * gst/base/gstbasesink.h:
11737         Added sync property to basesink to disable clock sync.
11738
11739 2005-09-20  Andy Wingo  <wingo@pobox.com>
11740
11741         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11742         eating the caller's refcount.
11743
11744         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11745         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11746         refcount.
11747
11748         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11749         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11750         of GLib 2.8 public, so we can know which refcount to check in
11751         tests.
11752
11753         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11754         (gst_object_init): Only set the gst refcount if we're going ahead
11755         with the refcount hack.
11756
11757 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11758
11759         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11760         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11761           more leaks plumbed, added more debug-logging
11762         * gst/gstmacros.h:
11763           whitespace fix
11764
11765 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * gst/gstmessage.c:
11768           remove include of gstmemchunk.h
11769
11770 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11771
11772         * gst/gstclock.c: (_gst_clock_id_free):
11773           Commit from the Political Party For More Atomic CVS Commits,
11774           so that people don't waste too much of their day fishing
11775           out obvious leaks out of massive commits.
11776           Oh, and fix a pretty damn obvious leak in the memchunk
11777           removal code.
11778
11779 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11780
11781         * check/Makefile.am:
11782         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11783           plug mem-leak, re-add to valgrindable tests
11784
11785 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11786
11787         * gst/gstplugin.h:
11788           unbreak the build for those who have chronic arthritis
11789           and typing "make check" is just too taxing on the hands
11790
11791 2005-09-20  Andy Wingo  <wingo@pobox.com>
11792
11793         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11794         really want it out, you should fix plugins at the same time.
11795
11796 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11797
11798         * configure.ac:
11799         * docs/gst/gstreamer-sections.txt:
11800         * gst/gstobject.c:
11801           added missing symbols to api docs
11802           disable ref-count hack if we have glib >= 2.8
11803
11804 2005-09-19  David Schleef  <ds@schleef.org>
11805
11806         * docs/gst/Makefile.am: Ignore a few more internal headers
11807         * docs/gst/gstreamer-docs.sgml: Remove old sections
11808         * docs/gst/gstreamer-sections.txt: Remove old sections
11809         * docs/gst/tmpl/gstobject.sgml: update
11810         * docs/gst/tmpl/gstplugin.sgml: update
11811         * docs/gst/tmpl/gstpluginfeature.sgml: update
11812         * docs/random/ds/0.9-suggested-changes: update.
11813         * gst/Makefile.am: remove memchunk and trashstack, since they're
11814           not used.
11815         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11816         * gst/gst.h: don't include some headers
11817         * gst/gstchildproxy.c: add gstmarshal.h
11818         * gst/gstclock.c: Don't use memchunks
11819         * gst/gstminiobject.c: Add some docs
11820         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11821         * gst/gstobject.h: same
11822         * gst/gstplugin.c: include gstmacros.h
11823         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11824         * gst/gstquery.c: don't use memchunks
11825         * gst/gstregistry.c: rename gst_registry_deinit()
11826         * gst/gstregistry.h: same
11827
11828 2005-09-19  David Schleef  <ds@schleef.org>
11829
11830         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11831         * docs/libs/gstreamer-libs-sections.txt:
11832         * docs/libs/tmpl/gstgetbits.sgml:
11833         * docs/libs/tmpl/gstputbits.sgml:
11834
11835 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11836
11837         * win32/gstenumtypes.c:
11838         * win32/gstenumtypes.h:
11839           Update.
11840
11841 2005-09-19  Wim Taymans  <wim@fluendo.com>
11842
11843         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11844         Automatically PAUSE and RESUME a pipeline when a flushing seek
11845         is performed.
11846
11847 2005-09-19  Andy Wingo  <wingo@pobox.com>
11848
11849         * gst/gstregistry.h: Spacing fixen.
11850
11851 2005-09-19  Wim Taymans  <wim@fluendo.com>
11852
11853         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11854         Handle state change failure more correctly.
11855
11856 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11857
11858         * check/Makefile.am:
11859         * check/pipelines/cleanup.c: (run_pipeline):
11860         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11861         (GST_START_TEST):
11862           enable cleanup again after fixing the leak
11863         * docs/README:
11864           some more info on docs
11865
11866 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11867
11868         * check/Makefile.am:
11869           re-enable tests now that leaks are plugged
11870         * check/gst/gst.c:
11871         * check/gst/gstbin.c:
11872         * check/gst/gstpipeline.c:
11873           add some more tests while fixing leaks
11874         * common/check.mak:
11875           make sure binaries are uptodate when valgrinding/gdbing
11876         * gst/gst.c:
11877         * gst/gstelementfactory.c:
11878           remove a ref too many, and add a FIXME for when we get
11879           round to disposing of classes
11880         * gst/gstplugin.c:
11881           fix the refcounting when loading a plugin from a file and
11882           the code pretends that the pointer is the same even though
11883           of course it can change
11884         * gst/gstpluginfeature.c:
11885           unref plugins marked cached (a bit confusing as a name)
11886           as the docs state should be done
11887           various doc additions to explain refcounting
11888         * gst/gstregistry.c:
11889         * gst/gstregistryxml.c:
11890           debugging
11891
11892 2005-09-19  Wim Taymans  <wim@fluendo.com>
11893
11894         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11895         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11896         (send_messages), (GST_START_TEST), (gstbus_suite):
11897         * check/gst/gstpipeline.c: (GST_START_TEST):
11898         * check/pipelines/cleanup.c: (run_pipeline):
11899         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11900         (GST_START_TEST):
11901         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11902         (gst_bus_source_check), (gst_bus_source_dispatch),
11903         (gst_bus_create_watch), (gst_bus_add_watch_full),
11904         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11905         * gst/gstbus.h:
11906         * tools/gst-launch.c: (event_loop):
11907         * tools/gst-md5sum.c: (event_loop):
11908         GstBusHandler -> GstBusFunc, return value has the same meaning as
11909         any other GSource (FALSE == remove source).
11910         _add_watch() and _add_watch_full() now take a MessageType mask to
11911         only handle specific types of messages.
11912         _poll() returns the GstMessage instead of the message type to avoid
11913         race conditions.
11914         _have_pending() takes a MessageType mask now too.
11915         Added testsuite for multiple bus watches.
11916         Fix testsuites and applications for new bus API.
11917
11918 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11919
11920         * check/Makefile.am:
11921           mark a bunch of the tests as to fix until we fix them
11922
11923 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11924
11925         * common/check.mak:
11926           use GST_PLUGIN settings for valgrind tests as well, so we're
11927           valgrinding the correct thing
11928         * gst/gst.c: (init_post):
11929           plug another leak
11930
11931 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11932
11933         * gst/gst.c: (init_post), (gst_deinit):
11934         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11935         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11936         * gst/gstindex.c: (gst_index_factory_class_init),
11937         (gst_index_factory_finalize):
11938         * gst/gstobject.c: (gst_object_dispose):
11939         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11940         (gst_plugin_load_file), (gst_plugin_desc_free):
11941         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11942         (gst_plugin_feature_finalize):
11943         * gst/gstregistry.c: (gst_registry_class_init),
11944         (gst_registry_init), (gst_registry_finalize),
11945         (gst_registry_get_default), (gst_registry_deinit):
11946         * gst/gstregistry.h:
11947         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11948           various cleanups and memleak plugging.  make valgrind is happy now.
11949
11950 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11951
11952         * common/check.mak:
11953           add a check-valgrind target
11954
11955 2005-09-18  David Schleef  <ds@schleef.org>
11956
11957         * tools/gst-inspect.c: Revert the GOption code.
11958
11959 2005-09-17  David Schleef  <ds@schleef.org>
11960
11961         * check/Makefile.am: Fix environment variables.
11962         * check/gst/gstplugin.c: Fix for API changes.
11963         * tools/gst-inspect.c: Fix for API changes.
11964         * tools/gst-xmlinspect.c: Fix for API changes.
11965         * gst/gstelementfactory.c:
11966         * gst/gstplugin.c:
11967         * gst/gstplugin.h:
11968         * gst/gstpluginfeature.c:
11969         * gst/gstpluginfeature.h:
11970         * gst/gstregistry.c:
11971         * gst/gstregistry.h:
11972         * gst/gstregistryxml.c:
11973         * gst/gsttypefind.c:
11974         * gst/gsttypefindfactory.c:
11975         * gst/indexers/gstfileindex.c:
11976         * gst/indexers/gstmemindex.c:
11977         * gst/schedulers/Makefile.am:
11978           Change registry to keep track of both plugins and features,
11979           removing the feature tracking from plugins themselves.
11980
11981 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11982
11983         * check/Makefile.am:
11984         * tools/gst-register.1.in:
11985           remove gst-register
11986
11987 2005-09-15  David Schleef  <ds@schleef.org>
11988
11989         * check/gst/gstplugin.c:
11990         * gst/gstelementfactory.c:
11991         * gst/gstplugin.c:
11992         * gst/gstpluginfeature.c:
11993         * gst/gstregistry.c:
11994           Getting tired of debugging.  Disabled all the unreffing of
11995           plugins and features, which fixes the segfaults, but of
11996           course leaks like crazy.  At least playbin works.
11997
11998 2005-09-15  David Schleef  <ds@schleef.org>
11999
12000         * check/gst/gstplugin.c: (register_check_elements),
12001         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12002         More testing
12003         * gst/elements/gsttypefindelement.c: Fix refcounting.
12004         * gst/gsttypefind.c:
12005         * gst/gsttypefindfactory.c:
12006         * gst/gsttypefindfactory.h:
12007
12008 2005-09-15  David Schleef  <ds@schleef.org>
12009
12010         * gst/gstindex.c: get refcounting correct.
12011         * gst/gstregistry.c: Handle the case where a feature/plugin is
12012           not found.
12013
12014 2005-09-15  David Schleef  <ds@schleef.org>
12015
12016         * check/Makefile.am:
12017         * check/gst/gstplugin.c: Add test
12018         * gst/gstplugin.c: Fix problems noticed by testsuite
12019         * gst/gstplugin.h:
12020         * gst/gstregistry.c: 
12021         * gst/gstregistry.h:
12022
12023 2005-09-15  David Schleef  <ds@schleef.org>
12024
12025         * gst/gstplugin.c: Implement semi-decent recounting and locking
12026           in plugins and plugin features.
12027         * gst/gstplugin.h:
12028         * gst/gstpluginfeature.c:
12029         * gst/gstpluginfeature.h:
12030         * gst/gstregistry.c:
12031
12032 2005-09-15  Michael Smith <msmith@fluendo.com>
12033
12034         * gst/gstregistry.c: (gst_registry_get_feature_list):
12035           Implement this. Makes oggdemux work; decodebin still broken.
12036
12037 2005-09-14  David Schleef  <ds@schleef.org>
12038
12039         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12040           #316076)
12041         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12042         * gst/check/Makefile.am:
12043         * libs/gst/controller/Makefile.am:
12044         * libs/gst/dataprotocol/Makefile.am:
12045
12046 2005-09-14  David Schleef  <ds@schleef.org>
12047
12048         * configure.ac: Remove getbits library.  Nothing uses it, and
12049           it should be in something like liboil if someone did want
12050           to use it.
12051         * libs/gst/Makefile.am:
12052         * libs/gst/getbits/Makefile.am:
12053         * libs/gst/getbits/gbtest.c:
12054         * libs/gst/getbits/getbits.c:
12055         * libs/gst/getbits/getbits.h:
12056         * libs/gst/getbits/gstgetbits_generic.c:
12057         * libs/gst/getbits/gstgetbits_i386.s:
12058         * libs/gst/getbits/gstgetbits_inl.h:
12059
12060 2005-09-14  David Schleef  <ds@schleef.org>
12061
12062         * gst/Makefile.am: Dist glib-compat.h
12063
12064 2005-09-14  David Schleef  <ds@schleef.org>
12065
12066         * configure.ac: Remove gst/registries, since it's no longer used.
12067         * gst/registries/Makefile.am:
12068         * gst/registries/gstlibxmlregistry.c:
12069         * gst/registries/gstlibxmlregistry.h:
12070         * gst/registries/gstxmlregistry.c:
12071         * gst/registries/gstxmlregistry.h:
12072         * gst/registries/registrytest.c:
12073
12074 2005-09-14  David Schleef  <ds@schleef.org>
12075
12076         * gst/glib-compat.h:
12077         * gst/gstregistryxml.c:
12078           Convergence is near.  Seriously.
12079
12080 2005-09-14  David Schleef  <ds@schleef.org>
12081
12082         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12083         * gst/glib-compat.h:
12084           Attempt #4 to appease the buildbots.
12085
12086 2005-09-14  David Schleef  <ds@schleef.org>
12087
12088         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12089           Attempt #3.
12090
12091 2005-09-14  David Schleef  <ds@schleef.org>
12092
12093         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12094         Attempt #2.
12095
12096 2005-09-14  David Schleef  <ds@schleef.org>
12097
12098         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12099           the new functions.
12100
12101 2005-09-14  David Schleef  <ds@schleef.org>
12102
12103         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12104         * gst/glib-compat.h: Add some functions that are in newer versions
12105           of glib than we care to require.
12106         * gst/gstregistryxml.c: Use them.
12107
12108 2005-09-14  David Schleef  <ds@schleef.org>
12109
12110         * po/POTFILES.in: remove gst-register.c
12111
12112 2005-09-14  David Schleef  <ds@schleef.org>
12113
12114         * docs/gst/gstreamer-docs.sgml:
12115         * docs/gst/gstreamer-sections.txt:
12116         * docs/gst/gstreamer.types:
12117         * docs/gst/tmpl/gstelement.sgml:
12118         * docs/gst/tmpl/gstplugin.sgml:
12119         * docs/gst/tmpl/gstpluginfeature.sgml:
12120           Documentation updates for registry changes.
12121
12122 2005-09-14  David Schleef  <ds@schleef.org>
12123
12124         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
12125           because we don't require glib-2.8.
12126
12127 2005-09-14  David Schleef  <ds@schleef.org>
12128
12129         * gst/gstregistryxml.c: Added.  Essentially moved out of the
12130           registries directory.
12131
12132 2005-09-14  David Schleef  <ds@schleef.org>
12133
12134         * check/Makefile.am:
12135         * check/generic/states.c:
12136         * gst/Makefile.am:
12137         * gst/gst.c:
12138         * gst/gst.h:
12139         * gst/gst_private.h:
12140         * gst/gstelementfactory.c:
12141         * gst/gstindex.c:
12142         * gst/gstinfo.c:
12143         * gst/gstplugin.c:
12144         * gst/gstplugin.h:
12145         * gst/gstpluginfeature.c:
12146         * gst/gstpluginfeature.h:
12147         * gst/gstregistry.c:
12148         * gst/gstregistry.h:
12149         * gst/gstregistrypool.c: remove
12150         * gst/gstregistrypool.h: remove
12151         * gst/gsttypefind.c:
12152         * gst/gsttypefindfactory.c:
12153         * gst/gsturi.c:
12154         * tools/Makefile.am:
12155         * tools/gst-compprep.c:
12156         * tools/gst-inspect.c:
12157         * tools/gst-register.c: remove
12158         * tools/gst-xmlinspect.c:
12159           Registry rewrite.  Changes registry from being a file created
12160           by a tool into a simple cache file created automatically by 
12161           libgstreamer.  Removed gst-register (because it's no longer
12162           needed).  Remove registry pools, because we only have one
12163           registry implementation (XML).  Fix up other subsystems as
12164           necessary.
12165
12166 2005-09-13  Michael Smith <msmith@fluendo.com>
12167
12168         * gst/gstconfig.h.in:
12169           Don't Use windows linking attributes for MinGW. Fixes #316157
12170
12171 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12172
12173         * gst/gstutils.c: (set_state_async_thread_func),
12174         (gst_element_set_state_async):
12175           Apparently people think it's better if this function doesn't
12176           try to set the state to whatever state was asked for on the first
12177           call to this function for any object.  Seriously.
12178
12179 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12180
12181         * check/gst/gstpipeline.c: (GST_START_TEST):
12182         * docs/gst/gstreamer-sections.txt:
12183         * gst/gstutils.c: (set_state_async_thread_func),
12184         (gst_element_set_state_async):
12185         * gst/gstutils.h:
12186           add a "gst_element_set_state_async" method that
12187           sets the state and starts a thread to make sure the state
12188           change completes as best as it can
12189
12190 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12193           codify design+behaviour in testsuite after discussion
12194
12195 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12196
12197         * docs/gst/tmpl/gstelement.sgml:
12198         * docs/manual/appendix-quotes.xml:
12199           add a quote
12200         * gst/gstelement.c: (gst_element_set_state):
12201           add some debug
12202
12203 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12204
12205         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12206         (gst_base_transform_prepare_output_buf),
12207         (gst_base_transform_handle_buffer):
12208         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12209         (gst_capsfilter_prepare_buf):
12210           Remove the requirement for sub-classes to call the parent
12211           implementation of prepare_output_buffer with a wrapper function.
12212           
12213         * gst/gsttaglist.h:
12214         * gst/gsttagsetter.h:
12215           Fix #define wrapper
12216
12217 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12218
12219         * docs/gst/gstreamer-sections.txt:
12220           more doc cleanups
12221
12222 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12223
12224         * docs/gst/gstreamer-sections.txt:
12225         * docs/gst/tmpl/gstelement.sgml:
12226         * docs/gst/tmpl/gstplugin.sgml:
12227         * gst/gstminiobject.c:
12228         * gst/gstvalue.h:
12229           docs now stop throwing warnings
12230
12231 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * docs/gst/gstreamer-sections.txt:
12234         * docs/gst/gstreamer.types:
12235         * docs/gst/tmpl/gstpad.sgml:
12236         * docs/gst/tmpl/gsttypes.sgml:
12237         * gst/base/gstadapter.h:
12238         * gst/base/gstbasesink.h:
12239         * gst/base/gstbasesrc.h:
12240         * gst/gstbin.h:
12241         * gst/gstbuffer.h:
12242         * gst/gstbus.h:
12243         * gst/gstcaps.h:
12244         * gst/gstclock.h:
12245         * gst/gstelement.h:
12246         * gst/gstevent.h:
12247         * gst/gstmessage.h:
12248         * gst/gstpad.h:
12249         * gst/gststructure.c:
12250         * gst/registries/gstlibxmlregistry.h:
12251           various documentation fixes
12252
12253 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12254
12255         * docs/gst/gstreamer-sections.txt:
12256         * docs/gst/tmpl/gstvalue.sgml:
12257           rearrange gstvalue section
12258         * gst/gstutils.c: (gst_element_state_get_name):
12259           NONE -> VOID
12260         * gst/gstvalue.c: (_gst_value_initialize):
12261         * gst/gstvalue.h:
12262           doc updates
12263
12264 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12265
12266         * check/gst-libs/controller.c:
12267           Header include fix.
12268         * gst/base/gstbasetransform.c:
12269         (gst_base_transform_default_prepare_buf),
12270         (gst_base_transform_handle_buffer):
12271         * gst/base/gstbasetransform.h:
12272           Some more basetransform changes and fixes to enable sub-classes
12273           that modify buffer metadata only.
12274         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12275         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12276         (gst_capsfilter_prepare_buf):
12277           If the output pad has fixed allowed caps and input buffers 
12278           don't have any, set the fixed caps on outgoing buffers.
12279
12280 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12281         * check/elements/identity.c: (GST_START_TEST):
12282           Make the error a little clearer when the test fails because
12283           identity made a copy of the buffer.
12284         * docs/gst/gstreamer-sections.txt:
12285           New symbols in gstbasetransform.h
12286         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12287         (gst_base_transform_init), (gst_base_transform_transform_size),
12288         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12289         (gst_base_transform_default_prepare_buf),
12290         (gst_base_transform_get_unit_size),
12291         (gst_base_transform_buffer_alloc),
12292         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12293         (gst_base_transform_change_state),
12294         (gst_base_transform_set_passthrough),
12295         (gst_base_transform_set_in_place),
12296         (gst_base_transform_is_in_place):
12297         * gst/base/gstbasetransform.h:
12298           Change BaseTransform to separate in_place operate from same_caps
12299           output. in_place implies that the element can perform the transform
12300           on incoming buffers in-place, even if the caps on the output are
12301           different.
12302           Sub-class elements can now implement special buffer allocation
12303           methods for outgoing buffers if they wish to.
12304           Big documentation addition.
12305         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12306         * gst/elements/gstelements.c:
12307           Changes for basetransform modifications.
12308         * gst/elements/Makefile.am:
12309         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12310           Compile fix. Extra debug output.
12311
12312 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12313
12314         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12315         (gst_pad_suite):
12316           add tests for valid pad naming
12317         * gst/check/gstcheck.c: (gst_check_log_message_func),
12318         (gst_check_log_critical_func):
12319           add ASSERT_WARNING
12320           remove printing of code, it is fragile when the code contains
12321           % and the line number is enough info
12322         * gst/check/gstcheck.h:
12323         * gst/gstpad.c: (gst_pad_template_new):
12324           fix memleaks
12325
12326 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12327
12328         * configure.ac:
12329           say what CHECK flags we use
12330         * docs/libs/gstreamer-libs.types:
12331         * libs/gst/controller/Makefile.am:
12332         * libs/gst/controller/gst-controller.c:
12333         * libs/gst/controller/gst-controller.h:
12334         * libs/gst/controller/gst-helper.c:
12335         * libs/gst/controller/gst-interpolation.c:
12336         * libs/gst/controller/gstcontroller.c:
12337         * libs/gst/controller/gsthelper.c:
12338         * libs/gst/controller/gstinterpolation.c:
12339         * tools/gst-inspect.c: (print_plugin_info):
12340           we don't use dashes in header names
12341
12342 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * check/Makefile.am:
12345         * check/gst/.cvsignore:
12346         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12347         (gst_pipeline_suite), (main):
12348           adding a test for pipelines and state changes
12349         * gst/gstutils.c: (get_state_func):
12350           add some debugging
12351         * gstreamer.spec.in:
12352           fix up spec file
12353
12354 2005-09-08  Michael Smith <msmith@fluendo.com>
12355
12356         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12357         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12358         (gst_file_src_is_seekable), (gst_file_src_get_size),
12359         (gst_file_src_start):
12360         * gst/elements/gstfilesrc.h:
12361           Various fixes for unseekable, unmmapable, and non-normal files, so
12362           that fallback to read() rather than mmap() works.
12363         * gst/gstevent.c: (gst_event_new_newsegment):
12364           Allow newsegment events with segment_start == segment_end, as will
12365           correctly happen if you use filesrc on a zero-size file, for
12366           example.
12367
12368 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12369
12370         * gst/gstplugin.c: (gst_plugin_load_file):
12371           Call g_module_close when we don't load the module
12372
12373         * gst/registries/gstlibxmlregistry.c:
12374         (gst_xml_registry_get_property):
12375           Port leak fix from 0.8
12376
12377 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12378
12379         * docs/gst/gstreamer-docs.sgml:
12380         * docs/gst/tmpl/.cvsignore:
12381         * docs/gst/tmpl/gsttrace.sgml:
12382         * docs/gst/tmpl/gsttrashstack.sgml:
12383         * gst/Makefile.am:
12384         * gst/gst.h:
12385         * gst/gstelement.h:
12386         * gst/gstevent.h:
12387         * gst/gstmessage.c:
12388         * gst/gstmessage.h:
12389         * gst/gsttag.c:
12390         * gst/gsttag.h:
12391         * gst/gsttaginterface.c:
12392         * gst/gsttaginterface.h:
12393         * gst/gsttaglist.c:
12394         * gst/gsttaglist.h:
12395         * gst/gsttagsetter.c:
12396         * gst/gsttagsetter.h:
12397         * gst/gsttrace.c:
12398         * gst/gsttrace.h:
12399         * gst/gsttrashstack.c:
12400           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12401           inlined docs for gsttrace, gsttrashstack
12402
12403 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12404
12405         * gst/Makefile.am:
12406         * gst/elements/gstbufferstore.h:
12407         * gst/elements/gsttypefindelement.c:
12408         * gst/elements/gsttypefindelement.h:
12409         * gst/gst.h:
12410         * gst/gsttypefind.c:
12411         * gst/gsttypefind.h:
12412         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12413         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12414         (gst_type_find_factory_dispose),
12415         (gst_type_find_factory_unload_thyself),
12416         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12417         (gst_type_find_factory_get_caps),
12418         (gst_type_find_factory_get_extensions),
12419         (gst_type_find_factory_call_function):
12420         * gst/gsttypefindfactory.h:
12421         * gst/registries/gstlibxmlregistry.c:
12422         * gst/registries/gstxmlregistry.c:
12423           splitted gsttypefind into gsttypefind, gsttypefindfactory
12424
12425 2005-09-07  Andy Wingo  <wingo@pobox.com>
12426
12427         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12428         condition whereby the pad's task function is entered before the
12429         pad_mode variable was set.
12430
12431 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12432
12433         * gst/gstpad.c: (gst_pad_alloc_buffer):
12434           Catch misbehaving pad_alloc functions that don't
12435           set up caps and do it for them.
12436
12437 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12438
12439         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12440           test for pipe!=NULL
12441         * docs/gst/tmpl/.cvsignore:
12442         * docs/gst/tmpl/gstmemchunk.sgml:
12443         * docs/gst/tmpl/gstparse.sgml:
12444         * docs/gst/tmpl/gsttaglist.sgml:
12445         * docs/gst/tmpl/gsttagsetter.sgml:
12446         * docs/gst/tmpl/gsttypefind.sgml:
12447         * docs/gst/tmpl/gsttypefindfactory.sgml:
12448         * gst/gstmemchunk.c:
12449         * gst/gstparse.c:
12450         * gst/gsttag.c:
12451         * gst/gsttaginterface.c:
12452         * gst/gsttypefind.c:
12453         * gst/gsttypefind.h:
12454           inlined more docs
12455
12456 === release 0.9.2 ===
12457
12458 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * NEWS:
12461         * RELEASE:
12462         * configure.ac:
12463           releasing 0.9.2, "South"
12464
12465 2005-09-05  Andy Wingo  <wingo@pobox.com>
12466
12467         * gst/registries/gstxmlregistry.h:
12468         * gst/registries/gstxmlregistry.c: Um... resurrect...
12469         
12470         * gst/registries/gstxmlregistry.h:
12471         * gst/registries/gstxmlregistry.c: and update to newer API.
12472         Incidentally they should be a bit faster now that they don't have
12473         to parse the caps.
12474         
12475 2005-09-05  Andy Wingo  <wingo@pobox.com>
12476
12477         * gst/registries/gstxmlregistry.h:
12478         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12479         replaced by the libxml registry a while back
12480
12481 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12482
12483         * docs/gst/tmpl/gstplugin.sgml:
12484         * gst/elements/gstelements.c:
12485         * gst/gst.c:
12486         * gst/gstplugin.c: (gst_plugin_register_func),
12487         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12488         (gst_plugin_get_source):
12489         * gst/gstplugin.h:
12490         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12491         (gst_xml_registry_save_plugin):
12492         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12493         (gst_xml_registry_save_plugin):
12494         * tools/gst-inspect.c: (print_plugin_info):
12495           add a "source" plugin description field, to represent the source
12496           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12497           will set it to PACKAGE, which is automake's idea of the name of
12498           the source project.
12499
12500 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * Makefile.am:
12503         * autogen.sh:
12504         * configure.ac:
12505         * docs/Makefile.am:
12506         * docs/faq/Makefile.am:
12507         * docs/gst/tmpl/gstelement.sgml:
12508         * docs/gst/tmpl/gsttypes.sgml:
12509         * docs/htmlinstall.mak:
12510         * docs/manual/Makefile.am:
12511         * docs/pwg/Makefile.am:
12512           reorganize doc build a little
12513           split out docbook and gtk-doc stuff
12514           have two separate --enable's and enable them through autogen
12515           but disable by default in configure (to be similar to other
12516           projects)
12517         * gstreamer.spec.in:
12518           clean up docs install
12519         * po/af.po:
12520         * po/az.po:
12521         * po/ca.po:
12522         * po/cs.po:
12523         * po/de.po:
12524         * po/en_GB.po:
12525         * po/fr.po:
12526         * po/it.po:
12527         * po/nb.po:
12528         * po/nl.po:
12529         * po/ru.po:
12530         * po/sq.po:
12531         * po/sr.po:
12532         * po/sv.po:
12533         * po/tr.po:
12534         * po/uk.po:
12535         * po/vi.po:
12536           translation updates
12537
12538 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12539
12540         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12541           Add comment.
12542           
12543         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12544         (gst_fake_sink_change_state):
12545           Make state change function thread-safe.
12546           
12547         * gst/gstpad.c: (gst_pad_alloc_buffer):
12548           Set offset on generic buffer allocated by fallback.
12549
12550 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12551
12552         * docs/gst/gstreamer-sections.txt:
12553         * docs/gst/tmpl/gstelement.sgml:
12554         * gst/gstpad.c:
12555         * libs/gst/controller/gst-controller.c:
12556         (gst_controlled_property_set_interpolation_mode),
12557         (gst_controlled_property_new),
12558         (gst_controller_find_controlled_property):
12559          run the wingo-magic script against the docs
12560
12561 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12562
12563         * docs/gst/gstreamer-docs.sgml:
12564         * docs/gst/gstreamer-sections.txt:
12565         * docs/gst/tmpl/.cvsignore:
12566         * docs/gst/tmpl/gstelementdetails.sgml:
12567         * docs/gst/tmpl/gstelementfactory.sgml:
12568         * gst/gst.c:
12569         * gst/gstbus.c:
12570         * gst/gstelementfactory.c:
12571         * gst/gstelementfactory.h:
12572           merged elementdetails docs into elementfactory docs
12573           inlined both
12574
12575 2005-09-02  Andy Wingo  <wingo@pobox.com>
12576
12577         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12578         consider this enum an enum and not a flags.
12579
12580 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12581
12582         * docs/gst/gstreamer-docs.sgml:
12583         * docs/gst/tmpl/.cvsignore:
12584         * docs/gst/tmpl/gstghostpad.sgml:
12585         * docs/gst/tmpl/gstiterator.sgml:
12586         * docs/gst/tmpl/gstmacros.sgml:
12587         * docs/gst/tmpl/gstrealpad.sgml:
12588         * docs/gst/tmpl/gstregistry.sgml:
12589         * docs/gst/tmpl/gstregistrypool.sgml:
12590         * docs/gst/tmpl/gststructure.sgml:
12591         * docs/gst/tmpl/gstsystemclock.sgml:
12592         * docs/gst/tmpl/gsttrace.sgml:
12593         * gst/gstghostpad.c:
12594         * gst/gstmacros.h:
12595         * gst/gstmemchunk.c:
12596         * gst/gstmemchunk.h:
12597         * gst/gstqueue.c:
12598         * gst/gstregistry.c:
12599         * gst/gstregistrypool.c:
12600         * gst/gststructure.c:
12601         * gst/gstsystemclock.c:
12602           more docs inlined
12603
12604 2005-09-02  Andy Wingo  <wingo@pobox.com>
12605
12606         * gst/gstelement.h (GstState): Renamed from GstElementState,
12607         changed to be a normal enum instead of flags.
12608         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12609         munged to be GST_STATE_CHANGE_*.
12610         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12611         work with the new state representation.
12612         (GstStateChange): New enumeration of possible state transitions.
12613         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12614         (GstElementClass::change_state): Pass the GstStateChange along as
12615         an argument. Helps language bindings, so they don't have to use
12616         tricky lock-needing macros like GST_STATE_CHANGE ().
12617
12618         * scripts/update-states (file): New script. Run it on a file to
12619         update it for state naming and API changes. Updates files in
12620         place.
12621
12622         * All files updated for the new API.
12623
12624 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12625
12626         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12627         * gst/gstutils.c: (gst_util_set_value_from_string),
12628         (gst_util_set_object_arg):
12629           fix a bunch of unchecked return values
12630         * tools/gst-complete.c: (main):
12631         * gstreamer.spec.in:
12632           clean up a little
12633
12634 2005-09-01  Wim Taymans  <wim@fluendo.com>
12635
12636         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12637         (gst_base_sink_event), (gst_base_sink_do_sync),
12638         (gst_base_sink_handle_event):
12639         * gst/base/gstbasesink.h:
12640         Handle newsegments more correctly.
12641
12642         * gst/gstbus.c:
12643         Fix docs.
12644
12645         * gst/gstevent.c: (gst_event_new_newsegment):
12646         A newsegment cannot have a start_time of -1
12647
12648 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12649
12650         * win32/gstenumtypes.c:
12651         * win32/gstenumtypes.h:
12652           Update
12653
12654 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12655
12656         * libs/gst/controller/gst-controller.c:
12657         (gst_controlled_property_set_interpolation_mode),
12658         (gst_controlled_property_new):
12659          fixed boolean again
12660
12661 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * docs/faq/gst-uninstalled:
12664           add -good
12665         * gst/gstevent.c:
12666         * gst/gstevent.h:
12667           remove wrong docs
12668         * gst/gstutils.c: (gst_element_link_filtered):
12669         * gst/gstutils.h:
12670           add gst_element_link_filtered
12671
12672 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12673
12674         * docs/gst/gstreamer-docs.sgml:
12675         * docs/gst/gstreamer-sections.txt:
12676         * docs/gst/tmpl/.cvsignore:
12677         * docs/gst/tmpl/gsterror.sgml:
12678         * docs/gst/tmpl/gstfilter.sgml:
12679         * docs/gst/tmpl/gsturihandler.sgml:
12680         * docs/gst/tmpl/gsturitype.sgml:
12681         * docs/gst/tmpl/gstutils.sgml:
12682         * docs/gst/tmpl/gstxml.sgml:
12683         * gst/gsterror.c:
12684         * gst/gsterror.h:
12685         * gst/gstfilter.c:
12686         * gst/gsturi.c:
12687         * gst/gsturitype.c:
12688         * gst/gstutils.c:
12689         * gst/gstxml.c:
12690           inlined more docs, fixed double id-ref
12691
12692 2005-08-31  Wim Taymans  <wim@fluendo.com>
12693
12694         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12695         (gst_base_transform_handle_buffer):
12696         Passthrough elements don't need the caps as they don't care.
12697
12698 2005-08-31  Wim Taymans  <wim@fluendo.com>
12699
12700         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12701         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12702         Don't leak refcounts on buffers.
12703
12704 2005-08-31  Wim Taymans  <wim@fluendo.com>
12705
12706         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12707         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12708         (gst_base_transform_chain), (gst_base_transform_change_state):
12709         * gst/base/gstbasetransform.h:
12710         Handle the case where we are not negotiated more gracefully.
12711
12712 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12713
12714         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12715         (gst_file_src_map_region):
12716           Set READONLY flag on mmap'ed buffers, otherwise
12717           gst_buffer_make_writable() won't work properly (#314708).
12718
12719 2005-08-31  Wim Taymans  <wim@fluendo.com>
12720
12721         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12722         passthrough elements can even do inplace on non writable
12723         buffers (as they don't touch them).
12724
12725 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12726
12727         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12728         (gst_test_mono_source_set_property),
12729         (gst_test_mono_source_class_init), (GST_START_TEST),
12730         (gst_controller_suite):
12731           more tests (hehe I have the most)
12732         * gst/gstbus.c:
12733           describe popping messages whenusing mulltiple sources
12734         * libs/gst/controller/gst-controller.c:
12735         (gst_controlled_property_set_interpolation_mode),
12736         (gst_controlled_property_new):
12737         * libs/gst/controller/gst-controller.h:
12738         * libs/gst/controller/gst-interpolation.c:
12739           implement boolean properties
12740
12741 2005-08-31  Wim Taymans  <wim@fluendo.com>
12742
12743         * gst/gstminiobject.c: (gst_mini_object_ref):
12744         Cannot assert that the refcount has to be positive
12745         since a disposed object can be resurrected.
12746
12747 2005-08-31  Wim Taymans  <wim@fluendo.com>
12748
12749         * gst/gstpad.c: (gst_pad_init):
12750         Revert change, need to first fix badly behaving 
12751         apps.
12752
12753 2005-08-30  Wim Taymans  <wim@fluendo.com>
12754
12755         * check/elements/fakesrc.c: (setup_fakesrc):
12756         * check/elements/identity.c: (setup_identity):
12757         Activate pads before using them.
12758
12759 2005-08-30  Wim Taymans  <wim@fluendo.com>
12760
12761         * gst/base/gstadapter.c: (gst_adapter_flush):
12762         Flushing out 0 bytes is ok for this function.
12763
12764         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12765         no newsegment gives a warning and sets the start/stop to 
12766         invalid.
12767
12768         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12769         (gst_base_transform_set_passthrough):
12770         Some debug info.
12771
12772         * gst/gstminiobject.c: (gst_mini_object_ref):
12773         Check refcount here too.
12774
12775         * gst/gstpad.c: (gst_pad_init):
12776         Pads are initially flushing and refusing data.
12777
12778         * gst/gstutils.c: (gst_element_link_pads_filtered):
12779         When adding a capsfilter element make sure it has the
12780         same state as the parent bin.
12781
12782 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12783
12784         * docs/gst/tmpl/.cvsignore:
12785         * docs/gst/tmpl/gstformat.sgml:
12786         * docs/gst/tmpl/gstversion.sgml:
12787         * gst/gstbus.h:
12788         * gst/gstformat.c:
12789         * gst/gstformat.h:
12790         * gst/gstversion.h.in:
12791           more docs and two more inlined
12792
12793 2005-08-30  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12796         Don't sync to clock.
12797
12798 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12799
12800         * docs/gst/gstreamer-sections.txt:
12801           ultral33t func10ns deserve to appear in the docs actually
12802         * docs/gst/tmpl/.cvsignore:
12803         * docs/gst/tmpl/gstcompat.sgml:
12804         * docs/gst/tmpl/gstconfig.sgml:
12805         * gst/check/gstcheck.c:
12806         * gst/gstcompat.h:
12807         * gst/gstconfig.h.in:
12808           inlined more docs
12809
12810 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12811
12812         * docs/gst/tmpl/.cvsignore:
12813         * docs/gst/tmpl/gstquery.sgml:
12814         * docs/gst/tmpl/gstutils.sgml:
12815         * gst/gstquery.c:
12816         * gst/gstquery.h:
12817           inlined and extended docs
12818
12819 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12820
12821         * check/gst-libs/controller.c: (GST_START_TEST),
12822         (gst_controller_suite):
12823           more tests
12824         * docs/gst/tmpl/gstutils.sgml:
12825         * docs/libs/gstreamer-libs-sections.txt:
12826         * docs/libs/tmpl/gstdataprotocol.sgml:
12827           include path fixes
12828         * examples/controller/audio-example.c: (main):
12829           controller example works now
12830         * gst/gstclock.h:
12831           doc fixes
12832         * tools/gst-inspect.c: (print_element_properties_info):
12833           show param spec flags
12834
12835 2005-08-29  Andy Wingo  <wingo@pobox.com>
12836
12837         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12838
12839 2005-08-28  Andy Wingo  <wingo@pobox.com>
12840
12841         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12842         as having two arguments instead of just one. Allows superclasses
12843         to access information on subclasses -- see the terrible for() loop
12844         in gtype.c:g_type_create_instance for the reason why. All callers
12845         changed.
12846
12847 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12848
12849         * docs/design/part-messages.txt:
12850           update info
12851         * docs/gst/tmpl/.cvsignore:
12852         * docs/gst/tmpl/gstcaps.sgml:
12853         * docs/gst/tmpl/gstclock.sgml:
12854         * gst/gstbus.c:
12855         * gst/gstcaps.c:
12856         * gst/gstcaps.h:
12857         * gst/gstclock.c:
12858         * gst/gstclock.h:
12859         * gst/gstmessage.c:
12860           added descriptions for bus and message
12861           inline caps and clock docs
12862
12863 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12864
12865         * gst/gstmessage.c:
12866         * gst/gstmessage.h:
12867           doc fixes
12868
12869 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12870
12871         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12872           fix div-by-zero
12873
12874 2005-08-26  Andy Wingo  <wingo@pobox.com>
12875
12876         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12877         element_set_state's return val.
12878         (test_2_elements): Add test that's been disabled for months.
12879
12880         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12881         can-activate-pull properties.
12882
12883         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12884         can-activate-pull properties. Implement is_seekable so fakesrc can
12885         operate in pull mode.
12886
12887         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12888         properties.
12889         (gst_base_sink_activate, gst_base_sink_activate_pull)
12890         (gst_base_sink_activate_push): Make activation mode choosing work.
12891         Cleanups.
12892         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12893         is right. Make pull mode work. Post an eos before pausing in pull
12894         mode.
12895         (gst_base_sink_change_state): Pay attention to the core's
12896         change_state() return val.
12897         
12898         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12899         has-getrange properties. Cleanups.
12900         
12901         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12902         has_getrange and replace with can_activate_pull and
12903         can_activate_push.
12904
12905         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12906         locking comments. Remove has_loop, has_chain and replace with
12907         can_activate_pull and can_activate_push.
12908
12909 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12910
12911         * configure.ac:
12912         * examples/Makefile.am:
12913         * examples/metadata/Makefile.am:
12914         * examples/metadata/read-metadata.c: (message_loop),
12915         (have_pad_handler), (make_pipeline), (print_tag), (main):
12916           Add metadata reading example that loops over a list of filenames,
12917           dumping any tags found.
12918
12919         * gst/gstbus.c: (gst_bus_dispose):
12920         * gst/gstelement.c: (gst_element_dispose):
12921           Release a few potentially-held references in dispose.
12922
12923 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12924
12925         * docs/gst/tmpl/gstminiobject.sgml:
12926           do *not* add tmpl/*.sgml files to CVS!
12927
12928 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12929
12930         * libs/gst/bytestream/.cvsignore:
12931         * libs/gst/bytestream/Makefile.am:
12932         * libs/gst/bytestream/adapter.c:
12933         * libs/gst/bytestream/adapter.h:
12934         * libs/gst/bytestream/bytestream.c:
12935         * libs/gst/bytestream/bytestream.h:
12936         * libs/gst/bytestream/filepad.c:
12937         * libs/gst/bytestream/filepad.h:
12938           removing obsolete files
12939
12940 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12941
12942         * docs/gst/gstreamer-docs.sgml:
12943         * docs/libs/gstreamer-libs-docs.sgml:
12944           disabed additional index entries again, as this makes docs-gen just
12945           slow and they aren't useful yet
12946         * docs/libs/gstreamer-libs-sections.txt:
12947           little -section.txt cleanup for libs
12948
12949 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12950
12951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12952         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12953           fix up some debugging
12954         (gst_base_transform_get_unit_size),
12955         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12956         (gst_base_transform_handle_buffer):
12957         * gst/base/gstbasetransform.h:
12958           handle and store timed NEWSEGMENT events so that subclasses that
12959           calculate time by counting samples have a segment_start time they
12960           need to add to their timestamps - see audioresample
12961
12962 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12963
12964         * gst/gstbin.h:
12965           removed ';' from the end of macro defs
12966         * docs/gst/gstreamer-docs.sgml:
12967         * docs/gst/gstreamer-sections.txt:
12968         * docs/gst/tmpl/.cvsignore:
12969         * gst/gstbus.h:
12970         * gst/gstelement.c: (gst_element_class_init),
12971         (gst_element_set_state), (activate_pads),
12972         (gst_element_save_thyself):
12973         * gst/gstevent.c: (gst_event_new_newsegment):
12974         * gst/gstevent.h:
12975         * gst/gstiterator.c:
12976         * gst/gstiterator.h:
12977         * gst/gstpad.c:
12978         * gst/gstprobe.h:
12979         * gst/gstutils.c: (gst_pad_query_convert):
12980         * gst/gstutils.h:
12981           fixed parameter name mismatches between source, header and docs
12982           added some more docs, resolved the last batch of unused elements in
12983           docs (now someone needs to doc them)
12984
12985 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12988         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12989           don't walk through the plugins backwards.  Where is all this
12990           reversed logic coming from ?
12991
12992 2005-08-25  Wim Taymans  <wim@fluendo.com>
12993
12994         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12995         (gst_base_transform_transform_size),
12996         (gst_base_transform_configure_caps),
12997         (gst_base_transform_get_unit_size),
12998         (gst_base_transform_buffer_alloc),
12999         (gst_base_transform_change_state):
13000         * gst/base/gstbasetransform.h:
13001         Cache caps unit_size.
13002         Make sure we cannot negotiate up and downstream at the
13003         same time.
13004
13005 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13006
13007         * gst/gst.c: (init_pre), (init_post):
13008           register the installed plugin path after the env var
13009         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13010         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13011           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13012           directories, so the tests can prefer uninstalled over installed
13013
13014 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13015
13016         * gst/base/gstbasetransform.h:
13017           comment
13018         * gst/gstpad.c:
13019           add to docs
13020
13021 2005-08-25  Wim Taymans  <wim@fluendo.com>
13022
13023         * gst/gstbin.c: (bin_bus_handler):
13024         Be a bit more conservative about the posted message.
13025         
13026         * gst/gstbus.c: (gst_bus_post):
13027         Some cleanups, warn wrong return values.
13028
13029 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13030
13031         * check/gst/gstbin.c: (GST_START_TEST):
13032         * gst/gstbin.c: (bin_bus_handler):
13033         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13034         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13035         (gst_message_new_warning), (gst_message_new_tag),
13036         (gst_message_new_state_changed), (gst_message_new_segment_start),
13037         (gst_message_new_segment_done), (gst_message_new_custom):
13038         * gst/gstmessage.h:
13039         * tools/gst-launch.c: (event_loop):
13040         * tools/gst-md5sum.c: (event_loop):
13041           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13042
13043 2005-08-25  Wim Taymans  <wim@fluendo.com>
13044
13045         * check/generic/states.c: (GST_START_TEST):
13046         Cleanup can be done at the end.
13047
13048         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13049         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13050         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13051         Oh boy.. Thanks for finding this, Thomas. 
13052
13053 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13054
13055         * docs/gst/gstreamer.types:
13056           added missing types
13057
13058 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13059
13060         * docs/gst/gstreamer-docs.sgml:
13061         * docs/gst/gstreamer-sections.txt:
13062         * docs/gst/tmpl/.cvsignore:
13063         * gst/gstbin.c:
13064         * gst/gstiterator.c:
13065         * gst/gstutils.c:
13066         * gst/registries/gstxmlregistry.h:
13067           added missing classes and symbols (123 more to go)
13068           removed removed symbols from section file
13069           fixed many doc-comments
13070
13071 2005-08-24  Wim Taymans  <wim@fluendo.com>
13072
13073         * check/generic/states.c: (GST_START_TEST):
13074         Make sure all tasks are stopped.
13075
13076         * check/gst/gstbin.c: (GST_START_TEST):
13077         Unref after usage for proper valgrinding.
13078
13079         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13080         Really wait for the task to stop before destroying the
13081         mutex.
13082
13083         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13084         (gst_queue_src_activate_push):
13085         Small cleanups. Don't stop the task when we did not start
13086         it.
13087
13088         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13089         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13090         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13091         (gst_task_join):
13092         * gst/gsttask.h:
13093         Protect the stream lock with the object lock.
13094         Disallow setting the stream lock when running.
13095         Add cleanup_all to wait for the threadpool to finish.
13096         Remove code to autoallocate a mutex if none was provided.
13097         Add _join() to wait for a task to stop.
13098         Protect the thread pool with a global lock.
13099
13100 2005-08-24  Wim Taymans  <wim@fluendo.com>
13101
13102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13103         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13104         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13105         * gst/base/gstbasesink.h:
13106         Handle newsegment events correctly.
13107         Drop buffers out of the segment range.
13108
13109 2005-08-22  Andy Wingo  <wingo@pobox.com>
13110
13111         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13112         macro, implements an interface and gstimplementsinterface for a
13113         new type.
13114
13115 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13116
13117         * check/Makefile.am:
13118         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
13119           add a test that does a bunch of state changes on elements
13120           needs some fixing for valgrind
13121         * check/states/sinks.c: (gst_object_suite):
13122           whitespace
13123         * gst/gstcaps.h:
13124           add prototype for gst_caps_is_equal_fixed
13125         * gst/gstplugin.c:
13126         * gst/gstregistrypool.c:
13127           doc fixes
13128
13129 2005-08-24  Andy Wingo  <wingo@pobox.com>
13130
13131         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
13132         convert a negative value. Doesn't make much sense. Mostly this is
13133         here to force callers to ensure -1 maps to -1.
13134
13135 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13136
13137         * docs/pwg/advanced-types.xml:
13138           Well done to Michael for catching my deliberate introduction
13139           of this spelling mistake. 
13140         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
13141         * gst/gstelement.h:
13142           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
13143           unlink pads before removing the element from the bin.
13144
13145 2005-08-24  Andy Wingo  <wingo@pobox.com>
13146
13147         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
13148         the same thing as GST_DEBUG=*:4.
13149         (parse_debug_level, parse_debug_category): New helper parsers.
13150
13151 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13154         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
13155         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
13156         (gst_base_transform_buffer_alloc),
13157         (gst_base_transform_handle_buffer):
13158           use gboolean return values and pointers to size so we can use the
13159           full GST_BUFFER_SIZE range (guint) for buffer sizes
13160           use GstPadDirection for transform_caps
13161         * gst/base/gstbasetransform.h:
13162           rename get_size to get_unit_size since that's what it is
13163         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13164           use GstPadDirection for transform_caps
13165         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13166         * gst/gstutils.h:
13167           cleanup and debugging
13168
13169 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13170
13171         * gst/gstelement.c: (gst_element_class_init),
13172         (gst_element_set_state), (activate_pads),
13173         (gst_element_save_thyself):
13174         * tools/gst-compprep.c: (main):
13175         * tools/gst-inspect.c: (print_element_properties_info):
13176         * tools/gst-xmlinspect.c: (print_element_properties):
13177           Fixed long standing mem-leak
13178
13179 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13180
13181         * check/gst/gstbin.c: (GST_START_TEST):
13182         * gst/gstbin.c: (bin_bus_handler):
13183         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13184         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13185         (gst_message_new_warning), (gst_message_new_tag),
13186         (gst_message_new_state_changed), (gst_message_new_segment_start),
13187         (gst_message_new_segment_done), (gst_message_new_custom):
13188         * gst/gstmessage.h:
13189         * tools/gst-launch.c: (event_loop):
13190         * tools/gst-md5sum.c: (event_loop):
13191           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13192           that applications can sensibly post custom messages with references
13193           to their own objects.
13194
13195 2005-08-24  Andy Wingo  <wingo@pobox.com>
13196
13197         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13198         already.
13199
13200 2005-08-24  Wim Taymans  <wim@fluendo.com>
13201
13202         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13203         (gst_base_transform_transform_caps),
13204         (gst_base_transform_transform_size),
13205         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13206         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13207         (gst_base_transform_handle_buffer):
13208         * gst/base/gstbasetransform.h:
13209         Many fixes and new features added by Thomas. Can now also do
13210         transforms with variable sizes and a custom fixate_caps function.
13211
13212 2005-08-24  Wim Taymans  <wim@fluendo.com>
13213
13214         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13215         Some debugging.
13216
13217         * gst/gstclock.h:
13218         Cast to ClockTime before formatting to time.
13219
13220         * gst/gstutils.h:
13221         Cleanups.
13222
13223 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13224
13225         * check/gst-libs/controller.c: (GST_START_TEST),
13226         (gst_controller_suite):
13227         * docs/gst/tmpl/gstcaps.sgml:
13228         * docs/gst/tmpl/gstghostpad.sgml:
13229         * docs/gst/tmpl/gstquery.sgml:
13230         * docs/gst/tmpl/gstutils.sgml:
13231         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13232         (gst_object_sink_values), (gst_object_get_value_arrays),
13233         (gst_object_get_value_array):
13234           gracefully handle helper method calls to objects that are not beeing
13235           controlled, added test case for that          
13236
13237 2005-08-23  Wim Taymans  <wim@fluendo.com>
13238
13239         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13240         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13241         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13242         (gst_event_parse_qos), (gst_event_new_seek),
13243         (gst_event_parse_seek):
13244         * gst/gstevent.h:
13245         Some more debugging output and doc cleanups.
13246
13247         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13248         Fix possible deadlock.
13249
13250 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13251
13252         * docs/gst/gstreamer-docs.sgml:
13253         * docs/gst/gstreamer-sections.txt:
13254         * docs/gst/gstreamer.types:
13255         * docs/gst/tmpl/.cvsignore:
13256         * gst/gstbin.h:
13257         * gst/gstbus.c:
13258         * gst/gstelement.c:
13259         * gst/gstevent.h:
13260           added 100 symbols from gstreamer-unused.txt to the right sections
13261           fixed more broken comments
13262           added GstBus to docs
13263
13264 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13265
13266         * docs/gst/gstreamer-sections.txt:
13267         * docs/gst/tmpl/.cvsignore:
13268         * docs/gst/tmpl/gstbin.sgml:
13269         * docs/gst/tmpl/gstbuffer.sgml:
13270         * gst/base/gstbasesrc.c:
13271         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13272         * gst/gstbuffer.c:
13273         * gst/gstbuffer.h:
13274         * tools/gst-launch.1.in:
13275           inlined more doc comments, added missing comments and fixed comments
13276           fixed typos
13277
13278 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13279
13280         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13281           some debugging
13282         * gst/gstcaps.h:
13283           whitespace fixes
13284         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13285           more debugging
13286         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13287         * gst/gststructure.h:
13288           add a fixate function for booleans; add a FIXME that these func
13289           names should probably be gst_structure_fixate_*
13290
13291 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13292
13293         * docs/gst/gstreamer-docs.sgml:
13294         * docs/gst/gstreamer-sections.txt:
13295         * gst/Makefile.am:
13296         * gst/gstbin.c: (gst_bin_get_type),
13297         (gst_bin_child_proxy_get_child_by_index),
13298         (gst_bin_child_proxy_get_children_count),
13299         (gst_bin_child_proxy_init):
13300         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13301         (gst_child_proxy_get_child_by_index),
13302         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13303         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13304         (gst_child_proxy_get), (gst_child_proxy_set_property),
13305         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13306         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13307         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13308         * gst/gstchildproxy.h:
13309         * gst/parse/grammar.y:
13310         * tools/gst-inspect.c: (print_interfaces),
13311         (print_element_properties_info), (print_element_info):
13312           ported gstchildproxy over from 0.8
13313           ported gst-inspect fixes and enhancements over from 0.8
13314
13315 2005-08-22  Wim Taymans  <wim@fluendo.com>
13316
13317         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13318         (gst_base_transform_handle_buffer):
13319         Also call the transform function if we have ANY caps.
13320
13321         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13322         Fix debug info.
13323
13324 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13325
13326         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13327           Don't pretend to handle seek events if the source is not seekable
13328
13329 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13330
13331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13332           Remove extra parameter to debug output
13333
13334         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13335         (gst_base_src_do_seek), (gst_base_src_activate_push):
13336           Fix seek event handling.
13337
13338         * gst/gstpipeline.c: (gst_pipeline_change_state):
13339         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13340         (gst_queue_src_activate_push):
13341           Don't start the src pad task on FLUSH_STOP if the pad
13342           isn't linked.
13343           Debug changes.
13344
13345 2005-08-22  Wim Taymans  <wim@fluendo.com>
13346
13347         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13348         Added check for gst_static_caps_get() refcounting.
13349
13350 2005-08-22  Wim Taymans  <wim@fluendo.com>
13351
13352         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13353         Make _static_caps_get() refcounting sane.
13354         
13355         * gst/gstelement.c: (gst_element_set_state):
13356         Add g_return_val_if_fail() to protect against segfaults.
13357
13358 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13359
13360         * docs/gst/tmpl/gstevent.sgml:
13361         * gst/gstevent.c:
13362         * gst/gstevent.h:
13363           inlined remaining docs, added missing doc comments
13364
13365 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * check/gst/gstbin.c: (GST_START_TEST):
13368           since we don't know when preroll is done, use refcount range
13369           check for the sink
13370         * gst/check/gstcheck.h:
13371           add macro for checking refcount range
13372
13373 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13374
13375         * check/Makefile.am:
13376           clean up environment for when registry gets built versus
13377           when actual tests are run; valgrind seems to not report
13378           leaks if GST_PLUGIN_PATH is set to some specific values
13379         * check/gst/gstbin.c: (GST_START_TEST):
13380           add more refcounting checks; maybe this exposes a
13381           preroll lock bug ?
13382         * common/check.mak:
13383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13384         * gst/check/gstcheck.h:
13385         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13386         (gst_bin_change_state):
13387         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13388           add/fix debugging/whitespace
13389
13390 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13391
13392         * check/gst/gstevent.c: (event_probe), (test_event),
13393         (GST_START_TEST):
13394          Er, don't call gst_bin_watch_for_state_change you idiot.
13395
13396 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13397
13398         * check/Makefile.am:
13399           Use CHECK_CFLAGS and CHECK_LIBS
13400         * check/gst/gstevent.c: (event_probe), (test_event),
13401         (GST_START_TEST):
13402           Don't leak events.
13403         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13404         (gst_base_src_start), (gst_base_src_stop),
13405         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13406         (gst_base_src_change_state):
13407           Sprinkle gst_base_src_stop liberally around error paths to fix
13408           problems reusing a source after failed state changes.
13409         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13410         (helper_find_suggest), (gst_type_find_helper):
13411           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13412         * gst/gstevent.h:
13413         * docs/gst/tmpl/gstevent.sgml:
13414           Migrate part of the docs from the SGML file. Wait for ensonic to
13415           tell me how I did it wrong ;)
13416         * tools/gst-typefind.c: (main):
13417           Extra robustness to state changes between files.
13418
13419 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13420
13421         * check/Makefile.am:
13422           don't valgrind the controller test - it's leaking - Stefan, HELP
13423         * gst/check/gstcheck.c: (gst_check_message_error),
13424         (gst_check_chain_func), (gst_check_setup_element),
13425         (gst_check_teardown_element), (gst_check_setup_src_pad),
13426         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13427         (gst_check_teardown_sink_pad):
13428         * gst/check/gstcheck.h:
13429           add a bunch of methods to set up elements, and src and sink pads
13430         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13431         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13432         (GST_START_TEST):
13433           use them
13434         * gst/gstmessage.c:
13435         * gst/gsttag.h:
13436           whitespace/doc fixes
13437
13438 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13439
13440         * gst/gstelement.h:
13441           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13442           be handled by the application and not always printed as well
13443
13444 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13445
13446         * check/Makefile.am:
13447           set GST_TOOLS_DIR
13448         * gst/check/gstcheck.c: (gst_check_message_error):
13449         * gst/check/gstcheck.h:
13450           add a fail_unless_equals_int
13451           add fail_unless for error messages
13452
13453 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * check/Makefile.am:
13456         * check/gst.supp:
13457         * common/Makefile.am:
13458         * common/check.mak:
13459         * common/gst.supp:
13460           factor out some of the common stuff so we can use it
13461
13462 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13463
13464         * check/Makefile.am:
13465         * check/gst/gstiterator.c: (GST_START_TEST):
13466         * check/gst/gstsystemclock.c: (GST_START_TEST),
13467         (gst_systemclock_suite):
13468         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13469         * gst/gstclock.c:
13470           valgrind more tests
13471
13472 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13473
13474         * check/elements/.cvsignore:
13475         * check/elements/gstfakesrc.c:
13476           rename to name of element
13477         * check/elements/identity.c: (chain_func), (event_func),
13478         (setup_identity), (cleanup_identity), (GST_START_TEST),
13479         (identity_suite), (main):
13480           add a test for identity
13481         * check/Makefile.am:
13482         * pkgconfig/Makefile.am:
13483         * pkgconfig/gstreamer-check.pc.in:
13484         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13485         * gst/check:
13486         * gst/Makefile.am:
13487         * configure.ac:
13488           move the check stuff to a library that gets installed
13489         * check/gst-libs/controller.c: (GST_START_TEST):
13490         * check/gst-libs/gdp.c:
13491         * check/gst/gst.c: (GST_START_TEST):
13492         * check/gst/gstbin.c:
13493         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13494         * check/gst/gstbus.c:
13495         * check/gst/gstcaps.c: (GST_START_TEST):
13496         * check/gst/gstelement.c:
13497         * check/gst/gstghostpad.c:
13498         * check/gst/gstiterator.c:
13499         * check/gst/gstmessage.c:
13500         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13501         * check/gst/gstobject.c:
13502         * check/gst/gstpad.c: (GST_START_TEST):
13503         * check/gst/gststructure.c: (GST_START_TEST):
13504         * check/gst/gstsystemclock.c: (GST_START_TEST),
13505         (gst_systemclock_suite):
13506         * check/gst/gsttag.c: (gst_tag_suite):
13507         * check/gst/gstvalue.c:
13508         * check/pipelines/cleanup.c:
13509         * check/pipelines/simple_launch_lines.c:
13510         * check/states/sinks.c:
13511           change include statement
13512
13513         * docs/gst/gstreamer-sections.txt:
13514         * docs/gst/tmpl/gstpad.sgml:
13515           document more pad stuff
13516         * gst/gstminiobject.c: (gst_mini_object_ref),
13517         (gst_mini_object_unref):
13518           debug refcounting
13519
13520 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13521
13522         * docs/gst/tmpl/gst.sgml:
13523         * gst/gst.c:
13524           eliminate another tmpl file, fix spelling in the long-description
13525
13526 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13527
13528         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13529         (test_event), (timediff), (gstevents_suite):
13530           Should fix build on 64-bit arch's
13531
13532 2005-08-18  Andy Wingo  <wingo@pobox.com>
13533
13534         Make sure that when a pipeline goes to PLAYING, that data has
13535         actually hit the sink.
13536
13537         * check/states/sinks.c (test_sink): A sink that doesn't get any
13538         data shouldn't return SUCCESS for going to either PLAYING or
13539         PAUSED. Test also the return values on the way back down.
13540
13541         * gst/gstelement.c (gst_element_set_state): When changing the
13542         state of an element currently changing state asynchronously, go to
13543         lost-state after commiting the pending state. Makes future calls
13544         to get_state continue to return ASYNC.
13545
13546         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13547         ASYNC when going to PLAYING if we still don't have preroll, as can
13548         happen with live sources.
13549
13550 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13551
13552         * docs/pwg/advanced-types.xml:
13553           Hack long paragraph into 2 chunks as a workaround for buggy
13554           jadetex version in sid and breezy that loops infinitely and
13555           eats all RAM.
13556
13557 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13558
13559         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13560         (test_event), (timediff), (gstevents_suite):
13561           Provide more error margin in clock measurements to allow for 
13562           g_get_current_time inaccuracies.
13563
13564 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13565
13566         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13567         (test_event), (timediff), (gstevents_suite):
13568            Fix error message output so I might be able to tell why the
13569            test works here but fails on the build farm.
13570
13571 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13572
13573         * check/Makefile.am:
13574         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13575         (test_event), (timediff), (gstevents_suite), (main):
13576           I wrote a test!
13577
13578         * docs/design/part-seeking.txt:
13579           Spelling correction
13580
13581         * docs/gst/tmpl/gstevent.sgml:
13582         * docs/gst/tmpl/gstfakesrc.sgml:
13583           Docs updates.
13584
13585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13586           Treat a buffer-without-newsegment the same as a receiving 
13587           a newsegment not in time format, and disable syncing to the clock
13588           with a warning.
13589
13590         * gst/gstbus.c: (gst_bus_set_sync_handler):
13591           Assert if anyone tries to replace the existing sync_handler for bus, 
13592           as only the owner should be setting it.
13593
13594         * gst/gstevent.h:
13595           Have a fixed set of custom event enums with events identified by
13596           their structure name (as in 0.8), rather than a free-for-all
13597           allowing collisions between enum values from different plugins.
13598
13599         * gst/gstpad.c: (gst_pad_class_init):
13600           Docs change.
13601           
13602         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13603           Handle out-of-band downstream events from the sending thread.
13604
13605 2005-08-17  Andy Wingo  <wingo@pobox.com>
13606
13607         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13608         play-timeout==0 to mean no timeout at all. In that case, don't
13609         bother with a get_state or a warning, just return directly, even
13610         if it's ASYNC.
13611
13612         * gst/base/gstbasetransform.c: Debug changes.
13613
13614         * gst/gstutils.h:
13615         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13616         ensure bins post state change messages. A bit of a hack but I can't
13617         think of a way to avoid it.
13618
13619         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13620
13621 2005-08-16  Andy Wingo  <wingo@pobox.com>
13622
13623         * gst/base/gstadapter.h:
13624         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13625         peek() but you own the data. Not terribly efficient atm.
13626
13627 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13628
13629         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13630         (gst_element_found_tags):
13631         * gst/gstutils.h:
13632           Add two utility functions for tag handling.
13633
13634 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13635
13636         * docs/manual/advanced-dataaccess.xml:
13637         * docs/manual/basics-helloworld.xml:
13638           Fix docs to use _bin_add() before _link(), which fixes the examples
13639           with recent core versions (reported by Madhan Raj M
13640           <raj_madan@rediffmail.com>, #313199).
13641
13642 2005-08-16  Wim Taymans  <wim@fluendo.com>
13643
13644         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13645         Added subtract checks.
13646
13647         * docs/design/part-events.txt:
13648         Some more docs about newsegment
13649
13650         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13651         Fix FIXME
13652
13653         * gst/gstcaps.c: (gst_caps_to_string):
13654         Add comments, cleanups.
13655         
13656         * gst/gstelement.c: (gst_element_save_thyself):
13657         cleanups
13658         
13659         * gst/gstvalue.c: (gst_value_collect_int_range),
13660         (gst_string_unwrap), (gst_value_union_int_int_range),
13661         (gst_value_union_int_range_int_range),
13662         (gst_value_intersect_int_int_range),
13663         (gst_value_intersect_int_range_int_range),
13664         (gst_value_intersect_double_double_range),
13665         (gst_value_intersect_double_range_double_range),
13666         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13667         (gst_value_subtract_int_range_int),
13668         (gst_value_subtract_double_range_double),
13669         (gst_value_subtract_double_range_double_range),
13670         (gst_value_subtract_from_list), (gst_value_subtract_list),
13671         (gst_value_can_compare), (gst_value_compare_fraction):
13672         Cleanups, add comments, remove unneeded asserts.
13673
13674 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * tools/gst-launch.c: (event_loop):
13677           don't convert NULL structures to strings
13678
13679 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13680
13681         * docs/gst/gstreamer-sections.txt:
13682           made some defines private
13683         * docs/gst/tmpl/gstconfig.sgml:
13684         * docs/gst/tmpl/gstqueue.sgml:
13685         * docs/gst/tmpl/gsttaglist.sgml:
13686         * docs/gst/tmpl/gsttypes.sgml:
13687         * docs/gst/tmpl/gstutils.sgml:
13688         * docs/pwg/appendix-porting.xml:
13689         * gst/base/gstbasesink.h:
13690         * gst/base/gstbasesrc.c:
13691         * gst/base/gstbasesrc.h:
13692         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13693         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13694         * gst/gstelement.c: (gst_element_class_init):
13695         * gst/gstpad.c: (gst_pad_class_init):
13696         * gst/gstqueue.c: (gst_queue_class_init):
13697         * gst/gstxml.c: (gst_xml_class_init):
13698           documented all undocumented signal inline
13699         * libs/gst/controller/gst-controller.h:
13700           added padding
13701
13702 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13703
13704         * docs/pwg/appendix-porting.xml:
13705           Document _set_link_function -> _set_setcaps_function.
13706
13707 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13708
13709         * check/Makefile.am:
13710           add a .check target for running the check
13711         * check/gst-libs/controller.c: (GST_START_TEST):
13712           cosmetic fixups
13713         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13714           complete checks for gstbuffer; would be nice if I could get the
13715           gcov stuff to work so I can see if I actually completed gstbuffer.c
13716         * check/gstcheck.h:
13717           add ASSERT_BUFFER_REFCOUNT
13718
13719 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13720
13721         * docs/gst/gstreamer-sections.txt:
13722         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13723         * gst/gsttag.h:
13724           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13725           spew out a warning if a tag that is already registered
13726           is re-registered, unless it is re-registered with a 
13727           different type (#308438).
13728
13729 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13730
13731         * docs/pwg/appendix-porting.xml:
13732         * docs/pwg/building-state.xml:
13733           Add some paragraphs about state changes in 0.9 to the PWG
13734           and the porting guide, in particular about the new meaning
13735           of GST_STATE_PAUSED and how to write state change functions
13736           with concurrent access by multiple threads in mind.
13737
13738 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13739
13740         * docs/gst/gstreamer-docs.sgml:
13741         * docs/libs/gstreamer-libs-docs.sgml:
13742           added deprecation and since indexes
13743         * libs/gst/controller/gst-controller.c:
13744         * libs/gst/controller/gst-helper.c:
13745           added since tags
13746
13747
13748 2005-08-11  Wim Taymans  <wim@fluendo.com>
13749
13750         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13751         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13752         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13753         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13754         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13755         (gst_ghost_pad_set_target):
13756         Actually implement (re)setting the target on a ghostpad
13757         as described in the docs.
13758
13759 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13760
13761         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13762           Check whether GST_DEBUG_NO_COLOR environment variable is
13763           set and disable coloured debug output if that is the case.
13764
13765 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13766
13767         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13768         (gst_type_find_helper):
13769           The memory returned by gst_type_find_peek() needs to
13770           stay valid until the end of a typefind function, and
13771           typefind functions may keep results from different 
13772           offsets around, so we can't just unref the buffer from
13773           the previous _peek(), but have to save all buffers 
13774           returned by _peek() until typefinding is done and only
13775           free them then.
13776
13777 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13778
13779         * docs/gst/gstreamer-sections.txt:
13780         * gst/gstutils.h:
13781           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13782
13783 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13784
13785         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13786           Fix a pretty good memleak.
13787
13788 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13789
13790         * gst/gstiterator.h:
13791           Fix wrong include and 'make distcheck'.
13792
13793 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13794
13795         * gst/gstbin.c: (bin_bus_handler):
13796           Use gst_element_post_message() instead.
13797
13798 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13799
13800         * gst/base/gstadapter.h:
13801         * gst/base/gstbasesink.h:
13802         * gst/base/gstbasesrc.h:
13803         * gst/base/gstbasetransform.h:
13804         * gst/base/gstcollectpads.h:
13805         * gst/base/gstpushsrc.h:
13806         * gst/gstiterator.h:
13807           Add padding to our base elements' class and instance structs and
13808           to GstIterator (you will need to rebuild all plugins and apps!)
13809
13810 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13811
13812         * gst/gstbin.c: (bin_bus_handler):
13813           Make default message forwarding from child->bus to bin->bus
13814           threadsafe and make it not emit warnings if the parent has no bus.
13815
13816 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13817
13818         * gst/gstelement.c: (activate_pads):
13819           On paused->ready, set pad->caps to NULL, as is the documented
13820           behaviour in this state change. Fixes playback of series of
13821           media files when visualization is enabled in Totem.
13822
13823 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13824
13825         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13826           Allow NULL as filter-caps (which means "any").
13827
13828 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13829
13830         * docs/libs/gstreamer-libs-sections.txt:
13831         * libs/gst/controller/gst-controller.c:
13832         * libs/gst/controller/gst-controller.h:
13833         * libs/gst/controller/gst-helper.c:
13834           adding more entries to the docs and fix small doc-bugs
13835
13836 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13837
13838         * docs/gst/gstreamer-docs.sgml:
13839         * docs/gst/gstreamer-sections.txt:
13840         * docs/gst/gstreamer.types:
13841         * docs/gst/tmpl/gstbasesink.sgml:
13842         * docs/gst/tmpl/gstbasesrc.sgml:
13843         * docs/gst/tmpl/gstbasetransform.sgml:
13844         * docs/gst/tmpl/gstfakesrc.sgml:
13845         * gst/base/gstcollectpads.c:
13846         * gst/base/gstcollectpads.h:
13847         * libs/gst/controller/gst-controller.c:
13848         * libs/gst/controller/gst-controller.h:
13849         * libs/gst/controller/gst-helper.c:
13850         * libs/gst/controller/gst-interpolation.c:
13851         * libs/gst/controller/lib.c:
13852           added long/short desc for controller docs
13853           added collectpads base class docs
13854           added correct includes to base-class docs
13855
13856 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13857
13858         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13859         (gst_test_mono_source_set_property),
13860         (gst_test_mono_source_class_init), (GST_START_TEST),
13861         (gst_controller_suite):
13862         * docs/gst/gstreamer-docs.sgml:
13863         * docs/gst/gstreamer-sections.txt:
13864         * docs/gst/gstreamer.types:
13865         * docs/libs/gstreamer-libs-docs.sgml:
13866         * docs/libs/gstreamer-libs-sections.txt:
13867         * gst/base/gstadapter.c:
13868         * libs/gst/controller/gst-controller.c:
13869         (gst_controlled_property_new), (gst_controlled_property_free),
13870         (gst_controller_new_valist),
13871         (gst_controller_remove_properties_valist),
13872         (gst_controller_sink_values), (_gst_controller_finalize):
13873         * libs/gst/controller/gst-controller.h:
13874         * libs/gst/controller/gst-helper.c:
13875         (gst_object_control_properties), (gst_object_uncontrol_properties),
13876         (gst_object_get_controller), (gst_object_set_controller),
13877         (gst_object_sink_values), (gst_object_get_value_arrays),
13878         (gst_object_get_value_array):
13879           more tests (and fixes) for the controller
13880           more docs for the controller
13881           integrated companies docs for the adapter 
13882
13883 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13886         (GST_START_TEST), (fakesrc_suite):
13887           add tests for sizetype
13888
13889 2005-08-04  Andy Wingo  <wingo@pobox.com>
13890
13891         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13892         fixes buffer_alloc proxying among other things.
13893
13894         * gst/base/gstbasetransform.c:
13895         * gst/base/gstbasetransform.h:
13896         Revert patch to gstbasetransform from 7-28 removing
13897         delay_configure.
13898
13899         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13900         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13901         Semantics changed, should return not the size of the output buffer
13902         but the byte size of a buffer with a given caps.
13903
13904         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13905         debug object.
13906         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13907         out) are not the pad caps until setcaps finishes.
13908         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13909         not-in-place case as well. Deal with changing from in-place to
13910         not-in-place within calling pad_alloc_buffer. Still a bit
13911         concerned about the overhead here...
13912
13913 2005-08-03  Andy Wingo  <wingo@pobox.com>
13914
13915         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13916         fixating is an error.
13917
13918 2005-08-04  Edward Hervey  <edward@fluendo.com>
13919
13920         * gst/base/gstadapter.h: 
13921         Added gst_adapter_get_type() to the header
13922
13923 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13924
13925         * check/Makefile.am:
13926         * check/gst-libs/controller.c:
13927         * libs/gst/controller/gst-controller.c:
13928         (gst_controller_new_valist):
13929           added check test suite for the controller
13930         * gst/base/gstpushsrc.c:
13931           fixed a doc typo
13932
13933 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13934
13935         * docs/gst/Makefile.am:
13936         * docs/gst/gstreamer-docs.sgml:
13937         * docs/gst/gstreamer-sections.txt:
13938         * docs/gst/gstreamer.types:
13939         * docs/gst/tmpl/gstfakesrc.sgml:
13940         * gst/base/README:
13941         * gst/base/gstbasesink.c:
13942         * gst/base/gstbasesink.h:
13943         * gst/base/gstbasesrc.c:
13944         * gst/base/gstbasesrc.h:
13945         * gst/base/gstbasetransform.c:
13946         * gst/base/gstpushsrc.c:
13947         * gst/base/gstpushsrc.h:
13948           add short/long description docs to base classes
13949           add pushsrc to the docs
13950           remove consolidated doc fragments
13951
13952 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13953
13954         * configure.ac:
13955         * docs/libs/Makefile.am:
13956         * docs/libs/gstreamer-libs-docs.sgml:
13957         * docs/libs/gstreamer-libs-sections.txt:
13958         * docs/libs/gstreamer-libs.types:
13959         * examples/Makefile.am:
13960         * examples/controller/.cvsignore:
13961         * examples/controller/Makefile.am:
13962         * examples/controller/audio-example.c: (main):
13963         * libs/gst/Makefile.am:
13964         * libs/gst/controller/.cvsignore:
13965         * libs/gst/controller/Makefile.am:
13966         * libs/gst/controller/gst-controller.c:
13967         (on_object_controlled_property_changed), (gst_timed_value_compare),
13968         (gst_timed_value_find),
13969         (gst_controlled_property_set_interpolation_mode),
13970         (gst_controlled_property_new), (gst_controlled_property_free),
13971         (gst_controller_find_controlled_property),
13972         (gst_controller_new_valist), (gst_controller_new),
13973         (gst_controller_remove_properties_valist),
13974         (gst_controller_remove_properties), (gst_controller_set),
13975         (gst_controller_set_from_list), (gst_controller_unset),
13976         (gst_controller_get), (gst_controller_get_all),
13977         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13978         (gst_controller_get_value_array),
13979         (gst_controller_set_interpolation_mode),
13980         (_gst_controller_finalize), (_gst_controller_init),
13981         (_gst_controller_class_init), (gst_controller_get_type):
13982         * libs/gst/controller/gst-controller.h:
13983         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13984         (g_object_uncontrol_properties), (g_object_get_controller),
13985         (g_object_set_controller), (g_object_sink_values),
13986         (g_object_get_value_arrays), (g_object_get_value_array):
13987         * libs/gst/controller/gst-interpolation.c:
13988         (gst_controlled_property_find_timed_value_node),
13989         (interpolate_none_get), (interpolate_trigger_get),
13990         (interpolate_trigger_get_value_array):
13991         * libs/gst/controller/lib.c: (gst_controller_init):
13992         * pkgconfig/Makefile.am:
13993         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13994         * pkgconfig/gstreamer-control.pc.in:
13995         * testsuite/Makefile.am:
13996         * testsuite/controller/.cvsignore:
13997         * testsuite/controller/Makefile.am:
13998         * testsuite/controller/interpolator.c: (main):
13999           added controller code
14000           removed dparam pc files
14001
14002 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14003         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14004         (gst_collectpads_stop):
14005           Broadcast the condition when shutting down, to make sure we wake all
14006           threads up. Shut down pads on finalize, for safety.
14007
14008 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14009         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14010         (gst_base_transform_handle_buffer),
14011         (gst_base_transform_change_state):
14012           Handle PAUSED->READY->PAUSED transition after negotiation
14013           occurred already.
14014         * gst/gstmessage.c: (gst_message_init):
14015           Extra piece of debug for new messages.
14016
14017 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14018
14019         * configure.ac:
14020         * docs/gst/tmpl/gstbasesrc.sgml:
14021         * docs/gst/tmpl/gstelement.sgml:
14022         * docs/gst/tmpl/gstevent.sgml:
14023         * docs/gst/tmpl/gstfakesrc.sgml:
14024         * docs/gst/tmpl/gstformat.sgml:
14025         * docs/gst/tmpl/gstghostpad.sgml:
14026         * docs/gst/tmpl/gstpad.sgml:
14027         * docs/gst/tmpl/gstquery.sgml:
14028         * docs/gst/tmpl/gststructure.sgml:
14029         * docs/gst/tmpl/gsttaglist.sgml:
14030         * docs/gst/tmpl/gstvalue.sgml:
14031         * docs/libs/gstreamer-libs-docs.sgml:
14032         * docs/libs/gstreamer-libs-sections.txt:
14033         * docs/libs/gstreamer-libs.types:
14034         * libs/gst/Makefile.am:
14035         * libs/gst/control/.cvsignore:
14036         * libs/gst/control/Makefile.am:
14037         * libs/gst/control/control.c:
14038         * libs/gst/control/control.h:
14039         * libs/gst/control/dparam.c:
14040         * libs/gst/control/dparam.h:
14041         * libs/gst/control/dparam_smooth.c:
14042         * libs/gst/control/dparam_smooth.h:
14043         * libs/gst/control/dparamcommon.h:
14044         * libs/gst/control/dparammanager.c:
14045         * libs/gst/control/dparammanager.h:
14046         * libs/gst/control/dplinearinterp.c:
14047         * libs/gst/control/dplinearinterp.h:
14048         * libs/gst/control/unitconvert.c:
14049         * libs/gst/control/unitconvert.h:
14050         * testsuite/Makefile.am:
14051         * testsuite/dynparams/.cvsignore:
14052         * testsuite/dynparams/Makefile.am:
14053         * testsuite/dynparams/dparamstest.c:
14054         * tools/Makefile.am:
14055         * tools/gst-inspect.c: (print_element_info), (main):
14056         * tools/gst-xmlinspect.c: (print_element_info), (main):
14057           deactivate and remove dparams (libgstcontrol)
14058
14059 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14060
14061         * gst/elements/gsttypefindelement.c:
14062         (gst_type_find_element_have_type), (gst_type_find_element_init),
14063         (stop_typefinding), (gst_type_find_element_handle_event),
14064         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14065         * gst/elements/gsttypefindelement.h:
14066           Set caps on all outgoing buffers, not just the first one.
14067
14068 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14069
14070         * gst/elements/gsttypefindelement.c:
14071         (gst_type_find_element_have_type),
14072         (gst_type_find_element_check_set_buffer_caps),
14073         (gst_type_find_element_init), (stop_typefinding),
14074         (gst_type_find_element_handle_event),
14075         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14076         * gst/elements/gsttypefindelement.h:
14077           Set caps on first outgoing buffer when we've found the type.
14078
14079 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14080
14081         * docs/gst/gstreamer-docs.sgml:
14082         * docs/gst/gstreamer-sections.txt:
14083         * docs/gst/tmpl/gstscheduler.sgml:
14084         * docs/gst/tmpl/gstschedulerfactory.sgml:
14085           Remove some old cruft from docs.
14086
14087 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14088
14089         * gst/gstpad.h:
14090           Fix inline docs for GstPadLinkReturn.
14091           
14092         * gst/gststructure.c: (gst_structure_has_name):
14093         * gst/gststructure.h:
14094         * docs/gst/gstreamer-sections.txt:
14095           New API: gst_structure_has_name().
14096
14097 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14098
14099         * configure.ac:
14100           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14101           and _LARGEFILE_SOURCE in config.h as required. Do not 
14102           export those flags in our .pc files any longer (#142209).
14103
14104           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14105
14106         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14107         (gst_file_sink_do_seek), (gst_file_sink_event),
14108         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14109           Redo seek/tell calls with large file support in mind; add some
14110           debugging messages; add log message that tells us when large
14111           file support is unavailable or not enabled for some reason.
14112
14113         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14114           Add log message that tells us when large file support 
14115           is unavailable or not enabled for some reason.
14116
14117 2005-07-29  Wim Taymans  <wim@fluendo.com>
14118
14119         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14120         Added test for removing an element with ghostpad from a bin.
14121         Fixed test as current implementation does the right thing.
14122
14123         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
14124         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
14125         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
14126         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
14127         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
14128         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14129         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14130         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14131         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
14132         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
14133         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
14134         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
14135         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14136         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
14137         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
14138         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
14139         * gst/gstghostpad.h:
14140         Clean up ghostpads, remove properties for internal stuff.
14141         Make threadsafe.
14142         Fix refcounting.
14143         Prepare for switching targets, not all use cases work yet.
14144
14145 2005-07-29  Wim Taymans  <wim@fluendo.com>
14146
14147         * docs/design/part-gstghostpad.txt:
14148         Small update.
14149
14150         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14151         (gst_bin_remove_func):
14152         Unlinking pads while holding the bin LOCK is not a good
14153         idea.
14154
14155         * gst/gstpad.c: (gst_pad_class_init),
14156         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
14157         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
14158         No prob setting template after creating the pad.
14159
14160 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14161
14162         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14163         (gst_bus_peek), (gst_bus_source_dispatch),
14164         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14165         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14166           gst_bus_poll may be called from other threads. Handle
14167           this nicely by not making poll_data disappear off the
14168           stack once gst_bus_poll returns.
14169           gst_bus_peek now increments the refcount on the returned
14170           message.
14171
14172 2005-07-29  Wim Taymans  <wim@fluendo.com>
14173
14174         * docs/design/part-gstghostpad.txt:
14175         Overview of current GhostPad datastructures and use
14176         cases for changing the target.
14177
14178 2005-07-28  Wim Taymans  <wim@fluendo.com>
14179
14180         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14181         Added checks for hierarchy consistency whan adding linked
14182         elements to bins.
14183
14184         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14185         Added check to test element scheduling without bin/pipeline.
14186
14187         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14188         First add elements to bin, then link.
14189         
14190         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14191         (gst_bin_remove_func):
14192         Unlink pads from elements added/removed from bin to maintain
14193         hierarchy consistency.
14194
14195 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14196
14197         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14198         (gst_base_transform_handle_buffer):
14199         * gst/base/gstbasetransform.h:
14200           Remove broken delay_configure (fixes renegotiation of software
14201           scaling pipelines); remove some leftover printf()s.
14202
14203 2005-07-28  Wim Taymans  <wim@fluendo.com>
14204
14205         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14206         Added some more tests for wrong hierarchy
14207
14208         * docs/design/part-overview.txt:
14209         Some updates.
14210
14211         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14212         Cleanups.
14213
14214         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14215         (gst_element_dispose):
14216         Some more cleanups.
14217
14218         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14219         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14220         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14221         (gst_pad_set_caps), (gst_pad_send_event):
14222         Check for correct hierarchy when linking pads. Moving to
14223         strict requirement for ghostpads when linking elements in
14224         different bins.
14225
14226         * gst/gstpad.h:
14227         Clean ups. Added WRONG_HIERARCHY return value.
14228
14229 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14230
14231         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14232           Better debug if no transform is possible.
14233
14234 2005-07-27  Wim Taymans  <wim@fluendo.com>
14235
14236         * docs/random/wtay/network-transp:
14237         Some old doc I had.
14238
14239 2005-07-27  Wim Taymans  <wim@fluendo.com>
14240
14241         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14242         (gst_dp_event_from_packet):
14243         Fix serialization of seek events.
14244
14245 2005-07-27  Wim Taymans  <wim@fluendo.com>
14246
14247         * check/gst-libs/gdp.c: (GST_START_TEST):
14248         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14249         Fix compilation and fix event serialization.
14250
14251 2005-07-27  Wim Taymans  <wim@fluendo.com>
14252
14253         * CHANGES-0.9:
14254         * docs/design/part-TODO.txt:
14255         * docs/design/part-events.txt:
14256         Some docs updates
14257
14258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14259         (gst_base_sink_event), (gst_base_sink_do_sync),
14260         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14261         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14262         (gst_base_src_do_seek), (gst_base_src_event_handler),
14263         (gst_base_src_loop):
14264         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14265         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14266         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14267         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14268         (gst_base_transform_set_passthrough),
14269         (gst_base_transform_is_passthrough):
14270         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14271         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14272         Event updates.
14273
14274         * gst/gstbuffer.h:
14275         Use faster casts.
14276
14277         * gst/gstelement.c: (gst_element_seek):
14278         * gst/gstelement.h:
14279         Update gst_element_seek.
14280
14281         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14282         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14283         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14284         (gst_event_new_eos), (gst_event_new_newsegment),
14285         (gst_event_parse_newsegment), (gst_event_new_tag),
14286         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14287         (gst_event_parse_qos), (gst_event_new_seek),
14288         (gst_event_parse_seek), (gst_event_new_navigation):
14289         * gst/gstevent.h:
14290         Make GstEvent use GstStructure. Add parsing code, make sure the
14291         API is sufficiently generic.
14292         Mark possible directions of events and serialization.
14293
14294         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14295         (_gst_message_copy), (gst_message_new_segment_start),
14296         (gst_message_new_segment_done), (gst_message_new_custom),
14297         (gst_message_parse_segment_start),
14298         (gst_message_parse_segment_done):
14299         Small cleanups.
14300
14301         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14302         (gst_pad_set_caps), (gst_pad_send_event):
14303         Update for new events. 
14304         Catch events sent in wrong directions.
14305
14306         * gst/gstqueue.c: (gst_queue_link_src),
14307         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14308         (gst_queue_handle_src_query):
14309         Event updates.
14310
14311         * gst/gsttag.c:
14312         * gst/gsttag.h:
14313         Remove event code from this file.
14314
14315         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14316         (gst_dp_event_from_packet):
14317         Event updates.
14318
14319 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14320
14321         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14322         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14323         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14324           Make debugging actually useful.
14325
14326 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14327
14328         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14329         (gst_pad_fixate_caps):
14330           Implement default fixation once again, so that gst_pad_fixate()
14331           actually does anything at all. This probably needs to be some
14332           sort of a last resort, and use profile-based fixation first, but
14333           since that doesn't exist yet, this is the best we have. Fixes
14334           visualization in Totem.
14335
14336 2005-07-22  Wim Taymans  <wim@fluendo.com>
14337
14338         * docs/design/part-events.txt:
14339         Small update.
14340
14341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14342         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14343         (gst_base_sink_activate_pull):
14344         Some more comments.
14345
14346         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14347         (gst_fake_src_create):
14348         Fix handoff marshall.
14349
14350         * gst/elements/gstidentity.c: (gst_identity_class_init),
14351         (gst_identity_transform_ip):
14352         We're a real inplace element.
14353
14354         * gst/gstbus.c: (gst_bus_post):
14355         Added some comments.
14356
14357         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14358         * tests/muxing/case1.c: (main):
14359         * tests/sched/dynamic-pipeline.c: (main):
14360         * tests/sched/interrupt1.c: (main):
14361         * tests/sched/interrupt2.c: (main):
14362         * tests/sched/interrupt3.c: (main):
14363         * tests/sched/runxml.c: (main):
14364         * tests/sched/sched-stress.c: (main):
14365         * tests/seeking/seeking1.c: (event_received), (main):
14366         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14367         (main):
14368         * tests/threadstate/threadstate3.c: (main):
14369         * tests/threadstate/threadstate4.c: (main):
14370         * tests/threadstate/threadstate5.c: (main):
14371         Fix the tests.
14372
14373 2005-07-21  Wim Taymans  <wim@fluendo.com>
14374
14375         * docs/design/part-seeking.txt:
14376         Some small additions.
14377
14378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14379         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14380         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14381         * gst/base/gstbasesink.h:
14382         discont values are gint64, handle the math correctly.
14383
14384         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14385         Make the basesrc report error if the source pad is not linked.
14386
14387         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14388         (gst_queue_loop), (gst_queue_handle_src_query),
14389         (gst_queue_src_activate_push):
14390         Make queue collect data even if the srcpad is not linked.
14391         Start pushing out data as soon as it is linked.
14392
14393         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14394         * gst/gstutils.h:
14395         Added gst_flow_get_name() to ease error reporting.
14396
14397 2005-07-20  Wim Taymans  <wim@fluendo.com>
14398
14399         * gst/gstmessage.c: (gst_message_new_segment_start),
14400         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14401         (gst_message_parse_segment_done):
14402         * gst/gstmessage.h:
14403         Added a bunch of messages for advanced seeking.
14404
14405         * gst/parse/grammar.y:
14406         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14407         (gst_dpman_state_changed):
14408         Fix some new-pad -> pad-added signals
14409
14410 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14411
14412         * docs/manual/appendix-porting.xml:
14413         * docs/pwg/appendix-porting.xml:
14414           Document new-pad/state-change signal renames and the FixedList
14415           type rename.
14416
14417 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14418
14419         * docs/manual/advanced-autoplugging.xml:
14420         * docs/manual/basics-helloworld.xml:
14421         * docs/manual/basics-pads.xml:
14422         * docs/random/ds/0.9-suggested-changes:
14423         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14424         * gst/gstelement.h:
14425         * gst/gstevent.h:
14426         * gst/gstformat.h:
14427         * gst/gstquery.h:
14428         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14429         (gst_structure_parse_array), (gst_structure_parse_value):
14430         * gst/gstvalue.c: (gst_type_is_fixed),
14431         (gst_value_list_prepend_value), (gst_value_list_append_value),
14432         (gst_value_list_get_size), (gst_value_list_get_value),
14433         (gst_value_transform_array_string), (gst_value_serialize_array),
14434         (gst_value_deserialize_array), (gst_value_intersect_array),
14435         (gst_value_is_fixed), (_gst_value_initialize):
14436         * gst/gstvalue.h:
14437           GstElement::new-pad -> pad-added, GstElement::state-change ->
14438           state-changed, GstValueFixedList -> GstValueArray, add format and
14439           flags as their own arguments in gst_element_seek() (should improve
14440           "bindeability"), remove function generators since they don't work
14441           under a whole bunch of compilers (they were deprecated already
14442           anyway).
14443
14444 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14445
14446         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14447         (_gst_debug_register_funcptr):
14448         * gst/gstinfo.h:
14449           Fix illegal cast on some platforms (#309253).
14450
14451 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14452
14453         * gst/gstmessage.c: (gst_message_new_custom):
14454         * gst/gstmessage.h:
14455           Add _new_custom, make _new_application a macro to _new_custom.
14456
14457 2005-07-20  Wim Taymans  <wim@fluendo.com>
14458
14459         * gst/base/gstbasesrc.c: (gst_base_src_init),
14460         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14461         * gst/base/gstbasesrc.h:
14462         Add a gboolean to decide when to push out a discont.
14463
14464         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14465         (gst_queue_loop), (gst_queue_handle_src_query),
14466         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14467         (gst_queue_set_property), (gst_queue_get_property):
14468         Some cleanups.
14469
14470         * tests/threadstate/threadstate1.c: (main):
14471         Make a thread test compile and run... very silly..
14472
14473
14474 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14475
14476         * docs/manual/appendix-porting.xml:
14477           Mention removal of libgstgconf-0.9.la and existence of gconf
14478           elements.
14479
14480 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14481
14482         * docs/pwg/advanced-clock.xml:
14483         * docs/pwg/appendix-porting.xml:
14484         * docs/pwg/intro-preface.xml:
14485         * docs/pwg/other-base.xml:
14486         * docs/pwg/other-manager.xml:
14487         * docs/pwg/other-nton.xml:
14488         * docs/pwg/other-ntoone.xml:
14489         * docs/pwg/other-oneton.xml:
14490         * docs/pwg/pwg.xml:
14491           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14492           demuxer), remove n-to-n (was never written), fix some code examples
14493           and links and update the porting section to include all this.
14494
14495 2005-07-19  Wim Taymans  <wim@fluendo.com>
14496
14497         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14498         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14499         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14500         (gst_queue_src_activate_push), (gst_queue_change_state),
14501         (gst_queue_get_property):
14502         * gst/gstqueue.h:
14503         Propagate GstFlowReturn more intelligently upstream and output
14504         an ERROR/EOS when streaming stopped due to fatal error.
14505
14506 2005-07-19  Wim Taymans  <wim@fluendo.com>
14507
14508         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14509         Don't block forever for the state change to complete, the
14510         pipeline already did with a sensible timeout.
14511
14512 2005-07-19  Wim Taymans  <wim@fluendo.com>
14513
14514         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14515         Make sure we never call the create function is we
14516         got deactivated.
14517
14518 2005-07-19  Andy Wingo  <wingo@pobox.com>
14519
14520         * gst/parse/parse.l: Attempt to solve bug #172815.
14521
14522 2005-07-19  Wim Taymans  <wim@fluendo.com>
14523
14524         * docs/design/part-clocks.txt:
14525         * docs/design/part-events.txt:
14526         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14527         Small docs updates.
14528         Only update the seeking values when we are not
14529         busy streaming.
14530
14531 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14532
14533         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14534           Oops, ignore the result of gst_pad_push_event here.
14535
14536 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14537
14538         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14539         (gst_base_src_activate_push):
14540           Send discont event from the loop function, as pads
14541           aren't activated yet in the activate_push handler.
14542
14543         * gst/gstbin.c: (bin_bus_handler):
14544           Don't leak element name.
14545
14546 2005-07-18  Andy Wingo  <wingo@pobox.com>
14547
14548         * configure.ac: Use AS_LIBTOOL_TAGS.
14549
14550 2005-07-18  Wim Taymans  <wim@fluendo.com>
14551
14552         * docs/gst/gstreamer.types:
14553         Remove deleted types.
14554
14555 2005-07-18  Wim Taymans  <wim@fluendo.com>
14556
14557         * check/elements/gstfakesrc.c: (GST_START_TEST):
14558         * configure.ac:
14559         * gst/Makefile.am:
14560         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14561         (init_popt_callback):
14562         * gst/gst.h:
14563         * gst/gst_private.h:
14564         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14565         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14566         * gst/gstbin.h:
14567         * gst/gstbus.h:
14568         * gst/gstconfig.h.in:
14569         * gst/gstelement.c: (gst_element_class_init),
14570         (gst_element_set_base_time), (gst_element_get_base_time),
14571         (iterator_fold_with_resync), (gst_element_change_state),
14572         (gst_element_dispose), (gst_element_get_bus):
14573         * gst/gstelement.h:
14574         * gst/gstelementfactory.h:
14575         * gst/gsterror.c: (_gst_core_errors_init):
14576         * gst/gsterror.h:
14577         * gst/gstevent.h:
14578         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14579         * gst/gstindex.c:
14580         * gst/gstinfo.c: (_gst_debug_init):
14581         * gst/gstmessage.c: (_gst_message_copy):
14582         * gst/gstmessage.h:
14583         * gst/gstminiobject.h:
14584         * gst/gstobject.c:
14585         * gst/gstobject.h:
14586         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14587         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14588         * gst/gstpad.h:
14589         * gst/gstparse.h:
14590         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14591         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14592         (gst_pipeline_get_last_stream_time):
14593         * gst/gstpipeline.h:
14594         * gst/gstpluginfeature.h:
14595         * gst/gstquery.h:
14596         * gst/gstscheduler.c:
14597         * gst/gstscheduler.h:
14598         * gst/gststructure.h:
14599         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14600         (gst_task_finalize), (gst_task_func), (gst_task_create),
14601         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14602         (gst_task_stop), (gst_task_pause):
14603         * gst/gsttask.h:
14604         * gst/gsttypefind.h:
14605         * gst/gsttypes.h:
14606         * gst/registries/gstlibxmlregistry.c: (load_feature),
14607         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14608         * gst/registries/gstxmlregistry.c:
14609         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14610         * gst/schedulers/threadscheduler.c:
14611         * libs/gst/control/dparammanager.h:
14612         * tools/gst-inspect.c: (print_element_list),
14613         (print_plugin_features), (print_element_features):
14614         * tools/gst-xmlinspect.c: (print_element_list),
14615         (print_plugin_info), (main):
14616         Removed plugable schedulers.
14617         Removed Scheduler/Manager from elements.
14618         Removed gsttypes.h, rearranged includes.
14619         Removed dependency pad<->element, element<>pipeline, and
14620         various others,  fix includes.
14621         implement gst_pad_get_parent() with gst_object_get_parent()
14622         Make GstTask sefcontained.
14623         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14624         timeout.
14625         Fix endless loop in iterator_fold_with_resync.
14626
14627
14628 2005-07-18  Wim Taymans  <wim@fluendo.com>
14629
14630         * gst/Makefile.am:
14631         * gst/gstarch.h:
14632         Remove old file.
14633
14634 2005-07-18  Wim Taymans  <wim@fluendo.com>
14635
14636         * gst/Makefile.am:
14637         No more cothreads.h
14638
14639 2005-07-18  Wim Taymans  <wim@fluendo.com>
14640
14641         * gst/cothreads.c:
14642         * gst/cothreads.h:
14643         Let's remove these.
14644
14645 2005-07-18  Wim Taymans  <wim@fluendo.com>
14646
14647         * docs/design/part-dynamic.txt:
14648         * docs/design/part-events.txt:
14649         * docs/design/part-seeking.txt:
14650         Some more docs in the works.
14651
14652         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14653         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14654         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14655         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14656         (gst_base_transform_handle_buffer),
14657         (gst_base_transform_sink_activate_push),
14658         (gst_base_transform_src_activate_pull),
14659         (gst_base_transform_set_passthrough),
14660         (gst_base_transform_is_passthrough):
14661         Refcounting fixes.
14662
14663         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14664         Cleanups.
14665
14666         * gst/gstevent.c: (gst_event_finalize):
14667         Set SRC to NULL.
14668
14669         * gst/gstutils.c: (gst_element_unlink),
14670         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14671         (gst_pad_proxy_setcaps):
14672         * gst/gstutils.h:
14673         Add _get_parent_element() to get a pads parent as an element.
14674
14675 2005-07-18  Wim Taymans  <wim@fluendo.com>
14676
14677         * check/gst/gstbin.c: (GST_START_TEST):
14678         Remove bogus test.
14679
14680 2005-07-18  Wim Taymans  <wim@fluendo.com>
14681
14682         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14683         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14684         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14685         (gst_base_sink_event), (gst_base_sink_do_sync),
14686         (gst_base_sink_chain), (gst_base_sink_loop),
14687         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14688         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14689         Refcounting fixes.
14690         Fix logic for returning ASYNC when not prerolled.
14691
14692 2005-07-18  Wim Taymans  <wim@fluendo.com>
14693
14694         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14695         Fix nasty refcount bug.
14696
14697 2005-07-16 Philippe Khalaf <burger@speedy.org>
14698
14699         * gst/elements/gstfdsrc.c:
14700         * gst/elements/gstfdsrc.h:
14701         * gst/elements/gstelements.c:
14702         * gst/elements/Makefile.am:
14703         Ported fdsrc to 0.9.
14704
14705 2005-07-16  Wim Taymans  <wim@fluendo.com>
14706
14707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14708         (gst_base_sink_do_sync):
14709         Fix compile error.
14710
14711 2005-07-16  Wim Taymans  <wim@fluendo.com>
14712
14713         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14714         (gst_base_sink_event), (gst_base_sink_get_times),
14715         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14716         * gst/base/gstbasesink.h:
14717         Store and use discont values when syncing buffers as described
14718         in design docs.
14719         
14720         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14721         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14722         (gst_base_src_activate_push):
14723         Push discont event when starting.
14724
14725         * gst/elements/gstidentity.c: (gst_identity_transform):
14726         Small cleanups.
14727
14728         * gst/gstbin.c: (gst_bin_change_state):
14729         Small cleanups in base_time  distribution.
14730
14731         * gst/gstelement.c: (gst_element_set_base_time),
14732         (gst_element_get_base_time), (gst_element_change_state):
14733         * gst/gstelement.h:
14734         Added methods for the base_time of the element.
14735         Some MT fixes.
14736
14737         * gst/gstpipeline.c: (gst_pipeline_send_event),
14738         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14739         (gst_pipeline_get_last_stream_time):
14740         * gst/gstpipeline.h:
14741         MT fixes.
14742         Handle seeking as described in design doc, remove stream_time
14743         hack.
14744         Cleanups clock and stream_time selection code. Added accessors
14745         for the stream_time.
14746         
14747
14748 2005-07-16  Andy Wingo  <wingo@pobox.com>
14749
14750         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14751         (#305291).
14752
14753 2005-07-16  Wim Taymans  <wim@fluendo.com>
14754
14755         * check/gst/gstbin.c: (GST_START_TEST):
14756         Make elements silent as the deep_notify refs the
14757         parent, which might make the test fail.
14758
14759         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14760         Don't hold the lock for too long.
14761
14762 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14763
14764         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14765           Don't unref the caps we passed to gst_caps_make_writable() after
14766           passing them. gst_caps_make_writable() will do that for us.
14767
14768 2005-07-15  Andy Wingo  <wingo@pobox.com>
14769
14770         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14771         (#157311).
14772
14773         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14774         own marshalling function for the handoff signal. Properly type the
14775         buffer as a buffer. Fixes some warnings. Should do a more general
14776         solution.
14777         (gst_identity_class_init): Plug into the right marshaller.
14778
14779 2005-07-15  Wim Taymans  <wim@fluendo.com>
14780
14781         * docs/design/part-TODO.txt:
14782         * docs/design/part-clocks.txt:
14783         * docs/design/part-element-sink.txt:
14784         * docs/design/part-events.txt:
14785         * docs/design/part-gstpipeline.txt:
14786         Updated docs, mostly DISCONT related.
14787
14788 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14789
14790         * docs/pwg/building-pads.xml:
14791           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14792
14793 2005-07-15  Andy Wingo  <wingo@pobox.com>
14794
14795         * tools/gst-typefind.c: Update, add copyright block.
14796
14797         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14798         Normalize and truncate caps before fixation.
14799
14800         * gst/gstcaps.h:
14801         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14802         discards all but the first structure from its argument.
14803
14804 2005-07-15  Wim Taymans  <wim@fluendo.com>
14805
14806         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14807         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14808         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14809         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14810         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14811         (gst_base_transform_chain), (gst_base_transform_change_state),
14812         (gst_base_transform_set_passthrough),
14813         (gst_base_transform_is_passthrough):
14814         * gst/base/gstbasetransform.h:
14815         Make passthrough work using the bufferpools.
14816         Changed API a bit, subclasses have to write into a buffer
14817         provided by the base class.
14818         More debug info in nego functions.
14819         
14820         * gst/elements/gstidentity.c: (gst_identity_init),
14821         (gst_identity_transform):
14822         Port to new base class.
14823
14824 2005-07-15  Wim Taymans  <wim@fluendo.com>
14825
14826         * gst/gstmessage.c: (gst_message_new_state_changed):
14827         * tools/gst-launch.c: (event_loop), (main):
14828         Totally dump messages in -launch with the -m option.
14829         Fix message name for State messages,
14830
14831 2005-07-14  Wim Taymans  <wim@fluendo.com>
14832
14833         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14834         Post error messages on errors.
14835
14836 2005-07-14  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/gstcaps.c: (gst_caps_do_simplify):
14839         Remove debug info.
14840
14841         * gst/gsterror.h:
14842         Define error for stream stopped.
14843
14844         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14845         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14846         Do proper return values.
14847
14848         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14849         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14850         (gst_pad_get_range):
14851         Better return values.
14852
14853         * gst/gstpad.h:
14854         Reorganise return values, add macro to check for fatal errors.
14855
14856         * gst/gstqueue.c: (gst_queue_chain):
14857         Return proper GstFlowReturn values,
14858
14859 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14860
14861         * docs/gst/gstreamer-sections.txt:
14862         * docs/gst/gstreamer.types:
14863         * docs/gst/tmpl/gst.sgml:
14864         * docs/gst/tmpl/gstbasesink.sgml:
14865         * docs/gst/tmpl/gstbasesrc.sgml:
14866         * docs/gst/tmpl/gstbasetransform.sgml:
14867         * docs/gst/tmpl/gstbin.sgml:
14868         * docs/gst/tmpl/gstbuffer.sgml:
14869         * docs/gst/tmpl/gstcaps.sgml:
14870         * docs/gst/tmpl/gstclock.sgml:
14871         * docs/gst/tmpl/gstcompat.sgml:
14872         * docs/gst/tmpl/gstconfig.sgml:
14873         * docs/gst/tmpl/gstelement.sgml:
14874         * docs/gst/tmpl/gstelementdetails.sgml:
14875         * docs/gst/tmpl/gstelementfactory.sgml:
14876         * docs/gst/tmpl/gstenumtypes.sgml:
14877         * docs/gst/tmpl/gsterror.sgml:
14878         * docs/gst/tmpl/gstevent.sgml:
14879         * docs/gst/tmpl/gstfakesink.sgml:
14880         * docs/gst/tmpl/gstfakesrc.sgml:
14881         * docs/gst/tmpl/gstfilesink.sgml:
14882         * docs/gst/tmpl/gstfilesrc.sgml:
14883         * docs/gst/tmpl/gstfilter.sgml:
14884         * docs/gst/tmpl/gstformat.sgml:
14885         * docs/gst/tmpl/gstghostpad.sgml:
14886         * docs/gst/tmpl/gstimplementsinterface.sgml:
14887         * docs/gst/tmpl/gstindex.sgml:
14888         * docs/gst/tmpl/gstindexfactory.sgml:
14889         * docs/gst/tmpl/gstinfo.sgml:
14890         * docs/gst/tmpl/gstiterator.sgml:
14891         * docs/gst/tmpl/gstmacros.sgml:
14892         * docs/gst/tmpl/gstmemchunk.sgml:
14893         * docs/gst/tmpl/gstminiobject.sgml:
14894         * docs/gst/tmpl/gstobject.sgml:
14895         * docs/gst/tmpl/gstpad.sgml:
14896         * docs/gst/tmpl/gstpadtemplate.sgml:
14897         * docs/gst/tmpl/gstparse.sgml:
14898         * docs/gst/tmpl/gstpipeline.sgml:
14899         * docs/gst/tmpl/gstplugin.sgml:
14900         * docs/gst/tmpl/gstpluginfeature.sgml:
14901         * docs/gst/tmpl/gstquery.sgml:
14902         * docs/gst/tmpl/gstqueue.sgml:
14903         * docs/gst/tmpl/gstregistry.sgml:
14904         * docs/gst/tmpl/gstregistrypool.sgml:
14905         * docs/gst/tmpl/gstscheduler.sgml:
14906         * docs/gst/tmpl/gstschedulerfactory.sgml:
14907         * docs/gst/tmpl/gststructure.sgml:
14908         * docs/gst/tmpl/gstsystemclock.sgml:
14909         * docs/gst/tmpl/gsttaglist.sgml:
14910         * docs/gst/tmpl/gsttagsetter.sgml:
14911         * docs/gst/tmpl/gsttrace.sgml:
14912         * docs/gst/tmpl/gsttrashstack.sgml:
14913         * docs/gst/tmpl/gsttypefind.sgml:
14914         * docs/gst/tmpl/gsttypefindfactory.sgml:
14915         * docs/gst/tmpl/gsttypes.sgml:
14916         * docs/gst/tmpl/gsturihandler.sgml:
14917         * docs/gst/tmpl/gsturitype.sgml:
14918         * docs/gst/tmpl/gstutils.sgml:
14919         * docs/gst/tmpl/gstvalue.sgml:
14920         * docs/gst/tmpl/gstversion.sgml:
14921         * docs/gst/tmpl/gstxml.sgml:
14922         * docs/libs/tmpl/gstcontrol.sgml:
14923         * docs/libs/tmpl/gstdataprotocol.sgml:
14924         * docs/libs/tmpl/gstdparam.sgml:
14925         * docs/libs/tmpl/gstdplinint.sgml:
14926         * docs/libs/tmpl/gstdpman.sgml:
14927         * docs/libs/tmpl/gstdpsmooth.sgml:
14928         * docs/libs/tmpl/gstgetbits.sgml:
14929         * docs/libs/tmpl/gstunitconvert.sgml:
14930         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14931         (gst_push_src_base_init), (gst_push_src_class_init),
14932         (gst_push_src_init), (gst_push_src_create):
14933         * gst/base/gstpushsrc.h:
14934         * gst/elements/gstelements.c:
14935         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14936         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14937         (gst_fake_sink_init), (gst_fake_sink_set_property),
14938         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14939         (gst_fake_sink_event), (gst_fake_sink_preroll),
14940         (gst_fake_sink_render), (gst_fake_sink_change_state):
14941         * gst/elements/gstfakesink.h:
14942         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14943         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14944         (gst_fake_src_base_init), (gst_fake_src_class_init),
14945         (gst_fake_src_init), (gst_fake_src_event_handler),
14946         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14947         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14948         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14949         (gst_fake_src_create_buffer), (gst_fake_src_create),
14950         (gst_fake_src_start), (gst_fake_src_stop):
14951         * gst/elements/gstfakesrc.h:
14952         * gst/elements/gstfilesink.c: (_do_init),
14953         (gst_file_sink_base_init), (gst_file_sink_class_init),
14954         (gst_file_sink_init), (gst_file_sink_dispose),
14955         (gst_file_sink_set_location), (gst_file_sink_set_property),
14956         (gst_file_sink_get_property), (gst_file_sink_open_file),
14957         (gst_file_sink_close_file), (gst_file_sink_query),
14958         (gst_file_sink_event), (gst_file_sink_render),
14959         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14960         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14961         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14962         * gst/elements/gstfilesink.h:
14963         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14964         (gst_file_src_class_init), (gst_file_src_init),
14965         (gst_file_src_finalize), (gst_file_src_set_location),
14966         (gst_file_src_set_property), (gst_file_src_get_property),
14967         (gst_file_src_map_region), (gst_file_src_map_small_region),
14968         (gst_file_src_create_mmap), (gst_file_src_create_read),
14969         (gst_file_src_create), (gst_file_src_is_seekable),
14970         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14971         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14972         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14973         (gst_file_src_uri_handler_init):
14974         * gst/elements/gstfilesrc.h:
14975           more autistic cleanliness in functions/names/defines
14976
14977 2005-07-13  Andy Wingo  <wingo@pobox.com>
14978
14979         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14980         source couldn't negotiate.
14981
14982         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14983         connections again.
14984
14985         * gst/gstutils.h:
14986         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14987         function. I am channeling Hades. Put your boots on suckers!!!
14988
14989 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14990
14991         * testsuite/caps/Makefile.am:
14992         * testsuite/caps/value_compare.c:
14993         * testsuite/caps/value_intersect.c:
14994         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14995           move two testsuite apps over to the check dir
14996
14997 2005-07-12  Wim Taymans  <wim@fluendo.com>
14998
14999         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15000         Added more debug info in the negotiate process.
15001
15002         * gst/gstmessage.h:
15003         Prepare for segment playback.
15004
15005         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15006         Better debugging.
15007
15008         * gst/gstutils.c:
15009         Some more docs.
15010
15011         * tools/gst-launch.c: (main):
15012         NULL pipeline on errors.
15013
15014 2005-07-12  Andy Wingo  <wingo@pobox.com>
15015
15016         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15017         not it comes from a malloc region. Make sure our copy gets freed.
15018
15019 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15020
15021         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15022         * check/gst/gstmessage.c: (GST_START_TEST):
15023         * check/gst/gststructure.c: (GST_START_TEST),
15024         (gst_structure_suite), (main):
15025           more testing
15026         * gst/gstelement.c: (gst_element_message_full):
15027           clean up GError and debug string now that they get copied
15028         * gst/gstmessage.c: (gst_message_new_error),
15029         (gst_message_new_warning), (gst_message_parse_error),
15030         (gst_message_parse_warning):
15031           use GST_TYPE_G_ERROR for structure_new, and take copies of
15032           arguments, so that we don't mess up refcounting
15033
15034 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15035
15036         * check/Makefile.am:
15037           add per-test valgrind targets
15038         * check/gst-libs/gdp.c: (GST_START_TEST),
15039         (gst_data_protocol_suite), (main):
15040           clean up
15041
15042 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15043
15044         * check/Makefile.am:
15045           instate more valgrindable tests
15046         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15047         (GST_START_TEST), (fakesrc_suite):
15048         * check/gst/gstpad.c: (GST_START_TEST):
15049         * check/gst/gststructure.c: (GST_START_TEST):
15050           fix test leaks
15051         * docs/gst/tmpl/gstminiobject.sgml:
15052         * gst/gstpad.c: (gst_pad_finalize):
15053           fix the static mutex leak
15054
15055 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15056
15057         * check/Makefile.am:
15058           add two more tests for valgrinding
15059         * check/gst/gstvalue.c: (GST_START_TEST):
15060           test refcount of deserialized buffer, found a leak
15061         * docs/gst/gstreamer-docs.sgml:
15062         * docs/gst/gstreamer-sections.txt:
15063         * docs/gst/gstreamer.types:
15064         * docs/gst/tmpl/gstminiobject.sgml:
15065           add miniobject to docs
15066         * gst/gstminiobject.c:
15067           add some docs
15068         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15069         (gst_string_unwrap):
15070           fix a hard-to-find invalid write for one of the tests
15071           fix a leak for deserialized buffers
15072
15073 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15074
15075         * docs/pwg/advanced-events.xml:
15076         * docs/pwg/advanced-request.xml:
15077         * docs/pwg/advanced-scheduling.xml:
15078         * docs/pwg/appendix-porting.xml:
15079         * docs/pwg/building-boiler.xml:
15080         * docs/pwg/intro-preface.xml:
15081         * docs/pwg/other-ntoone.xml:
15082           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15083           of example code and explanation for pad activation, loop() and
15084           getrange() functions and a bit more. Remove old comments pointing
15085           to loop-functions.
15086         * examples/pwg/Makefile.am:
15087           Add loop/getrange examples.
15088
15089 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15090
15091         * configure.ac:
15092           check for valgrind binary + some fixes
15093         * check/gst.supp:
15094           valgrind suppressions for the tests
15095         * check/Makefile.am:
15096           add a valgrind: target that valgrinds the unit tests
15097         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15098         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15099         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15100         * check/gst/gstghostpad.c:
15101           added some cleanup
15102         * check/gst/gstdata.c:
15103           removed
15104         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15105         (thread_unref), (gst_mini_object_suite), (main):
15106           added
15107         * gst/gst.c: (gst_deinit):
15108         * gst/gst.h:
15109           add a method to clean up.
15110         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15111         (gst_system_clock_obtain):
15112           allow for disposing the system clock.
15113         * tools/gst-launch.c: (main):
15114           deinit
15115
15116 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15117
15118         * docs/gst/tmpl/gstbasesrc.sgml:
15119         * docs/gst/tmpl/gstfakesrc.sgml:
15120         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15121         (gst_base_src_init), (gst_base_src_set_property),
15122         (gst_base_src_get_property), (gst_base_src_get_range),
15123         (gst_base_src_start):
15124         * gst/base/gstbasesrc.h:
15125           add num-buffers property
15126         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15127         (gst_fakesrc_init), (gst_fakesrc_set_property),
15128         (gst_fakesrc_get_property), (gst_fakesrc_create),
15129         (gst_fakesrc_start):
15130           remove num-buffers property
15131
15132 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15133
15134         * docs/gst/gstreamer-sections.txt:
15135         * docs/gst/tmpl/gstbasesink.sgml:
15136         * docs/gst/tmpl/gstbasesrc.sgml:
15137         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15138         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15139         (gst_base_sink_finalize), (gst_base_sink_set_clock),
15140         (gst_base_sink_set_property), (gst_base_sink_get_property),
15141         (gst_base_sink_handle_object), (gst_base_sink_event),
15142         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15143         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
15144         (gst_base_sink_loop), (gst_base_sink_deactivate),
15145         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
15146         (gst_base_sink_change_state):
15147         * gst/base/gstbasesink.h:
15148         * gst/base/gstbasesrc.h:
15149         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
15150         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15151         (gst_filesink_init):
15152           more macro splitting
15153
15154 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15155
15156         * gst/gstelement.c: (gst_element_get_bus):
15157           add debug
15158         * tools/gst-launch.c: (check_intr), (event_loop):
15159           fix bus leaks
15160
15161 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15162
15163         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15164           fix a caps leak
15165
15166 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15167
15168         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15169         (gst_base_src_finalize):
15170           add finalize method and clean up properly
15171         * gst/gstpipeline.c: (gst_pipeline_dispose):
15172           add debug
15173
15174 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15175
15176         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15177         (gst_bin_suite):
15178           add more things to check
15179         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15180         * gst/gstelement.c:
15181           more debug
15182
15183 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15184
15185         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15186         (GST_START_TEST), (fakesrc_suite):
15187         * check/gst-libs/gdp.c: (GST_START_TEST):
15188         * check/gst/gst.c: (GST_START_TEST):
15189         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15190         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15191         * check/gst/gstbus.c: (GST_START_TEST):
15192         * check/gst/gstcaps.c: (GST_START_TEST):
15193         * check/gst/gstdata.c: (GST_START_TEST):
15194         * check/gst/gstelement.c: (GST_START_TEST):
15195         * check/gst/gstghostpad.c: (GST_START_TEST):
15196         * check/gst/gstiterator.c: (GST_START_TEST):
15197         * check/gst/gstmessage.c: (GST_START_TEST):
15198         * check/gst/gstobject.c: (GST_START_TEST):
15199         * check/gst/gstpad.c: (GST_START_TEST):
15200         * check/gst/gststructure.c: (GST_START_TEST):
15201         * check/gst/gstsystemclock.c: (GST_START_TEST),
15202         (gst_systemclock_suite):
15203         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15204         * check/gst/gstvalue.c: (GST_START_TEST):
15205         * check/pipelines/cleanup.c: (GST_START_TEST):
15206         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15207         * check/states/sinks.c: (GST_START_TEST):
15208         * check/gstcheck.c: (gst_check_init):
15209         * check/gstcheck.h:
15210           add debugging category
15211           use GST_START_TEST now, so we add a debug line
15212
15213 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15214
15215         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15216           add test for state change message on a bin
15217         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15218           add another test
15219         * gst/gstbin.c: (gst_bin_init):
15220         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15221         * gst/gstelement.c: (gst_element_post_message),
15222         (gst_element_set_state):
15223         * gst/gstelementfactory.c: (gst_element_factory_create):
15224         * gst/gstmessage.c: (gst_message_new):
15225         * gst/gstscheduler.c:
15226           various debugging additions and cleanups
15227
15228 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15229
15230         * check/Makefile.am:
15231         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15232         (main):
15233           adding tests for elements
15234         * gst/gstelement.c: (gst_element_dispose):
15235
15236 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15237
15238         * gst/registries/gstlibxmlregistry.c: (load_feature):
15239           plug more leaks.  A simple gst_init() now is leakfree, yay.
15240
15241 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15242
15243         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15244         (gst_xml_registry_load):
15245           plug another memleak
15246
15247 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * configure.ac:
15250           use GST_SET_ERROR_CFLAGS
15251         * docs/faq/cvs.xml:
15252           change to ERROR_CFLAGS
15253
15254 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15255
15256         * configure.ac:
15257           make GST_ERROR_CFLAGS overridable and re-enable Werror
15258         * docs/faq/cvs.xml:
15259           add a note about error CFLAGS
15260         * docs/gst/tmpl/gstfakesrc.sgml:
15261         * gst/elements/gstfakesrc.c:
15262           comment out some unused code
15263         * gst/gst.c: (split_and_iterate):
15264         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15265         (load_feature):
15266           plug some memleaks
15267
15268 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15269
15270         * common/Makefile.am:
15271         * common/gtk-doc.mak:
15272         * docs/gst/Makefile.am:
15273           factor out gtk-doc.mak
15274
15275 2005-07-07  Wim Taymans  <wim@fluendo.com>
15276
15277         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15278         (gst_thread_scheduler_dispose):
15279         Unlock the STREAM_LOCK completely.
15280
15281 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15282
15283         * check/Makefile.am:
15284         * check/elements/.cvsignore:
15285         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15286         (START_TEST), (fakesrc_suite), (main):
15287         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15288         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15289         (gst_fakesrc_create), (gst_fakesrc_start):
15290         * gst/elements/gstfakesrc.h:
15291           adding a first element test
15292
15293 2005-07-07  Andy Wingo  <wingo@pobox.com>
15294
15295         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15296         debug message.
15297
15298 2005-07-07  Wim Taymans  <wim@fluendo.com>
15299
15300         * gst/gstquery.c:
15301         * gst/gstquery.h:
15302         Remove old types
15303
15304 2005-07-07  Wim Taymans  <wim@fluendo.com>
15305
15306         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15307         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15308         Allow subclasses to implement their own negotiation.
15309
15310 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15311
15312         * docs/design/part-gstbin.txt:
15313         * docs/design/part-gstpipeline.txt:
15314           Update design notes to reflect the movement of
15315           responsibility for bus handling from GstPipeline to
15316           GstBin
15317
15318 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15319
15320         * configure.ac:
15321           Remove unnecessary queue2/3/4 examples.
15322
15323 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15324
15325         * examples/Makefile.am:
15326         * examples/helloworld/helloworld.c: (event_loop), (main):
15327         * examples/queue/queue.c: (event_loop), (main):
15328         * examples/queue2/queue2.c: (main):
15329           Update a couple of the examples to work again.
15330
15331         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15332         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15333          Spelling corrections and extra debug.
15334         
15335         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15336         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15337         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15338         * gst/gstbin.h:
15339         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15340         (gst_pipeline_change_state):
15341         * gst/gstpipeline.h:
15342           Move the bus handler for children to the GstBin, and create a
15343           separate bus for receiving messages from children to the one the
15344           bus sends 'upwards' on.
15345
15346 2005-07-06  Wim Taymans  <wim@fluendo.com>
15347
15348         * gst/base/README:
15349         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15350         (gst_base_sink_handle_object), (gst_base_sink_loop),
15351         (gst_base_sink_change_state):
15352         * gst/base/gstbasesink.h:
15353         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15354         (gst_base_src_init), (gst_base_src_setcaps),
15355         (gst_base_src_getcaps), (gst_base_src_loop),
15356         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15357         (gst_base_src_start), (gst_base_src_change_state):
15358         * gst/base/gstbasesrc.h:
15359         Make basesrc negotiate.
15360         Handle the case where preroll fails in basesink.
15361         Update README.
15362
15363 2005-07-06  Wim Taymans  <wim@fluendo.com>
15364
15365         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15366         Implement the fixate function.
15367         Clean up acceptcaps.
15368
15369 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15370
15371         * docs/pwg/building-filterfactory.xml:
15372         * docs/pwg/pwg.xml:
15373           Remove never-written filter-factory chapter; I'll add the various
15374           base classes to part 4 ("other element types") later on.
15375
15376 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15377
15378         * docs/pwg/advanced-negotiation.xml:
15379         * docs/pwg/building-boiler.xml:
15380         * docs/pwg/building-pads.xml:
15381         * docs/pwg/pwg.xml:
15382         * examples/pwg/Makefile.am:
15383           Add a chapter on caps negotiation, simplify the original code
15384           samples a bit w.r.t. caps negotiation, add link to the advanced
15385           section. Add a bunch of examples showing different use cases of
15386           different types of caps negotiation. Upstream renegotiation isn't
15387           fully documented yet since nobody knows how that works.
15388
15389 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15390
15391         * check/gst/gstpad.c:
15392         * check/gstcheck.c:
15393         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15394           if pad has no parent, return NULL as list of internal links
15395
15396 2005-07-05  Andy Wingo  <wingo@pobox.com>
15397
15398         * gst/elements/gstfilesrc.c:
15399         * gst/elements/gstfakesrc.c: 
15400         * gst/base/gstpushsrc.c:
15401         * gst/base/gstbasesrc.h: 
15402         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15403         
15404 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15405
15406         * Makefile.am:
15407           better report generation target (lcov needs a patch)
15408
15409 2005-07-05  Andy Wingo  <wingo@pobox.com>
15410
15411         * gst/elements, testsuite: Null if we got it...
15412
15413 2005-07-05  Wim Taymans  <wim@fluendo.com>
15414
15415         * configure.ac:
15416         * libs/gst/dataprotocol/Makefile.am:
15417         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15418         * libs/gst/dataprotocol/dataprotocol.h:
15419         * pkgconfig/Makefile.am:
15420         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15421         * pkgconfig/gstreamer-dataprotocol.pc.in:
15422         Ported dataprotol to 0.9. 
15423         Added pkgconfig files.
15424
15425 2005-07-05  Andy Wingo  <wingo@pobox.com>
15426
15427         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15428         Default to returning TRUE for the case when tranform_caps returns
15429         a fixed caps, like for identity or volume.
15430
15431         * check/gst/gstbus.c (pound_bus_with_messages): 
15432         * check/gst/gstmessage.c (START_TEST): 
15433         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15434         message API change.
15435
15436         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15437         logic weaks here: always run transform_caps, trying passthrough
15438         operation only if the original caps intersects with the transform.
15439
15440         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15441         source and sink caps.
15442
15443         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15444         Intersect the peer caps with the pad template before going into
15445         transform_caps.
15446         (gst_base_transform_transform_caps): More debugging.
15447
15448         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15449         src argument.
15450
15451 2005-07-04  Edward Hervey  <edward@fluendo.com>
15452
15453         * gst/gstutils.c:
15454         * gst/gstutils.h:
15455         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15456         in bindings.
15457
15458 2005-07-04  Andy Wingo  <wingo@pobox.com>
15459
15460         * check/gst/gstpad.c: Only set explicit caps on pads.
15461
15462 2005-07-01  Andy Wingo  <wingo@pobox.com>
15463
15464         * tests/network-clock.scm: Commentary update.
15465
15466         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15467         Didn't really make sense, not implementable with basetransform,
15468         etc.
15469         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15470         attempt at implementing the sync property, needs an unlock method.
15471
15472         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15473         New func, by default returns the same caps (the identity
15474         transformation).
15475         (gst_base_transform_getcaps): Uses transform_caps to return
15476         something sensible.
15477         (gst_base_transform_setcaps): Complicated logic to get caps on
15478         both pads, even if they are different, and to call set_caps once
15479         for every time both pads get their caps set.
15480         (gst_base_transform_handle_buffer): Give the ref to the transform
15481         function. Allows in-place modification of the buffer.
15482
15483         * gst/base/gstbasetransform.h (transform_caps): New class method.
15484         Given caps on one side, what can I do on the other.
15485         (set_caps): Take two caps, one for each side of the element.
15486
15487         * gst/gstpad.h:
15488         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15489         caps in place. This is safe because we can check the mutability of
15490         the caps, and a good idea because fixate functions are just called
15491         as a matter of last resort. (Not actually implemented.)
15492         (gst_pad_set_caps): If the caps we're setting is actually the same
15493         as the existing pad caps, just update the pointer without calling
15494         setcaps. Assert that caps is either NULL or fixed, as per the
15495         docs.
15496
15497         * gst/gstghostpad.c: Update for fixate changes.
15498
15499 2005-07-02  Andy Wingo  <wingo@pobox.com>
15500
15501         * gst/gstcaps.c:
15502         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15503         two refcounts makes it immutable, which is enough. Doc more.
15504
15505 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15506
15507         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15508           Put the mini_object into GValue as a mini_object,
15509           not a gpointer, since that's how we declared
15510           the signal.
15511
15512 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15513
15514         * examples/pwg/Makefile.am:
15515           Fix buildbot again.
15516
15517 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15518
15519         * docs/pwg/building-testapp.xml:
15520           Add extra check.
15521         * examples/pwg/Makefile.am:
15522           Fix buildbot.
15523
15524 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15525
15526         * configure.ac:
15527         * examples/Makefile.am:
15528         * examples/pwg/Makefile.am:
15529         * examples/pwg/extract.pl:
15530           Enable building the PWG examples.
15531         * docs/pwg/advanced-interfaces.xml:
15532           Add URI interface stub.
15533         * docs/pwg/advanced-types.xml:
15534         * docs/pwg/other-autoplugger.xml:
15535         * docs/pwg/appendix-porting.xml:
15536         * docs/pwg/pwg.xml:
15537           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15538         * docs/pwg/building-boiler.xml:
15539         * docs/pwg/building-chainfn.xml:
15540         * docs/pwg/building-pads.xml:
15541         * docs/pwg/building-props.xml:
15542         * docs/pwg/building-state.xml:
15543         * docs/pwg/building-testapp.xml:
15544           Update the building-*.xml parts for 0.9 changes. All examples
15545           code blocks compile in examples/pwg/*.
15546
15547 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15548
15549         * docs/manual/advanced-autoplugging.xml:
15550         * docs/manual/appendix-checklist.xml:
15551         * docs/manual/appendix-integration.xml:
15552         * docs/manual/highlevel-components.xml:
15553           Fix playbin/decodebin examples, update docs a bit, mention bus
15554           instead of signals in various places, mention kmplayer and
15555           kaffeine since they have a working GStreamer backend in the KDE
15556           section.
15557
15558 2005-06-30  Wim Taymans  <wim@fluendo.com>
15559
15560         * CHANGES-0.9:
15561         * docs/design/draft-ghostpads.txt:
15562         * docs/design/draft-push-pull.txt:
15563         * docs/design/draft-query.txt:
15564         * docs/design/part-TODO.txt:
15565         * docs/design/part-query.txt:
15566         Added CHANGES-0.9 doc, updated status of other docs.
15567         
15568         * gst/gstquery.h:
15569         Remove "hmm" macro
15570
15571 2005-06-30  Wim Taymans  <wim@fluendo.com>
15572
15573         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15574         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15575         (gst_base_sink_change_state):
15576         * gst/base/gstbasesink.h:
15577         Some tweaks, only EOS and a buffer complete a preroll.
15578
15579 2005-06-30  Andy Wingo  <wingo@pobox.com>
15580
15581         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15582         activate_push down to the internal pad as well.
15583
15584 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15585
15586         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15587
15588         * gst/gsttaginterface.c:
15589           Some documentation fixes (#307394 and #307397).
15590
15591 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15592
15593         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15594
15595         * gst/gstvalue.c: (gst_value_intersect_list):
15596           Fix memleak (#309125).
15597
15598 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15599
15600         * docs/manual/advanced-dataaccess.xml:
15601           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15602         * docs/manual/basics-pads.xml:
15603           Add reference for filtered caps to above chapter.
15604
15605 2005-06-30  Wim Taymans  <wim@fluendo.com>
15606
15607         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15608         (gst_bin_change_state):
15609         Probes are gone.
15610         Lame attempt at making the state change function a bit
15611         more readable.
15612
15613 2005-06-30  Wim Taymans  <wim@fluendo.com>
15614
15615         * docs/design/part-clocks.txt:
15616         * docs/design/part-element-sink.txt:
15617         * docs/design/part-events.txt:
15618         * docs/design/part-preroll.txt:
15619         * docs/design/part-states.txt:
15620         Some more tweeks and additions to the docs.
15621
15622 2005-06-30  Wim Taymans  <wim@fluendo.com>
15623
15624         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15625         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15626         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15627         (gst_pad_check_pull_range), (gst_pad_get_range),
15628         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15629         * gst/gstpad.h:
15630         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15631         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15632         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15633         (gst_pad_remove_buffer_probe):
15634         Removed atomic operations, use existing LOCK.
15635         Move exception handling out of main code path.
15636
15637 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15638
15639         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15640         (silly_return_true_function), (gst_pad_class_init),
15641         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15642         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15643         (gst_pad_send_event):
15644           Fix accumulator, add default value by using _emitv() instead
15645           of _emit() for signal emission.
15646
15647 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15648
15649         * docs/manual/advanced-dataaccess.xml:
15650         * examples/manual/Makefile.am:
15651           Add probe example.
15652         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15653           Make work (??).
15654
15655 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15656
15657         * gst/elements/gstfilesink.c: (gst_filesink_render):
15658           Simplify code so that we don't have to handle short
15659           writes and return GST_FLOW_ERROR if an error occured.
15660
15661 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15662
15663         * docs/gst/gstreamer-docs.sgml:
15664           Remove probes more.
15665
15666 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15667
15668         * docs/gst/gstreamer-sections.txt:
15669         * docs/gst/tmpl/gstpad.sgml:
15670         * docs/gst/tmpl/gstprobe.sgml:
15671         * gst/Makefile.am:
15672         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15673         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15674         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15675         (gst_pad_push_event), (gst_pad_send_event):
15676         * gst/gstpad.h:
15677         * gst/gstutils.c: (gst_pad_add_data_probe),
15678         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15679         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15680         (gst_pad_remove_buffer_probe):
15681         * gst/gstutils.h:
15682           Remove old probes, add new g-signal-based probes and some utility
15683           functions.
15684
15685 2005-06-29  Edward Hervey  <edward@fluendo.com>
15686
15687         * gst/gstelementfactory.c:
15688         * gst/gstutils.h:
15689         * gst/gstutils.c:
15690         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15691         the definition to the header file.
15692
15693 2005-06-29  Andy Wingo  <wingo@pobox.com>
15694
15695         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15696         plugins from the source directory.
15697
15698 2005-06-29  Wim Taymans  <wim@fluendo.com>
15699
15700         * docs/gst/tmpl/gstbuffer.sgml:
15701         * docs/gst/tmpl/gstclock.sgml:
15702         Some fixings for blantently wrong text.
15703
15704 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15705
15706         * check/Makefile.am:
15707         * gst/gst.c: (add_path_func), (init_pre):
15708         * gst/gstregistry.c: (gst_registry_add_path):
15709           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15710           only scan the GST_PLUGIN_PATH locations, and not add
15711           system locations
15712
15713 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15714
15715         * docs/gst/gstreamer-sections.txt:
15716         * docs/gst/tmpl/gstbasesrc.sgml:
15717         * gst/gstelement.c:
15718         * gst/gstelement.h:
15719         * gst/gstevent.c:
15720         * gst/gstutils.c:
15721           doc fixes
15722
15723 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15724
15725         * docs/manual/advanced-autoplugging.xml:
15726           Fix autoplugging example.
15727
15728 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15729
15730         * docs/manual/advanced-autoplugging.xml:
15731         * docs/manual/mime-world.fig:
15732           Try to get autoplugging working, fix type detection. Fix text
15733           in hello-world image.
15734
15735 2005-06-29  Wim Taymans  <wim@fluendo.com>
15736
15737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15738         (gst_base_sink_change_state):
15739         Small debug line.
15740
15741         * gst/gstclock.h:
15742         map SIGNAL and BROADCAST to the right function.
15743
15744         * gst/gstobject.h:
15745         Remove redundant braces.
15746
15747         * gst/gstpad.c: (gst_pad_set_caps):
15748         Don't call setcaps function when reseting caps to NULL.
15749
15750         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15751         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15752         (gst_system_clock_id_unschedule):
15753         Use BROADCAST as this is what we do.
15754
15755 2005-06-29  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15758         We are actually prerolling before commiting the state
15759         change. 
15760
15761 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15762
15763         * docs/manual/advanced-clocks.xml:
15764         * docs/manual/advanced-interfaces.xml:
15765         * docs/manual/advanced-metadata.xml:
15766         * docs/manual/advanced-position.xml:
15767         * docs/manual/advanced-schedulers.xml:
15768         * docs/manual/advanced-threads.xml:
15769         * docs/manual/appendix-porting.xml:
15770         * docs/manual/basics-bins.xml:
15771         * docs/manual/basics-bus.xml:
15772         * docs/manual/basics-elements.xml:
15773         * docs/manual/basics-helloworld.xml:
15774         * docs/manual/basics-pads.xml:
15775         * docs/manual/highlevel-components.xml:
15776         * docs/manual/manual.xml:
15777         * docs/manual/thread.fig:
15778           Update (until threads/scheduling) Application Development Manual;
15779           remove GstThread, add GstBus, add simple porting checklist, add
15780           documentation for tag writing, clocks, make all examples until this
15781           part compile and run.
15782         * examples/manual/Makefile.am:
15783           Update from changes to Application Development Manual; add bus
15784           example, remove thread example.
15785
15786 2005-06-28  Wim Taymans  <wim@fluendo.com>
15787
15788         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15789         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15790         (gst_bus_source_dispatch):
15791         Add debugging messages.
15792         Make internal methods static.
15793         Handle the case where the bus is flushed in the handler.
15794         
15795         * gst/gstelement.c: (gst_element_get_bus):
15796         Fix refcount in _get_bus();
15797
15798         * gst/gstpipeline.c: (gst_pipeline_change_state),
15799         (gst_pipeline_get_clock_func):
15800         Clock refcounting fixes.
15801         Handle the case where preroll timed out more gracefully.
15802         
15803         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15804         Clean up the internal thread in dispose. This is needed
15805         for subclasses that actually get disposed.
15806         
15807         * gst/schedulers/threadscheduler.c:
15808         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15809         (gst_thread_scheduler_dispose):
15810         Free thread pool in dispose.
15811
15812 2005-06-28  Andy Wingo  <wingo@pobox.com>
15813
15814         * tests/network-clock-utils.scm (debug, print-event): New utils.
15815
15816         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15817         (*packet-loss*): Unified loss probability.
15818         (network-time): Report out-of-band events.
15819
15820         * tests/plot-data: Add support for out-of-band events. Hack it
15821         into this script instead of passing it down the pipe; should fix
15822         this later.
15823
15824 2005-06-28  Wim Taymans  <wim@fluendo.com>
15825
15826         * docs/gst/gstreamer.types:
15827         * docs/gst/tmpl/gstbasesrc.sgml:
15828         * docs/gst/tmpl/gstpad.sgml:
15829         Docs fixes.
15830
15831 2005-06-28  Wim Taymans  <wim@fluendo.com>
15832
15833         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15834         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15835         (gst_proxy_pad_do_fixatecaps):
15836         Correctly proxy the check_pull_range function.
15837
15838 2005-06-28  Andy Wingo  <wingo@pobox.com>
15839
15840         * tests/network-clock.scm: Removed need for slib.
15841         
15842 2005-06-28  Wim Taymans  <wim@fluendo.com>
15843
15844         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15845         (gst_basesink_preroll_queue_flush):
15846         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15847         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15848         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15849         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15850         (gst_proxy_pad_set_property):
15851         * gst/gstpad.c:
15852         * gst/gstpad.h:
15853         * gst/gstqueue.c: (gst_queue_init):
15854         The deprecated pad loop function is removed now.
15855
15856 2005-06-28  Andy Wingo  <wingo@pobox.com>
15857
15858         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15859         New parameters, simulate network packet loss.
15860
15861         * tests/network-clock-utils.scm: Initialize the RNG.
15862
15863 2005-06-28  Wim Taymans  <wim@fluendo.com>
15864
15865         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15866         (gst_basesink_event), (gst_basesink_deactivate):
15867         Flushing the preroll queue always needs to unlock the waiters.
15868
15869 2005-06-28  Edward Hervey  <edward@fluendo.com>
15870
15871         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15872         Wheen a seek was successful on a pipeline, set the stream_time to the
15873         seek offset in order to have a synchronized stream_time.
15874
15875 2005-06-28  Wim Taymans  <wim@fluendo.com>
15876
15877         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15878         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15879         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15880         (gst_proxy_pad_do_fixatecaps):
15881         Call wrapper function instead of just calling the function
15882         pointers. This takes care of any locking and whatmore.
15883
15884 2005-06-28  Wim Taymans  <wim@fluendo.com>
15885
15886         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15887         (gst_pad_pull_range):
15888         * gst/gstpad.h:
15889         CONNECTED -> LINKED.
15890
15891 2005-06-28  Andy Wingo  <wingo@pobox.com>
15892
15893         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15894         source-munging commit!!!
15895
15896         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15897         (gst_object_sink): Take gpointer arguments, not GstObject --
15898         avoids casts. Like GLib.
15899
15900         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15901         activate.
15902
15903 2005-06-27  Andy Wingo  <wingo@pobox.com>
15904
15905         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15906         remaining buffer.
15907
15908         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15909         returns a sorted copy of the trace list.
15910         (gst_alloc_trace_print_live): New API, only prints traces with
15911         live objects. Sort the list.
15912         (gst_alloc_trace_print_all): Sort the list.
15913         (gst_alloc_trace_print): Align columns.
15914
15915         * gst/elements/gstttypefindelement.c:
15916         * gst/elements/gsttee.c:
15917         * gst/base/gstbasesrc.c:
15918         * gst/base/gstbasesink.c:
15919         * gst/base/gstbasetransform.c:
15920         * gst/gstqueue.c: Adapt for pad activation changes.
15921
15922         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15923         sched.
15924         (gst_pipeline_dispose): Drop ref on sched.
15925
15926         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15927         (gst_pad_activate_default): Push mode by default.
15928         (pre_activate_switch, post_activate_switch): New stubs, things to
15929         do before and after switching activation modes on pads.
15930         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15931         the pad's activate function to choose which mode to activate.
15932         Shortcut on deactivation and call the right function directly.
15933         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15934         mode.
15935         (gst_pad_activate_push): New API, same for push mode.
15936         (gst_pad_set_activate_function) 
15937         (gst_pad_set_activatepull_function) 
15938         (gst_pad_set_activatepush_function): Setters for new API.
15939
15940         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15941         Trace all miniobjects.
15942         (gst_mini_object_make_writable): Unref the arg if we copy, like
15943         gst_caps_make_writable.
15944
15945         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15946
15947         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15948         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15949         Adapt for new pad API.
15950
15951         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15952
15953         * gst/gstelement.h:
15954         * gst/gstelement.c (gst_element_iterate_src_pads) 
15955         (gst_element_iterate_sink_pads): New API functions.
15956         
15957         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15958         should fold into gstiterator.c in some form.
15959         (gst_element_pads_activate): Simplified via use of fold and
15960         delegation of decisions to gstpad->activate.
15961
15962         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15963         help in debugging.
15964
15965         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15966         class once in init, like gstmessage. Didn't run into this issue
15967         but it seems correct. Don't initialize a trace, gstminiobject does
15968         that.
15969
15970         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15971         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15972         to the bus.
15973         (assert_live_count): New util function, uses alloc traces to check
15974         cleanup.
15975
15976         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15977         To be modified when unlink drops the internal pad.
15978
15979 2005-06-27  Wim Taymans  <wim@fluendo.com>
15980
15981         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15982         (gst_bin_change_state):
15983         Cleanup the get_state() function a little, make sure it
15984         iterates the same set of elements.
15985         Added stub iterate_state_order().
15986
15987 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15988
15989         * docs/gst/gstreamer-docs.sgml:
15990         * docs/gst/gstreamer-sections.txt:
15991         * docs/gst/gstreamer.types:
15992         * docs/gst/tmpl/gstbasesink.sgml:
15993         * docs/gst/tmpl/gstbasesrc.sgml:
15994         * docs/gst/tmpl/gstbasetransform.sgml:
15995         * docs/gst/tmpl/gstelement.sgml:
15996         * docs/gst/tmpl/gstiterator.sgml:
15997         * gst/base/gstbasesrc.c:
15998         * gst/base/gstbasesrc.h:
15999         * gst/base/gstbasetransform.h:
16000         * gst/gstelement.c:
16001         * gst/gstiterator.h:
16002           adding basetransform and iterator docs
16003
16004 2005-06-27  Andy Wingo  <wingo@pobox.com>
16005
16006         * docs/design/part-activation.txt: Notes on how activation should
16007         work -- not quite implemented yet.
16008
16009 2005-06-25  Wim Taymans  <wim@fluendo.com>
16010
16011         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16012         At least get the chain function correct, needs more
16013         fixing.
16014
16015 2005-06-25  Wim Taymans  <wim@fluendo.com>
16016
16017         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16018         (gst_basesink_handle_object), (gst_basesink_event),
16019         (gst_basesink_do_sync), (gst_basesink_handle_event),
16020         (gst_basesink_change_state):
16021         * gst/gsttask.h:
16022         Right, two problems here: ghostpads don't take locks and
16023         glib _rec_mutex_lock_full() with depth==0 still locks.
16024         Catch illegal locking and g_warn them.
16025
16026 2005-06-25  Wim Taymans  <wim@fluendo.com>
16027
16028         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16029         Have to check for completion now...
16030
16031 2005-06-25  Wim Taymans  <wim@fluendo.com>
16032
16033         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16034         (gst_basesink_handle_object), (gst_basesink_event),
16035         (gst_basesink_do_sync), (gst_basesink_handle_event),
16036         (gst_basesink_change_state):
16037         * gst/gstpad.h:
16038         Unlock STREAM_LOCK whatever the recursion was.
16039
16040 2005-06-25  Wim Taymans  <wim@fluendo.com>
16041
16042         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16043         (gst_basesink_preroll_queue_empty),
16044         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16045         (gst_basesink_event), (gst_basesink_do_sync),
16046         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16047         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16048         (gst_basesink_change_state):
16049         Reworked the base sink, handle event and buffer serialisation
16050         correctly and removed possible deadlock.
16051         Handle EOS correctly.
16052
16053 2005-06-25  Wim Taymans  <wim@fluendo.com>
16054
16055         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16056         (gst_pipeline_change_state):
16057         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16058         Allow elements to post EOS in the state change function.
16059         Fix up -launch, make it exit the poll loop when the
16060         pipeline actually changed state.
16061         Fix up warning parsing in -launch.
16062
16063 2005-06-25  Wim Taymans  <wim@fluendo.com>
16064
16065         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16066         (gst_tee_sink_activate):
16067         Core takes STREAM_LOCK for us now.
16068
16069 2005-06-25  Wim Taymans  <wim@fluendo.com>
16070
16071         * gst/gstelement.c: (gst_element_get_state_func),
16072         (gst_element_set_state):
16073         * gst/gstelement.h:
16074         * gst/gstmessage.c: (gst_message_parse_error),
16075         (gst_message_parse_warning):
16076         Keep track of current target state while performing a state
16077         change so that subclasses can do something interesting.
16078         Fix parsing of warning/error messages when GError is NULL.
16079
16080 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16081
16082         * docs/gst/Makefile.am:
16083         * docs/gst/gstreamer-docs.sgml:
16084         * docs/gst/gstreamer-sections.txt:
16085         * docs/gst/gstreamer.types:
16086         * docs/gst/tmpl/gstbasesink.sgml:
16087         * docs/gst/tmpl/gstbasesrc.sgml:
16088         * docs/gst/tmpl/gstbin.sgml:
16089         * docs/gst/tmpl/gstcompat.sgml:
16090         * docs/gst/tmpl/gstfakesink.sgml:
16091         * docs/gst/tmpl/gstfakesrc.sgml:
16092         * docs/gst/tmpl/gstfilesink.sgml:
16093         * docs/gst/tmpl/gstfilesrc.sgml:
16094         * docs/gst/tmpl/gstindex.sgml:
16095         * docs/manual/appendix-quotes.xml:
16096         * gst/base/gstbasesrc.h:
16097         * gst/elements/gstfakesrc.h:
16098         * gst/gstmessage.h:
16099           start pulling in base classes and elements in our docs
16100
16101 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16102
16103         * docs/gst/Makefile.am:
16104         * docs/libs/Makefile.am:
16105           fixed make distcheck with gtk-doc 1.3
16106
16107 2005-06-23  Wim Taymans  <wim@fluendo.com>
16108
16109         * gst/gstelement.c: (gst_element_get_state_func),
16110         (gst_element_set_state), (gst_element_change_state):
16111         When the state did not change, also report NO_PREROLL
16112         when it matters.
16113
16114 2005-06-23  Wim Taymans  <wim@fluendo.com>
16115
16116         * gst/gstpad.c: (gst_pad_event_default):
16117         * gst/gstqueue.c: (gst_queue_loop):
16118         No unsafe task pausing please.
16119
16120 2005-06-23  Wim Taymans  <wim@fluendo.com>
16121
16122         * gst/schedulers/threadscheduler.c:
16123         (gst_thread_scheduler_task_start),
16124         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
16125         Ref the task before pushing it on the threadpool. This
16126         makes sure that we have a ref when the threadfunction is
16127         actually called.
16128
16129 2005-06-23  Andy Wingo  <wingo@pobox.com>
16130
16131         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
16132         offset is greater than the file's size.
16133
16134         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
16135         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
16136         * gst/gstobject.c (gst_object_class_init): Make the class lock
16137         recursive. Wim won't let me drop deep_notify. Decodebin works
16138         again, whoopdy doo.
16139
16140         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
16141         internal pad, and hacks accordingly. Doesn't do it on the target
16142         pad because we change its caps. Probably catches all cases of
16143         interest tho.
16144         (gst_ghost_pad_set_property): Connect to notify::caps as
16145         appropritate.
16146
16147         * tests/network-clock.scm (plot-simulation): Pipe data to the
16148         elite python skript.
16149
16150         * tests/network-clock-utils.scm (define-parameter): New macro,
16151         defines a parameter that can be set via the command line.
16152         (set-parameter!, parse-parameter-arguments): Command line args
16153         parser.
16154
16155         * tests/plot-data: Simple matplotlib-based plotter, takes input on
16156         stdin.
16157
16158 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
16159
16160         * gst/elements/gsttypefindelement.c:
16161         (gst_type_find_element_handle_event):
16162           Don't restart typefinding on a discont.
16163         * gst/gstelement.c: (gst_element_set_state):
16164           Debug spelling fix.
16165         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16166           Allow changing mode of an active pad.
16167           Debug output fixes.
16168         * gst/registries/gstlibxmlregistry.c: (load_feature):
16169           Don't cast a static pad template to a normal pad template.
16170
16171 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16172
16173         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16174         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16175           remove gst_strtoll completely, since it didn't actually do
16176           anything more than what g_ascii_strtoull already does.
16177           check for range errors when deserializing
16178           do a cast for the unsigned cases; but further fixing needs
16179           a decision on what the interpretation of "(int)" and
16180           deserialization should be for values that fall outside the
16181           type's boundaries (ie, refuse, or interpret as casting)
16182
16183 2005-06-23  Wim Taymans  <wim@fluendo.com>
16184
16185         * check/Makefile.am:
16186         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16187         * docs/design/part-live-source.txt:
16188         * docs/design/part-states.txt:
16189         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16190         (gst_basesrc_set_live), (gst_basesrc_is_live),
16191         (gst_basesrc_get_range), (gst_basesrc_activate),
16192         (gst_basesrc_change_state):
16193         * gst/base/gstbasesrc.h:
16194         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16195         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16196         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16197         * gst/gstelement.c: (gst_element_get_state_func),
16198         (gst_element_set_state):
16199         * gst/gstelement.h:
16200         * gst/gsttypes.h:
16201         * tools/gst-launch.c: (event_loop), (main):
16202         Added support for live sources and other elements that
16203         cannot do preroll.
16204         Updated design docs, added live-source design doc.
16205         Implemented live source functionality in basesrc
16206         Fix error condition in _bin_get_state()
16207         Implement live source handling in -launch.
16208         Added check for live sources.
16209         Fixed case in GstBin where elements were changed state
16210         multiple times.
16211
16212
16213 2005-06-23  Andy Wingo  <wingo@pobox.com>
16214
16215         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16216         borken refcounting.
16217
16218         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16219         gst_caps_replace takes care of this for us.
16220
16221         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16222         gst_pad_set_caps on the target, not just its setcaps() function.
16223
16224         * tests/network-clock.scm: 
16225         * tests/network-clock-utils.scm: A network clock simulator.
16226         Something of an algorithmic testbed before doing something in C.
16227
16228 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16229
16230         * check/Makefile.am:
16231         * check/gst/capslist.h:
16232           copy over from 0.8, and add two with bitmasks specified with
16233           (int) 0xFF...
16234         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16235           add test to parse everything from capslist.h
16236         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16237         (main):
16238           add test for structure deserialization
16239         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16240           add tests for deserialization of strings to int types
16241         * gst/gststructure.c: (gst_structure_nth_field_name):
16242         * gst/gststructure.h:
16243           add a way to get the name of a field referenced by index
16244         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16245           instead of checking if the resulting long long lies between
16246           min and max, we check if the long long would fit into
16247           a number of bytes for the final type.
16248           This fixes cases where a string represents 2^32 - 1, which
16249           when cast to int would be the (valid) -1, but is bigger than
16250           G_MAXINT
16251
16252 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16253
16254         * gst/parse/grammar.y:
16255           add a log line for type deserialization
16256
16257 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16258
16259         * check/gst/gstvalue.c: (START_TEST):
16260         * gst/gstvalue.c: (gst_value_deserialize):
16261           return long long, not int, so gint64 deserialization actually
16262           works.  Is there any flag that makes the compiler check this ?
16263           Fixes #308559
16264
16265 2005-06-22  Wim Taymans  <wim@fluendo.com>
16266
16267         * gst/gstbuffer.h:
16268         Added convenience macros for setting buffers in GValue.
16269
16270 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16271
16272         * check/gst/.cvsignore:
16273         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16274           add a test deserializing int64, and comment part out because
16275           it fails, yay !
16276
16277 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16278
16279         * check/Makefile.am:
16280         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16281         * testsuite/Makefile.am:
16282         * testsuite/caps/Makefile.am:
16283         * testsuite/caps/value_serialize.c:
16284         * testsuite/test_gst_init.c:
16285           move a value_serialize test over
16286
16287 2005-06-20  Wim Taymans  <wim@fluendo.com>
16288
16289         * gst/gstpad.c:
16290         Small doc updates.
16291         
16292         * gst/gstvalue.c: (gst_value_compare_buffer),
16293         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16294         (gst_value_compare_flags), (gst_value_serialize_flags),
16295         (gst_value_deserialize_flags), (_gst_value_initialize):
16296         Fix serialisation of buffers, they are not boxed types anymore
16297
16298 2005-06-20  Wim Taymans  <wim@fluendo.com>
16299
16300         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16301         Testcase to show error in buffer-on-caps serialisation.
16302
16303 2005-06-20  Andy Wingo  <wingo@pobox.com>
16304
16305         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16306         will be adding to later.
16307
16308         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16309         if its socks fill with rocks.
16310         (gst_system_clock_obtain): Set the name on object construction.
16311         Avoid double-checked locking.
16312
16313 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16314
16315         * gst/gsturi.c: (gst_element_make_from_uri):
16316           Fix potential endless loop.
16317
16318 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16319
16320         * check/Makefile.am:
16321           add gsttag
16322         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16323         (main):
16324           move over from testsuite dir and clean up
16325         * configure.ac:
16326         * gst/gsttag.c:
16327         * testsuite/Makefile.am:
16328         * testsuite/tags/.cvsignore:
16329         * testsuite/tags/Makefile.am:
16330         * testsuite/tags/merge.c:
16331           remove testsuite/tags
16332
16333 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16334
16335         * docs/gst/gstreamer-sections.txt:
16336         * docs/gst/tmpl/gstenumtypes.sgml:
16337         * win32/gstenumtypes.c:
16338           clean up documentation build a little
16339
16340 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16341
16342         * check/gstcheck.h:
16343           add macros for checking refcounts on objects and caps
16344         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16345           add some more unit tests
16346         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16347         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16348           fix leaked refcounts (I hope :)) so unittest works
16349         * gst/gstpad.h:
16350           whitespace removal
16351
16352 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16353
16354         * configure.ac: back to HEAD
16355
16356 === release 0.9.1 ===
16357
16358 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16359
16360         * NEWS:
16361         * RELEASE:
16362           updated
16363
16364 2005-06-17  Andy Wingo  <wingo@pobox.com>
16365
16366         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16367         assert; it's always possible that the pad gets deactivated in
16368         between the checks in gstpad.c and the implementation. Rely on
16369         finish_preroll() to return a FLUSHING or similar instead of on the
16370         assert.
16371         
16372         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16373         clock and post an EOS message if we come out of finish_preroll in
16374         the playing state.
16375
16376 2005-06-16  David Schleef  <ds@schleef.org>
16377
16378         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16379         (gst_capsfilter_set_property): Allow NULL as possible value
16380         for filter_caps property, indicating GST_CAPS_ANY.
16381
16382 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16383
16384         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16385           fix debug output
16386         * gst/schedulers/Makefile.am:
16387           use libgst prefix
16388         * gstreamer.spec.in:
16389           fix spec for it
16390
16391 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16392
16393         * gstreamer.spec.in:
16394           clean up
16395
16396 2005-06-08  Andy Wingo  <wingo@pobox.com>
16397
16398         * gst/gstutils.c: RPAD fixes all around.
16399         (gst_element_link_pads): Refcounting fixes.
16400
16401         * tools/gst-inspect.c:
16402         * tools/gst-xmlinspect.c:
16403         * parse/grammar.y:
16404         * gst/base/gsttypefindhelper.c:
16405         * gst/base/gstbasesink.c:
16406         * gst/gstqueue.c: RPAD fixes.
16407
16408         * gst/gstghostpad.h:
16409         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16410         pads. The tricky thing is they provide both source and sink
16411         interfaces, since they proxy the internal pad for the external
16412         pad, and vice versa. Implement with lower-level ProxyPad objects,
16413         with the interior proxy pad as a child of the exterior ghost pad.
16414         Should write a doc on this.
16415         
16416         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16417         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16418         gst_object API.
16419         
16420         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16421         pads are real pads. No ghost pads in this file. Not documenting
16422         the myriad s/RPAD/PAD/ and REALIZE fixes.
16423         (gst_pad_class_init): Add properties for "direction" and
16424         "template". Both are construct-only, so they can't change during
16425         the life of the pad. Fixes properly deriving from GstPad.
16426         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16427         derived objects, just set properties when creating the objects via
16428         g_object_new.
16429         (gst_pad_get_parent): Implement as a function, return NULL if the
16430         parent is not an element.
16431         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16432         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16433         
16434         * gst/gstobject.c (gst_object_class_init): Make name a construct
16435         property. Don't set it in the object init.
16436
16437         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16438         with UNKNOWN direction.
16439         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16440         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16441         (gst_element_remove_pad): Remove ghost-pad special cases.
16442         (gst_element_pads_activate): Remove rpad cruft.
16443
16444         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16445         catch the pad's-parent-not-an-element case.
16446
16447         * gst/gst.h: Include gstghostpad.h.
16448
16449         * gst/gst.c (init_post): No more real, ghost pads.
16450
16451         * gst/Makefile.am: Add gstghostpad.[ch].
16452
16453         * check/Makefile.am:
16454         * check/gst/gstbin.c:
16455         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16456         into a bin creates ghost pads, and that the refcounts are right.
16457         Partly moved from gstbin.c.
16458
16459 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16460
16461         * check/gst-libs/.cvsignore:
16462         * check/gst/.cvsignore:
16463         * check/pipelines/.cvsignore:
16464           ignore more
16465         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16466         (START_TEST), (cleanup_suite), (main):
16467           add some tests related to cleanup after running pipelines
16468
16469 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16470
16471         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16472           add a testsuite for GstBuffer
16473
16474 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16475
16476         * gst/gstminiobject.h:
16477           add defines for accessing the refcount
16478
16479 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16480
16481         * Makefile.am: added support for html unit test coverage reports
16482
16483 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16484
16485         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16486           Free existing caps if the capsfilter changes. Add a FIXME about
16487           setting those caps on the pads.
16488
16489         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16490           Before adding a ghost pad to a parent bin, check that there isn't
16491           already one for the element on the bin. Prevents infinite recursion
16492           when using decodebin in parse pipelines. Andy says he'll rewrite the
16493           way this works anyway, so ignore the hack.
16494
16495 2005-06-02  Andy Wingo  <wingo@pobox.com>
16496
16497         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16498         file size, pass it on to the type find helper.
16499
16500         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16501         segment_start and segment_end properly according to the seek
16502         method. Segment_end is still a bit flaky because offset can be
16503         negative for CUR and END cases, but it takes -1 as an "unset"
16504         value.
16505
16506 2005-06-02  Wim Taymans  <wim@fluendo.com>
16507
16508         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16509         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16510         (gst_basesink_activate):
16511         * gst/base/gstbasesink.h:
16512         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16513         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16514         (gst_pad_query), (gst_pad_start_task):
16515         * gst/gstpad.h:
16516         * gst/gstqueue.c: (gst_queue_bufferalloc),
16517         (gst_queue_handle_sink_event), (gst_queue_chain):
16518         Bufferalloc: return GstFlowReturn to more accuratly report
16519         why allocation failed.
16520
16521 2005-06-02  Wim Taymans  <wim@fluendo.com>
16522
16523         * gst/gstpipeline.c: (gst_pipeline_send_event):
16524         Take snapshot of state without blocking.
16525
16526 2005-06-02  Wim Taymans  <wim@fluendo.com>
16527
16528         * docs/design/part-TODO.txt:
16529         * docs/design/part-caps.txt:
16530         * docs/design/part-clocks.txt:
16531         * docs/design/part-negotiation.txt:
16532         * docs/design/part-preroll.txt:
16533         Small doc updates 
16534
16535 2005-05-30  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/elements/gstidentity.c: (gst_identity_event),
16538         (gst_identity_transform), (gst_identity_get_property):
16539         Protect last_message property as it is accessed from
16540         multiple threads.
16541
16542 2005-05-30  Wim Taymans  <wim@fluendo.com>
16543
16544         * gst/gstelement.c: (gst_element_init),
16545         (gst_element_pads_activate), (gst_element_change_state):
16546         Slicker pad activation code.
16547
16548 2005-05-30  Wim Taymans  <wim@fluendo.com>
16549
16550         * gst/Makefile.am:
16551         * gst/gstelement.h:
16552         * gst/gstelementfactory.h:
16553         * gst/gsttypes.h:
16554         Move elementfactory methods to separate .h file.
16555
16556 2005-05-30  Wim Taymans  <wim@fluendo.com>
16557
16558         * docs/design/part-overview.txt:
16559         * gst/gstsystemclock.h:
16560         Small typo fixes, doc updates.
16561
16562 2005-05-30  Wim Taymans  <wim@fluendo.com>
16563
16564         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16565         (init_popt_callback):
16566         Remove cpu-opt flag.
16567
16568 2005-05-30  Wim Taymans  <wim@fluendo.com>
16569
16570         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16571         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16572         * gst/gstbuffer.h:
16573         Avoid typechecking in places where not needed.
16574         Added accessor for malloc_data.
16575
16576 2005-05-30  Wim Taymans  <wim@fluendo.com>
16577
16578         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16579         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16580         (gst_pad_configure_sink), (gst_pad_configure_src),
16581         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16582         (gst_pad_start_task):
16583         Propagate errors from _set_caps() in configure_src/sink
16584         functions instead of returning TRUE.
16585         FLUSH events can travel up and downstream
16586
16587
16588 2005-05-30  Wim Taymans  <wim@fluendo.com>
16589
16590         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16591         (gst_basesink_activate):
16592         Handle EOS in preroll.
16593
16594 2005-05-30  Wim Taymans  <wim@fluendo.com>
16595
16596         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16597         (gst_queue_loop), (gst_queue_handle_src_event):
16598         Remove old pieces of code
16599         Flushing the queue in an upstream event is a very bad idea.
16600
16601 2005-05-26  Andy Wingo  <wingo@pobox.com>
16602
16603         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16604         gst_value_set_mini_object so as to add a ref on the object (which
16605         will be removed when the value is unset).
16606
16607         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16608         arg type in ::handoff.
16609
16610         * gst/gstelement.c (gst_element_change_state): Also deactivate
16611         pads in READY->NULL, just in case the element didn't make it to
16612         PAUSED. Wingo tested, Wim approved.
16613
16614 2005-05-26  Wim Taymans  <wim@fluendo.com>
16615
16616         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16617         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16618         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16619         A flushing pad cannot be used to alloc_buffer from.
16620
16621 2005-05-26  Wim Taymans  <wim@fluendo.com>
16622
16623         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16624         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16625         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16626         (gst_bus_create_watch), (gst_bus_add_watch_full):
16627         * gst/gstbus.h:
16628         Implement a real GSource and use g_main_context_wakeup() to
16629         signal new messages instead of the socketpair.
16630
16631 2005-05-25  Wim Taymans  <wim@fluendo.com>
16632
16633         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16634         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16635         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16636         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16637         (gst_pad_send_event), (gst_pad_start_task):
16638         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16639         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16640         (gst_queue_sink_activate), (gst_queue_src_activate),
16641         (gst_queue_change_state):
16642         * gst/gstqueue.h:
16643         Fix state changes for non sinks. We now change sinks, then elements
16644         with unconnected srcpads, then the rest.
16645         More efficient queue unlocking in flush and state changes.
16646         Set the pad activate mode even if it does not have an activate
16647         function.
16648
16649 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16650
16651         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16652           Don't go in pull mode for non-seekable sources.
16653         * gst/elements/gsttypefindelement.h:
16654         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16655         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16656         (free_entry), (stop_typefinding),
16657         (gst_type_find_element_handle_event), (find_peek),
16658         (gst_type_find_element_chain), (do_pull_typefind),
16659         (gst_type_find_element_change_state):
16660           Allow typefinding (w/o seeking) in push-mode, simplified version
16661           of what was in 0.8.
16662         * gst/gstutils.c: (gst_buffer_join):
16663         * gst/gstutils.h:
16664           gst_buffer_join() from 0.8.
16665
16666 2005-05-25  Wim Taymans  <wim@fluendo.com>
16667
16668         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16669         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16670         (gst_pad_send_event), (gst_pad_start_task):
16671         Disable attempt at mode switching until it is figured out.
16672
16673 2005-05-25  Wim Taymans  <wim@fluendo.com>
16674
16675         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16676         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16677         (gst_basesink_finish_preroll), (gst_basesink_chain),
16678         (gst_basesink_loop), (gst_basesink_activate),
16679         (gst_basesink_change_state):
16680         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16681         (gst_basesrc_get_range), (gst_basesrc_loop),
16682         (gst_basesrc_activate):
16683         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16684         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16685         (gst_real_pad_init), (gst_real_pad_set_property),
16686         (gst_real_pad_get_property), (gst_pad_set_active),
16687         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16688         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16689         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16690         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16691         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16692         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16693         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16694         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16695         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16696         (gst_pad_stop_task):
16697         * gst/gstpad.h:
16698         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16699         (gst_queue_loop), (gst_queue_src_activate):
16700         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16701         (gst_task_get_state):
16702         * gst/gsttask.h:
16703         * gst/schedulers/threadscheduler.c:
16704         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16705         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16706         in task function.
16707         Remove ACTIVE pad flag, use FLUSHING everywhere
16708         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16709         functions.
16710         Add locks around IS_FLUSHING when reading.
16711         Take STREAM lock in chain(), get_range() functions so plugins
16712         don't need to take it anymore.
16713         
16714
16715
16716 2005-05-25  Wim Taymans  <wim@fluendo.com>
16717
16718         * tools/gst-launch.c: (event_loop):
16719         Unref message after using its contents instead of
16720         before.
16721
16722 2005-05-24  Wim Taymans  <wim@fluendo.com>
16723
16724         * docs/design/draft-ghostpads.txt:
16725         * docs/design/draft-push-pull.txt:
16726         * docs/design/draft-query.txt:
16727         * docs/design/part-overview.txt:
16728         Docs updates, added general overview doc.
16729
16730 2005-05-21  David Schleef  <ds@schleef.org>
16731
16732         * docs/gst/tmpl/old/GstBin.sgml:
16733         * docs/gst/tmpl/old/GstBuffer.sgml:
16734         * docs/gst/tmpl/old/GstCaps.sgml:
16735         * docs/gst/tmpl/old/GstClock.sgml:
16736         * docs/gst/tmpl/old/GstCompat.sgml:
16737         * docs/gst/tmpl/old/GstData.sgml:
16738         * docs/gst/tmpl/old/GstElement.sgml:
16739         * docs/gst/tmpl/old/GstEvent.sgml:
16740         * docs/gst/tmpl/old/GstIndex.sgml:
16741         * docs/gst/tmpl/old/GstStructure.sgml:
16742         * docs/gst/tmpl/old/GstTag.sgml:
16743         * docs/gst/tmpl/old/cothreads.sgml:
16744         * docs/gst/tmpl/old/cothreads_compat.sgml:
16745         * docs/gst/tmpl/old/gettext.sgml:
16746         * docs/gst/tmpl/old/gobject2gtk.sgml:
16747         * docs/gst/tmpl/old/grammar.tab.sgml:
16748         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16749         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16750         * docs/gst/tmpl/old/gst_private.sgml:
16751         * docs/gst/tmpl/old/gstaggregator.sgml:
16752         * docs/gst/tmpl/old/gstarch.sgml:
16753         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16754         * docs/gst/tmpl/old/gstbufferstore.sgml:
16755         * docs/gst/tmpl/old/gstdata_private.sgml:
16756         * docs/gst/tmpl/old/gstdisksink.sgml:
16757         * docs/gst/tmpl/old/gstdisksrc.sgml:
16758         * docs/gst/tmpl/old/gstelementfactory.sgml:
16759         * docs/gst/tmpl/old/gstextratypes.sgml:
16760         * docs/gst/tmpl/old/gstfakesink.sgml:
16761         * docs/gst/tmpl/old/gstfakesrc.sgml:
16762         * docs/gst/tmpl/old/gstfdsink.sgml:
16763         * docs/gst/tmpl/old/gstfdsrc.sgml:
16764         * docs/gst/tmpl/old/gstfilesink.sgml:
16765         * docs/gst/tmpl/old/gstfilesrc.sgml:
16766         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16767         * docs/gst/tmpl/old/gstidentity.sgml:
16768         * docs/gst/tmpl/old/gstindexfactory.sgml:
16769         * docs/gst/tmpl/old/gstmarshal.sgml:
16770         * docs/gst/tmpl/old/gstmd5sink.sgml:
16771         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16772         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16773         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16774         * docs/gst/tmpl/old/gstpipefilter.sgml:
16775         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16776         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16777         * docs/gst/tmpl/old/gstshaper.sgml:
16778         * docs/gst/tmpl/old/gstspider.sgml:
16779         * docs/gst/tmpl/old/gstspideridentity.sgml:
16780         * docs/gst/tmpl/old/gststatistics.sgml:
16781         * docs/gst/tmpl/old/gsttee.sgml:
16782         * docs/gst/tmpl/old/gsttimecache.sgml:
16783         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16784         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16785         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16786         * docs/gst/tmpl/old/types.sgml:
16787           I didn't intend to add these or check them in.
16788
16789 2005-05-19  David Schleef  <ds@schleef.org>
16790
16791         * configure.ac: Use -no-common everywhere.  In a sane world, it
16792           would be the default in libtool, because without it, you can't
16793           build DLLs on Windows.
16794         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16795         * docs/gst/gstreamer-sections.txt:
16796         * docs/gst/tmpl/gstcpu.sgml:
16797         * docs/gst/tmpl/gstdata.sgml:
16798         * docs/gst/tmpl/gstthread.sgml:
16799
16800 2005-05-19  David Schleef  <ds@schleef.org>
16801
16802         * gst/gstminiobject.c: (gst_value_set_mini_object),
16803         (gst_value_take_mini_object), (gst_value_get_mini_object):
16804         * gst/gstminiobject.h: Add GValue set/get functions.
16805
16806 2005-05-19  Wim Taymans  <wim@fluendo.com>
16807
16808         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16809         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16810         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16811         * gst/gstbuffer.h:
16812         * gst/gstbus.c: (gst_bus_post):
16813         * gst/gstelement.c: (gst_element_get_random_pad):
16814         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16815         Make subbufer unref the parent in finalize.
16816         some more debugging info.
16817
16818
16819 2005-05-19  Wim Taymans  <wim@fluendo.com>
16820
16821         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16822         (gst_basesink_init), (gst_basesink_finalize),
16823         (gst_basesink_activate), (gst_basesink_change_state):
16824         Don't free preroll queue too early.
16825
16826 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16827
16828         * gst/Makefile.am:
16829         * gst/ROADMAP:
16830           Hi, I'm outdated. Please shoot me.
16831
16832 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16833
16834         * gst/gstpipeline.c: (gst_pipeline_send_event):
16835           Do not access variables after they have been deleted.
16836
16837 2005-05-19  Wim Taymans  <wim@fluendo.com>
16838
16839         * tools/gst-inspect.c: (print_plugin_features):
16840         A plugin feature does unfortunatly not use the
16841         object name yet...
16842
16843 2005-05-18  Wim Taymans  <wim@fluendo.com>
16844
16845         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16846         Port _span() functions to new subbuffers.
16847
16848 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16849
16850         * gst/gstbin.c: (gst_bin_add_func):
16851           Fix clock settery in bins when adding kids after the clock has
16852           been selected.
16853
16854 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16855
16856         * gst/elements/gstidentity.c: (gst_identity_class_init):
16857           Workaround until signals support GstMiniObject.
16858
16859 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16860
16861         * gst/gstbuffer.c:
16862         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16863
16864 2005-05-18  Wim Taymans  <wim@fluendo.com>
16865
16866         * gst/base/Makefile.am:
16867         * gst/base/gstadapter.c: (gst_adapter_base_init),
16868         (gst_adapter_class_init), (gst_adapter_init),
16869         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16870         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16871         (gst_adapter_flush), (gst_adapter_available),
16872         (gst_adapter_available_fast):
16873         * gst/base/gstadapter.h:
16874         Ported and added adapter to the base classes.
16875
16876 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16877
16878         * gst/gst.c:
16879         * gst/gstmessage.c:
16880           Make sure the class is reffed/unreffed once before threads can be
16881           used.  Fixes #304551.
16882
16883 2005-05-17  Wim Taymans  <wim@fluendo.com>
16884
16885         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16886         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16887         * gst/gstminiobject.c: (gst_mini_object_get_type),
16888         (gst_mini_object_free):
16889         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16890         (gst_pad_push), (gst_pad_push_event):
16891         * gst/gstqueue.c: (gst_queue_change_state):
16892         Don't queue buffers in basesink when we are flushing.
16893         Unref buffer when flushing in basesink.
16894         Flush queue when going to READY
16895         Unref buffer when _push() returns an error.
16896         Don't free MiniObject instance when refcount is incremented
16897         in _finalize() so that we can recover objects.
16898
16899 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16900
16901         * docs/manual/advanced-schedulers.xml:
16902         * docs/manual/appendix-checklist.xml:
16903         * docs/pwg/advanced-clock.xml:
16904         * docs/pwg/advanced-interfaces.xml:
16905         * docs/pwg/advanced-request.xml:
16906         * docs/pwg/advanced-types.xml:
16907         * docs/pwg/intro-preface.xml:
16908         * examples/plugins/example.c: (gst_example_get_type),
16909         (gst_example_class_init), (gst_example_chain),
16910         (gst_example_set_property), (gst_example_get_property),
16911         (gst_example_change_state), (plugin_init):
16912         * examples/plugins/example.h:
16913           small doc fixes
16914
16915 2005-05-17  Wim Taymans  <wim@fluendo.com>
16916
16917         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16918         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16919         * gst/gstqueue.c: (gst_queue_change_state):
16920         Clear queue when going to READY.
16921         Remove IN_SETCAPS flag too.
16922
16923 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16926           Remove implicit cast from gboolean to GstElementStateReturn;
16927           make sure we still return failure in paused => ready case if
16928           the parent class fails to change state and our own stop 
16929           vfunc succeeds.
16930
16931 2005-05-17  Wim Taymans  <wim@fluendo.com>
16932
16933         * tools/gst-launch.c: (event_loop):
16934         Message was unreffed too soon.
16935
16936 2005-05-16  Andy Wingo  <wingo@pobox.com>
16937
16938         * gst/gstbin.c (sink_iterator_filter): Err... um...
16939
16940         * check/gst/gstbin.c (test_ghost_pads): New test for the
16941         ghosting-if-elements-not-in-same-bin behavior.
16942
16943 2005-05-16  David Schleef  <ds@schleef.org>
16944
16945         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16946         accessing refcount directly.
16947
16948 2005-05-15  David Schleef  <ds@schleef.org>
16949
16950         * check/Makefile.am: remove GstData checks
16951         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16952         * gst/Makefile.am: add miniobject, remove data
16953         * gst/gst.h: add miniobject, remove data
16954         * gst/gstdata.c: remove
16955         * gst/gstdata.h: remove
16956         * gst/gstdata_private.h: remove
16957         * gst/gsttypes.h: remove GstEvent and GstMessage
16958         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16959         * gst/gstmarshal.list: change BOXED -> OBJECT
16960
16961         Implement GstMiniObject.
16962         * gst/gstminiobject.c:
16963         * gst/gstminiobject.h:
16964
16965         Modify to be subclasses of GstMiniObject.
16966         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16967         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16968         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16969         (gst_subbuffer_get_type), (gst_subbuffer_init),
16970         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16971         (gst_buffer_span):
16972         * gst/gstbuffer.h:
16973         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16974         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16975         (_gst_event_copy), (gst_event_new):
16976         * gst/gstevent.h:
16977         * gst/gstmessage.c: (_gst_message_initialize),
16978         (gst_message_get_type), (gst_message_class_init),
16979         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16980         (gst_message_new), (gst_message_new_error),
16981         (gst_message_new_warning), (gst_message_new_tag),
16982         (gst_message_new_state_changed), (gst_message_new_application):
16983         * gst/gstmessage.h:
16984         * gst/gstprobe.c: (gst_probe_perform),
16985         (gst_probe_dispatcher_dispatch):
16986         * gst/gstprobe.h:
16987         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16988         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16989         (_gst_query_copy), (gst_query_new):
16990
16991         Update elements for GstData -> GstMiniObject changes
16992         * gst/gstquery.h:
16993         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16994         (gst_queue_chain), (gst_queue_loop):
16995         * gst/elements/gstbufferstore.c:
16996         (gst_buffer_store_add_buffer_func),
16997         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16998         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16999         (gst_fakesink_render):
17000         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17001         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17002         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17003         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17004         (gst_filesrc_create_read):
17005         * gst/elements/gstidentity.c: (gst_identity_class_init):
17006         * gst/elements/gsttypefindelement.c:
17007         (gst_type_find_element_src_event), (free_entry_buffers),
17008         (gst_type_find_element_handle_event):
17009         * libs/gst/dataprotocol/dataprotocol.c:
17010         (gst_dp_header_from_buffer):
17011         * libs/gst/dataprotocol/dataprotocol.h:
17012         * libs/gst/dataprotocol/dp-private.h:
17013
17014 2005-05-15  David Schleef  <ds@schleef.org>
17015
17016         * gst/elements/gstelements.c: Don't include headers that were
17017         just removed.
17018
17019 2005-05-15  David Schleef  <ds@schleef.org>
17020
17021         * gst/elements/Makefile.am: Remove some elements that don't
17022         need to be in the core (or even exist at all).
17023         * gst/elements/gstaggregator.c:
17024         * gst/elements/gstaggregator.h:
17025         * gst/elements/gstmd5sink.c:
17026         * gst/elements/gstmd5sink.h:
17027         * gst/elements/gstmultifilesrc.c:
17028         * gst/elements/gstmultifilesrc.h:
17029         * gst/elements/gstpipefilter.c:
17030         * gst/elements/gstpipefilter.h:
17031         * gst/elements/gstshaper.c:
17032         * gst/elements/gstshaper.h:
17033         * gst/elements/gststatistics.c:
17034         * gst/elements/gststatistics.h:
17035         * po/POTFILES.in: Remove above files.
17036
17037 2005-05-14  Andy Wingo  <wingo@pobox.com>
17038
17039         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17040         so as to get the refs right.
17041         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17042         unreffing objects that don't pass the filter.
17043
17044         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17045         gst_element_set_bus.
17046         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17047         normal cases, this will destroy the bus.
17048
17049         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17050         object.
17051
17052         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17053         has no sinks.
17054
17055 2005-05-13  Andy Wingo  <wingo@pobox.com>
17056
17057         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17058         gst_pad_link, call pad_link_maybe_ghosting,
17059         (pad_link_maybe_ghosting): Links pads, making sure that the
17060         elements being linked are in the same bin.
17061         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17062         Helpers for pad_link_maybe_ghosting.
17063
17064 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17065
17066         * configure.ac:
17067           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17068
17069 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17070
17071         * docs/design/part-element-source.txt:
17072           Mention GstPushSrc
17073
17074 2005-05-12  Wim Taymans  <wim@fluendo.com>
17075
17076         * gst/base/gstbasesink.c: (gst_basesink_init),
17077         (gst_basesink_activate):
17078         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17079         (gst_basesrc_is_seekable):
17080         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17081         (bin_element_is_sink), (gst_bin_change_state):
17082         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17083         * gst/gstelement.h:
17084         Identify sinks by their flag to avoid overly complicated
17085         checks (fow now).
17086         Do state changes even for elements not reachable from the
17087         sinks.
17088         BaseSink is a sink now :)
17089         Some more debugging info in the basesrc.
17090
17091
17092 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17093
17094         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17095           Implement _query on a bin, similar to _send_event.
17096
17097 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17098
17099         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17100           Discont event offset format should be GST_FORMAT_BYTES,
17101           not GST_FORMAT_TIME.
17102
17103 2005-05-12  Wim Taymans  <wim@fluendo.com>
17104
17105         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17106         Same fix as Ronald's but without the signal. 
17107
17108 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17109
17110         * gst/gstutils.c: (gst_element_query_position):
17111           No, an element is not a pad.
17112
17113 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17114
17115         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
17116         (gst_bin_get_state):
17117           If a child is removed from a bin while we remove the child from
17118           the bin and while we're retrieving its state, signal this to the
17119           get_state function so we abort the wait (instead of waiting for
17120           a timeout) and can immediately re-iterate over all other elements.
17121
17122 2005-05-12  Wim Taymans  <wim@fluendo.com>
17123
17124         * gst/base/Makefile.am:
17125         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
17126         (gst_basesrc_start):
17127         * gst/base/gstbasesrc.h:
17128         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
17129         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
17130         (gst_pushsrc_init), (gst_pushsrc_create):
17131         * gst/base/gstpushsrc.h:
17132         Added is_seekable to BaseSrc
17133         Added simple PushSrc.
17134
17135 2005-05-11  Wim Taymans  <wim@fluendo.com>
17136
17137         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17138         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17139         (gst_element_link_pads), (gst_element_query_position),
17140         (gst_element_query_convert), (intersect_caps_func),
17141         (gst_pad_query_position), (gst_pad_query_convert):
17142         Fix refcounting in utils function.
17143         No point in trying to activate a pad when it's added, it could
17144         be added from the state change function and then we deadlock, the
17145         element has to decide what to do.
17146
17147 2005-05-10  Andy Wingo  <wingo@pobox.com>
17148
17149         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
17150         *all* the arguments.
17151
17152         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
17153         stream lock if it's a FLUSH_DONE; normal flushes don't get the
17154         lock (according to the docs -- if this is wrong change the docs).
17155
17156         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
17157         flush messages in the NULL state.
17158
17159         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
17160         message immediately and return.
17161         (gst_bus_set_flushing): New function. If a bus is flushing, it
17162         flushes out any queued messages and immediately unrefs new
17163         messages. This is so when an element goes to NULL, all of the
17164         unhandled messages coming from it can be freed, and their
17165         references to the element dropped. In other words: message source
17166         ref considered harmful :P
17167
17168         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17169         we're finished with it.
17170
17171         * gst/gstmessage.c (gst_message_new_state_changed): 
17172
17173 2005-05-10  Wim Taymans  <wim@fluendo.com>
17174
17175         * gst/gstvalue.c: (gst_value_compare_flags),
17176         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17177         (_gst_value_initialize):
17178         Added flags serialize/deserialize/compare code.
17179
17180 2005-05-09  Andy Wingo  <wingo@pobox.com>
17181
17182         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17183         Intersect the peer's caps with our caps.
17184
17185 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17186
17187         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17188         * gst/elements/gsttypefindelement.c: (find_peek):
17189           Handle negative offsets better. Fixes decodebin.
17190
17191 2005-05-09  Wim Taymans  <wim@fluendo.com>
17192
17193         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17194         (gst_base_transform_event):
17195         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17196         Implement accept_caps.
17197         Fix silly lock/unlock mismatch in base class.
17198
17199 2005-05-09  Wim Taymans  <wim@fluendo.com>
17200
17201         * docs/design/draft-push-pull.txt:
17202         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17203         * gst/elements/gstfilesink.c: (gst_filesink_init),
17204         (gst_filesink_query):
17205         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17206         (gst_type_find_handle_src_query), (find_element_get_length):
17207         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17208         * gst/gstelement.h:
17209         * gst/gstmessage.c:
17210         * gst/gstmessage.h:
17211         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17212         (gst_real_pad_get_caps_unlocked),
17213         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17214         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17215         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17216         (gst_real_pad_dispose), (gst_real_pad_finalize),
17217         (gst_pad_load_and_link), (gst_pad_save_thyself),
17218         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17219         (gst_pad_check_pull_range), (gst_pad_pull_range),
17220         (gst_pad_template_get_type), (gst_pad_template_class_init),
17221         (gst_pad_template_init), (gst_pad_template_dispose),
17222         (name_is_valid), (gst_static_pad_template_get),
17223         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17224         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17225         (gst_pad_get_element_private), (gst_pad_start_task),
17226         (gst_pad_pause_task), (gst_pad_stop_task),
17227         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17228         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17229         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17230         (gst_ghost_pad_new):
17231         * gst/gstpad.h:
17232         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17233         (gst_query_new_position), (gst_query_set_position),
17234         (gst_query_parse_position), (gst_query_new_convert),
17235         (gst_query_set_convert), (gst_query_parse_convert):
17236         * gst/gstquery.h:
17237         * gst/gstqueryutils.c:
17238         * gst/gstqueryutils.h:
17239         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17240         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17241         (gst_queue_handle_src_query):
17242         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17243         (gst_element_query_position), (gst_element_query_convert),
17244         (intersect_caps_func), (gst_pad_query_position),
17245         (gst_pad_query_convert):
17246         * gst/gstutils.h:
17247         * tools/gst-inspect.c: (print_pad_info):
17248         * tools/gst-xmlinspect.c: (print_element_info):
17249         Remove old query functions. Ported old code.
17250         Added position/convert helper functions to gstutils.
17251         Reordered gstpad.c code, grouping relevant things.
17252         Remove gst_message_new(), always need to speficy a specific
17253         message.
17254
17255
17256 2005-05-09  Andy Wingo  <wingo@pobox.com>
17257
17258         * gst/gstiterator.h: Add some includes.
17259
17260         * gst/gstqueryutils.h: Include more headers.
17261
17262         * gst/gstpad.h:
17263         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17264         some uses of gst_pad_query.
17265
17266         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17267         NULL out parameters.
17268         (gst_query_new_position): New proc, allocates a new position
17269         query.
17270
17271         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17272         gstqueryutils.c to the build.
17273
17274         * gst/gststructure.c (gst_structure_set_valist): Implement with
17275         the generic G_VALUE_COLLECT.
17276         
17277 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17278
17279         * gst/Makefile.am: (gst_headers):
17280         Added gstqueryutils.h to the list of headers to install, that was
17281         a 'nachty' move wingo :)
17282
17283 2005-05-06  Andy Wingo  <wingo@pobox.com>
17284
17285         * gst/gstquery.h
17286         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17287         GstData, init a memchunk.
17288         (standard_definitions): Add a few query types, deprecate a few.
17289         (gst_query_get_type): New proc.
17290         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17291         implementation.
17292         (gst_query_new_application, gst_query_get_structure): New public
17293         procs.
17294
17295         * docs/design/draft-query.txt: Removed LINKS from the query types,
17296         because all the rest can be dispatched to other pads -- seemed
17297         ugly to have a query that couldn't be dispatched. internal_links
17298         is fine as a pad method.
17299
17300         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17301         in gstpad.c, but maintain binary compatibility for the moment.
17302         Will fix before 0.9 is out.
17303
17304         * gst/gstqueryutils.c: 
17305         * gst/gstqueryutils.h: New files, implement 3 methods for each
17306         query type: parse_query, parse_response, and set. Probably need an
17307         allocator as well.
17308
17309         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17310
17311         * gst/elements/gstfilesink.c (gst_filesink_query2):
17312         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17313         query_types, and formats methods.
17314
17315         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17316         (gst_pad_set_query2_function): New functions.
17317         (gst_real_pad_init): Set query2_default as the default query2
17318         function. Basically just dispatches to internally linked pads.
17319
17320         Needs review!
17321         
17322         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17323         without using the atomic operations. Only one thread can possibly
17324         be accessing the data at this point. Changed so as to avoid
17325         gst_atomic operations.
17326
17327 2005-05-06  Wim Taymans  <wim@fluendo.com>
17328
17329         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17330         Also set caps if we use the fallback buffer alloc.
17331
17332 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17333
17334         * docs/gst/Makefile.am:
17335         * docs/gst/gstreamer-docs.sgml:
17336         * docs/gst/gstreamer-sections.txt:
17337         * docs/gst/tmpl/gstatomic.sgml:
17338         * docs/gst/tmpl/gstmemchunk.sgml:
17339         * testsuite/elements/struct_i386.h:
17340         * win32/GStreamer.vcproj:
17341         * win32/Makefile:
17342           Purge GstAtomic stuff from docs and win32 makefiles as well
17343
17344 2005-05-06  Wim Taymans  <wim@fluendo.com>
17345
17346         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17347         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17348         * gst/gstpad.c: (gst_pad_peer_get_caps):
17349         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17350         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17351         (gst_queue_src_activate), (gst_queue_change_state):
17352         * gst/gstqueue.h:
17353         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17354         (intersect_caps_func):
17355         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17356         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17357         Some fixes for the peer_get_caps() change.
17358
17359 2005-05-06  Wim Taymans  <wim@fluendo.com>
17360
17361         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17362         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17363         (gst_basesink_activate):
17364         Actually do something with error codes returned from the push
17365         functions.
17366
17367 2005-05-06  Wim Taymans  <wim@fluendo.com>
17368
17369         * docs/design/part-element-sink.txt:
17370         * docs/design/part-element-source.txt:
17371         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17372         (gst_basesink_event), (gst_basesink_activate):
17373         * gst/base/gstbasesink.h:
17374         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17375         (gst_basesrc_activate):
17376         * gst/base/gstbasesrc.h:
17377         * gst/gstelement.c: (gst_element_pads_activate):
17378         Some more documentation.
17379         Fixed scheduling decision in _pads_activate().
17380
17381 2005-05-05  Andy Wingo  <wingo@pobox.com>
17382
17383         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17384         the test suite.
17385
17386 2005-05-05  Wim Taymans  <wim@fluendo.com>
17387
17388         * gst/base/Makefile.am:
17389         * gst/base/gstbasesink.h:
17390         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17391         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17392         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17393         (gst_collectpads_class_init), (gst_collectpads_init),
17394         (gst_collectpads_finalize), (gst_collectpads_new),
17395         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17396         (find_pad), (gst_collectpads_remove_pad),
17397         (gst_collectpads_is_active), (gst_collectpads_collect),
17398         (gst_collectpads_collect_range), (gst_collectpads_start),
17399         (gst_collectpads_stop), (gst_collectpads_peek),
17400         (gst_collectpads_pop), (gst_collectpads_available),
17401         (gst_collectpads_read), (gst_collectpads_flush),
17402         (gst_collectpads_chain):
17403         * gst/base/gstcollectpads.h:
17404         * gst/elements/Makefile.am:
17405         * gst/elements/gstelements.c:
17406         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17407         (gst_fakesink_get_times), (gst_fakesink_event),
17408         (gst_fakesink_preroll), (gst_fakesink_render):
17409         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17410         (gst_filesink_init), (gst_filesink_set_location),
17411         (gst_filesink_open_file), (gst_filesink_close_file),
17412         (gst_filesink_pad_query), (gst_filesink_event),
17413         (gst_filesink_render), (gst_filesink_change_state):
17414         * gst/elements/gstfilesink.h:
17415         Added object to help in making collect pad based elements.
17416         Ported filesink.
17417         Make event function in sink baseclass return gboolean.
17418
17419 2005-05-05  Wim Taymans  <wim@fluendo.com>
17420
17421         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17422         (gst_bin_get_by_name):
17423         * gst/gstbuffer.h:
17424         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17425         (gst_clock_finalize):
17426         * gst/gstdata.c: (gst_data_replace):
17427         * gst/gstdata.h:
17428         * gst/gstelement.c: (gst_element_request_pad),
17429         (gst_element_pads_activate):
17430         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17431         (gst_object_unref):
17432         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17433         (gst_pad_set_checkgetrange_function),
17434         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17435         (gst_pad_check_pull_range), (gst_pad_pull_range),
17436         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17437         (gst_pad_pause_task), (gst_pad_stop_task):
17438         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17439         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17440         Fix name lookup in GstBin.
17441         Added _data_replace() function and _buffer_replace()
17442         Use finalize method to clean up clock.
17443         Fix refcounting on request pads.
17444         Fix pad schedule mode error.
17445         Some more object refcounting debug info,
17446
17447
17448 2005-05-04  Andy Wingo <wingo@pobox.com>
17449
17450         * check/Makefile.am:
17451         * docs/gst/tmpl/gstatomic.sgml:
17452         * docs/gst/tmpl/gstplugin.sgml:
17453         * gst/base/gstbasesink.c: (gst_basesink_activate):
17454         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17455         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17456         (gst_basesrc_query), (gst_basesrc_set_property),
17457         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17458         (gst_basesrc_activate):
17459         * gst/base/gstbasesrc.h:
17460         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17461         (gst_base_transform_src_activate):
17462         * gst/elements/gstelements.c:
17463         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17464         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17465         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17466         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17467         (gst_type_find_element_checkgetrange),
17468         (gst_type_find_element_activate):
17469         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17470         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17471         (gst_caps_load_thyself):
17472         * gst/gstelement.c: (gst_element_pads_activate),
17473         (gst_element_save_thyself), (gst_element_restore_thyself):
17474         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17475         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17476         * gst/gstpad.h:
17477         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17478         (gst_xml_parse_file), (gst_xml_parse_memory),
17479         (gst_xml_get_element), (gst_xml_make_element):
17480         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17481         (_file_index_id_save_xml), (gst_file_index_commit):
17482         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17483         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17484         (load_paths):
17485         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17486         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17487         * tools/gst-complete.c: (main):
17488         * tools/gst-compprep.c: (main):
17489         * tools/gst-inspect.c: (print_element_properties_info):
17490         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17491         * tools/gst-xmlinspect.c: (print_element_properties):
17492         GCC 4 fixen.
17493         
17494 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17495
17496         * gst/gstplugin.c: (gst_plugin_check_module),
17497         (gst_plugin_check_file), (gst_plugin_load_file):
17498             apply patch from #172526 to make register work on MacOSX
17499
17500 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17501
17502         * docs/gst/tmpl/gstconfig.sgml:
17503         * gst/gstconfig.h.in:
17504           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17505         * testsuite/debug/printf_extension.c: (main):
17506           Do not use GST_PTR_FORMAT on pointers to types with
17507           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17508         * testsuite/elements/property.h:
17509           use correct printf format
17510
17511 2005-05-02  Wim Taymans  <wim@fluendo.com>
17512
17513         * docs/design/draft-push-pull.txt:
17514         * docs/design/draft-query.txt:
17515         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17516         (gst_basesrc_start):
17517         Added draft for new query API.
17518         Added draft for better selecting scheduling methods.
17519         Make basesrc ignore length if the subclass does not support
17520         it.
17521
17522 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17523
17524         * gst/Makefile.am:
17525           possible fixes for automake-1.5 - _LIBADD is reserved
17526
17527 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17528
17529         * docs/faq/Makefile.am:
17530         * docs/manual/Makefile.am:
17531         * docs/manuals.mak:
17532         * docs/pwg/Makefile.am:
17533         * gst/Makefile.am:
17534           possible fixes for automake-1.5
17535
17536 2005-04-28  Wim Taymans  <wim@fluendo.com>
17537
17538         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17539         (gst_basesink_pad_getcaps), (gst_basesink_init),
17540         (gst_basesink_do_sync):
17541         * gst/gstclock.c: (gst_clock_entry_new):
17542         * gst/gstevent.c: (gst_event_discont_get_value):
17543         * gst/gstpipeline.c: (pipeline_bus_handler),
17544         (gst_pipeline_change_state):
17545         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17546         Better debugging of clocking info.
17547         Allow NULL values when getting discont values.
17548
17549 2005-04-27  Wim Taymans  <wim@fluendo.com>
17550
17551         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17552         * check/gst/gstpad.c: (gst_pad_suite):
17553         Increase timeout for checks.
17554
17555 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17556
17557         * check/Makefile.am:
17558           fix the broken rule for cleanup.  Apparently this rule is
17559           only needed on FC2, so maybe this warrants further autotool
17560           inspection.
17561
17562 2005-04-26  Wim Taymans  <wim@fluendo.com>
17563
17564         * gst/gsttrashstack.h:
17565         Ooohh. a nasty one! After having a failed pop() from the stack,
17566         it's possible that the stack is empty. In that case, don't
17567         follow the NULL pointer.
17568
17569 2005-04-25  Wim Taymans  <wim@fluendo.com>
17570
17571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17572         (gst_pad_set_checkgetrange_function),
17573         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17574         (gst_pad_check_pull_range), (gst_pad_pull_range),
17575         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17576         (gst_pad_pause_task), (gst_pad_stop_task):
17577         * gst/gstplugin.c: (gst_plugin_load):
17578         * gst/gstplugin.h:
17579         Remove gst_library_load as it does more harm than good with
17580         the new g_module flags.
17581         Revert bogus caps template check in pad linking, pad caps
17582         are important when linking not the template, which is more
17583         general than the current caps.
17584
17585 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17586
17587         * gst/autoplug/.cvsignore:
17588         * gst/autoplug/Makefile.am:
17589         * gst/autoplug/gstsearchfuncs.c:
17590         * gst/autoplug/gstsearchfuncs.h:
17591         * gst/autoplug/gstspider.c:
17592         * gst/autoplug/gstspider.h:
17593         * gst/autoplug/gstspideridentity.c:
17594         * gst/autoplug/gstspideridentity.h:
17595         * gst/autoplug/spidertest.c:
17596           Die, spider, die.
17597
17598 2005-04-25  Wim Taymans  <wim@fluendo.com>
17599
17600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17601         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17602         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17603         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17604         * gst/gstpad.h:
17605         Added stubs for unimplemented functions. 
17606
17607 2005-04-24  David Schleef  <ds@schleef.org>
17608
17609         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17610         please fix.
17611
17612 2005-04-24  David Schleef  <ds@schleef.org>
17613
17614         Convert everything from GstAtomicInt to g_atomic_int_*, and
17615         remove gstatomic.
17616         * gst/Makefile.am:
17617         * gst/gstatomic.c:
17618         * gst/gstatomic.h:
17619         * gst/gstatomic_impl.h:
17620         * gst/gstbuffer.c:
17621         * gst/gstcaps.c:
17622         * gst/gstcaps.h:
17623         * gst/gstclock.c:
17624         * gst/gstclock.h:
17625         * gst/gstdata.c:
17626         * gst/gstdata.h:
17627         * gst/gstdata_private.h:
17628         * gst/gstevent.c:
17629         * gst/gstinfo.c:
17630         * gst/gstinfo.h:
17631         * gst/gstmessage.c:
17632         * gst/gstobject.c:
17633         * gst/gstobject.h:
17634         * gst/gststructure.c:
17635         * gst/gststructure.h:
17636         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17637         * gst/gstutils.h:
17638
17639 2005-04-24  David Schleef  <ds@schleef.org>
17640
17641         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17642         make the regressions tests work.  Remove some code that is no
17643         longer true.
17644         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17645         Disable warning for pads without templates.
17646
17647 2005-04-24  David Schleef  <ds@schleef.org>
17648
17649         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17650         functions that handle filtered links.
17651         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17652         removed functions.
17653         * gst/gstutils.c: Fix/remove utility functions that handle
17654         filtered caps.
17655         * gst/gstutils.h:
17656         * gst/gstvalue.c: Add serialization/deserialization of caps
17657         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17658         requires fixing so that the filter caps notation creates
17659         a capsfilter element and sets the filter_caps property.  I
17660         think everyone probably wants to keep the shorthand notation.
17661         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17662         * docs/gst/tmpl/gstpad.sgml:
17663
17664         * gst/elements/gstelements.c: Register capsfilter element.
17665         * gst/Makefile.am: fix spacing
17666         * docs/random/ds/0.9-suggested-changes: random
17667
17668 2005-04-23  David Schleef  <ds@schleef.org>
17669
17670         * gst/elements/Makefile.am:
17671         * gst/elements/gstcapsfilter.c: New element that acts like an
17672         identity, but filters caps.  Will eventually replace filtered
17673         caps in pad linking.
17674         * gst/gstutils.c: (gst_element_create_all_pads): New function
17675         to create all the ALWAYS pads that are registered with an
17676         element class.  This functionality should eventually be
17677         merged in with GstElement initialization.
17678         * gst/gstutils.h:
17679         * testsuite/trigger/README: part of trigger test code that should
17680         have been checked in a long time ago.
17681
17682 2005-04-23  David Schleef  <ds@schleef.org>
17683
17684         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17685         needed with new versions of libtool (nobody will confirm this),
17686         and hard to carry around.
17687         * gst/autoplug/Makefile.am:
17688         * gst/base/Makefile.am:
17689         * gst/elements/Makefile.am:
17690         * gst/indexers/Makefile.am:
17691         * gst/schedulers/Makefile.am:
17692         * libs/gst/bytestream/Makefile.am:
17693         * libs/gst/control/Makefile.am:
17694         * libs/gst/dataprotocol/Makefile.am:
17695         * libs/gst/getbits/Makefile.am:
17696
17697 2005-04-21  Wim Taymans  <wim@fluendo.com>
17698
17699         * docs/design/draft-push-pull.txt:
17700         * docs/design/part-MT-refcounting.txt:
17701         * docs/design/part-TODO.txt:
17702         * docs/design/part-caps.txt:
17703         * docs/design/part-events.txt:
17704         * docs/design/part-gstbus.txt:
17705         * docs/design/part-gstpipeline.txt:
17706         * docs/design/part-messages.txt:
17707         * docs/design/part-push-pull.txt:
17708         * docs/design/part-query.txt:
17709         Some more docs.
17710
17711 2005-04-21  Wim Taymans  <wim@fluendo.com>
17712
17713         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17714         (gst_message_new), (gst_message_new_error),
17715         (gst_message_new_warning), (gst_message_new_tag),
17716         (gst_message_new_state_changed), (gst_message_new_application),
17717         (gst_message_get_structure):
17718         * gst/gstmessage.h:
17719         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17720         (gst_structure_copy_conditional):
17721         Use parent refcount in GstMessage to ensure GstStructure
17722         consistency.
17723         Cleaned up headers a bit.
17724         
17725
17726 2005-04-20  Wim Taymans  <wim@fluendo.com>
17727
17728         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17729         (gst_basesink_pad_getcaps), (gst_basesink_init),
17730         (gst_basesink_chain_unlocked):
17731         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17732         (gst_type_find_helper):
17733         * gst/elements/gsttypefindelement.c:
17734         (gst_type_find_element_have_type), (gst_type_find_element_init),
17735         (stop_typefinding), (gst_type_find_element_handle_event),
17736         (find_suggest), (gst_type_find_element_chain),
17737         (gst_type_find_element_checkgetrange),
17738         (gst_type_find_element_getrange), (do_typefind),
17739         (gst_type_find_element_activate):
17740         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17741         (gst_buffer_default_free), (gst_buffer_default_copy),
17742         (gst_buffer_set_caps):
17743         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17744         (gst_caps_replace):
17745         * gst/gstmessage.c: (gst_message_new),
17746         (gst_message_new_state_changed):
17747         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17748         (gst_pad_set_checkgetrange_function),
17749         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17750         (gst_pad_set_caps), (gst_pad_check_pull_range),
17751         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17752         * gst/gstpad.h:
17753         * gst/gsttypefind.c: (gst_type_find_register):
17754         Make gst_caps_replace() work like other _replace() functions.
17755         Use _caps_replace() where possible.
17756         Make sure _message_new() initialises its field.
17757         Add gst_static_pad_template_get_caps()
17758
17759
17760 2005-04-18  Andy Wingo  <wingo@pobox.com>
17761
17762         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17763         on the peer, not the pad. I think that was a typo. Pass an extra
17764         arg to see if random access is possible. Activate the pads as
17765         PULL_RANGE if possible.
17766
17767         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17768
17769         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17770         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17771         to PROP_....
17772
17773 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17774
17775         * docs/faq/using.xml:
17776           Add note on gstreamer-properties (#154996).
17777
17778 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17779
17780         * docs/random/bbb/optional-properties:
17781           Some analysis on optional properties.
17782
17783 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17784
17785         * docs/gst/tmpl/gstelementfactory.sgml:
17786         * gst/gstelement.h:
17787         * gst/gstelementfactory.c: (gst_element_factory_init),
17788         (gst_element_factory_cleanup), (gst_element_register),
17789         (__gst_element_factory_add_static_pad_template),
17790         (gst_element_factory_get_static_pad_templates),
17791         (gst_element_factory_can_src_caps),
17792         (gst_element_factory_can_sink_caps):
17793         * gst/registries/Makefile.am:
17794         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17795         (gst_xml_registry_class_init), (gst_xml_registry_init),
17796         (gst_xml_registry_new), (gst_xml_registry_set_property),
17797         (gst_xml_registry_get_property), (get_time), (make_dir),
17798         (gst_xml_registry_get_perms_func),
17799         (plugin_times_older_than_recurse), (plugin_times_older_than),
17800         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17801         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17802         (add_to_char_array), (read_string), (read_uint), (read_enum),
17803         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17804         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17805         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17806         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17807         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17808         (gst_xml_registry_rebuild):
17809         * gst/registries/gstlibxmlregistry.h:
17810         * tools/gst-compprep.c: (main):
17811         * tools/gst-inspect.c: (print_pad_templates_info):
17812         * tools/gst-xmlinspect.c: (print_element_info):
17813           Use libxml2 for registry parsing, use staticpadtemplates in
17814           elementfactories. Makes gst_init() +/- 10x faster.
17815
17816 2005-04-12  Wim Taymans  <wim@fluendo.com>
17817
17818         * gst/base/Makefile.am:
17819         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17820         (gst_basesink_pad_getcaps), (gst_basesink_init),
17821         (gst_basesink_event), (gst_basesink_change_state):
17822         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17823         (gst_basesrc_init), (gst_basesrc_query),
17824         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17825         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17826         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17827         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17828         (gst_basesrc_stop), (gst_basesrc_activate),
17829         (gst_basesrc_change_state):
17830         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17831         (helper_find_suggest), (gst_type_find_helper):
17832         * gst/base/gsttypefindhelper.h:
17833         * gst/elements/Makefile.am:
17834         * gst/elements/gstelements.c:
17835         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17836         (gst_fakesink_get_times), (gst_fakesink_event),
17837         (gst_fakesink_preroll), (gst_fakesink_render):
17838         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17839         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17840         (gst_fakesrc_get_property), (gst_fakesrc_create),
17841         (gst_fakesrc_start), (gst_fakesrc_stop):
17842         * gst/elements/gstfakesrc.h:
17843         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17844         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17845         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17846         (gst_filesrc_create_read), (gst_filesrc_create),
17847         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17848         (gst_filesrc_start):
17849         * gst/elements/gsttypefindelement.c:
17850         (gst_type_find_element_have_type), (gst_type_find_element_init),
17851         (start_typefinding), (stop_typefinding), (push_buffer_store),
17852         (gst_type_find_element_handle_event),
17853         (gst_type_find_element_chain),
17854         (gst_type_find_element_checkgetrange),
17855         (gst_type_find_element_getrange), (do_typefind),
17856         (gst_type_find_element_activate),
17857         (gst_type_find_element_change_state):
17858         * gst/elements/gsttypefindelement.h:
17859         * gst/gstpipeline.c: (pipeline_bus_handler):
17860         Added typefind helper.
17861         Small preroll fix in the base sink.
17862         Disable typefind code in basesrc.
17863         Crude port of typefindelement.
17864         Fakesrc cleanups.
17865
17866
17867 2005-04-11  Wim Taymans  <wim@fluendo.com>
17868
17869         * check/gst/gstbus.c: (gstbus_suite):
17870         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17871         * check/gstcheck.h:
17872           Fix up the timeout so that the test does not fail.
17873
17874 2005-04-06  Wim Taymans  <wim@fluendo.com>
17875
17876         * gst/base/README:
17877         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17878         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17879         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17880         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17881         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17882         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17883         (gst_basesrc_stop), (gst_basesrc_activate),
17884         (gst_basesrc_change_state), (basesrc_find_peek),
17885         (basesrc_find_suggest), (gst_basesrc_type_find):
17886         * gst/base/gstbasesrc.h:
17887         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17888         (gst_filesrc_class_init), (gst_filesrc_init),
17889         (gst_filesrc_finalize), (gst_filesrc_set_location),
17890         (gst_filesrc_set_property), (gst_filesrc_get_property),
17891         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17892         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17893         (gst_filesrc_create_read), (gst_filesrc_create),
17894         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17895         * gst/elements/gstfilesrc.h:
17896         * gst/gstelement.c: (gst_element_get_state_func),
17897         (gst_element_lost_state), (gst_element_pads_activate):
17898         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17899         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17900         (gst_pad_pull_range):
17901         * gst/gstpad.h:
17902         More work on the generic source base class, implement seeking,
17903         query.
17904         Make filesrc extend the base source class.
17905         Added gst_pad_set_checkgetrange_function to GstPad.
17906
17907 2005-04-06  Andy Wingo  <wingo@pobox.com>
17908
17909         * pkgconfig/gstreamer-base.pc.in:
17910         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17911
17912         * pkgconfig/Makefile.am:
17913         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17914
17915 2005-04-04  Wim Taymans  <wim@fluendo.com>
17916
17917         * gst/base/Makefile.am:
17918         * gst/base/README:
17919         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17920         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17921         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17922         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17923         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17924         (gst_basesrc_base_init), (gst_basesrc_class_init),
17925         (gst_basesrc_init), (gst_basesrc_get_formats),
17926         (gst_basesrc_get_query_types), (gst_basesrc_query),
17927         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17928         (gst_basesrc_set_property), (gst_basesrc_get_property),
17929         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17930         (gst_basesrc_loop), (gst_basesrc_activate),
17931         (gst_basesrc_change_state):
17932         * gst/base/gstbasesrc.h:
17933         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17934         (gst_fakesrc_class_init), (gst_fakesrc_init),
17935         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17936         (gst_fakesrc_get_property), (gst_fakesrc_create):
17937         * gst/elements/gstfakesrc.h:
17938         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17939         (gst_filesrc_open_file), (gst_filesrc_loop),
17940         (gst_filesrc_activate), (filesrc_find_peek),
17941         (gst_filesrc_type_find):
17942         Made base source class, make fakesrc extend it.
17943         Add comments to basesink class.
17944         Some filesrc cleanup.
17945
17946 2005-03-31  David Schleef  <ds@schleef.org>
17947
17948         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17949         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17950         expected to link against libgstreamer.
17951         * gst/base/Makefile.am: link against libgstreamer
17952         * gst/elements/Makefile.am: same
17953
17954 2005-03-31  Andy Wingo  <wingo@pobox.com>
17955
17956         * tests/instantiate/Makefile.am:
17957         * tests/instantiate/caps.c: Add test to test speed of caps copy
17958         and free.
17959
17960         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17961         GMemChunk to be fair.
17962
17963         * gst/gsttrashstack.h: Remove warning about using the fallback
17964         trash stack implementation, it's still faster than malloc.
17965
17966 2005-03-30  Andy Wingo  <wingo@pobox.com>
17967
17968         * tests/complexity.c: Add a copyright.
17969
17970 2005-03-31  Wim Taymans  <wim@fluendo.com>
17971
17972         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17973         (gst_base_transform_class_init), (gst_base_transform_init),
17974         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17975         (gst_base_transform_get_property),
17976         (gst_base_transform_sink_activate),
17977         (gst_base_transform_src_activate),
17978         (gst_base_transform_change_state):
17979         * gst/base/gstbasetransform.h:
17980         * gst/elements/gstidentity.c: (gst_identity_class_init),
17981         (gst_identity_event), (gst_identity_check_perfect),
17982         (gst_identity_transform), (gst_identity_start),
17983         (gst_identity_stop):
17984         Added start/stop methods to transform base class so subclasses 
17985         don't need to deal with state changes even.
17986
17987 2005-03-31  Wim Taymans  <wim@fluendo.com>
17988
17989         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17990         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17991         * gst/gstevent.h:
17992         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17993         (gst_pad_pull_range):
17994         Added rate to the discont event to prepare for variable speed
17995         and reverse playback.
17996
17997 2005-03-29  David Schleef  <ds@schleef.org>
17998
17999         * configure.ac:
18000         * testsuite/trigger/Makefile.am:
18001         * testsuite/trigger/trigger.c: A little example program to show
18002         how trigger-based elements can work.
18003
18004 2005-03-29  Wim Taymans  <wim@fluendo.com>
18005
18006         * gst/base/Makefile.am:
18007         * gst/base/README:
18008         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18009         (gst_basesink_base_init), (gst_basesink_class_init),
18010         (gst_basesink_pad_getcaps), (gst_basesink_init),
18011         (gst_basesink_activate), (gst_basesink_change_state):
18012         * gst/base/gstbasesink.h:
18013         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18014         (gst_base_transform_base_init), (gst_base_transform_finalize),
18015         (gst_base_transform_class_init), (gst_base_transform_init),
18016         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18017         (gst_base_transform_event), (gst_base_transform_getrange),
18018         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18019         (gst_base_transform_set_property),
18020         (gst_base_transform_get_property),
18021         (gst_base_transform_sink_activate),
18022         (gst_base_transform_src_activate),
18023         (gst_base_transform_change_state):
18024         * gst/base/gstbasetransform.h:
18025         * gst/elements/gstidentity.c: (gst_identity_finalize),
18026         (gst_identity_class_init), (gst_identity_init),
18027         (gst_identity_event), (gst_identity_check_perfect),
18028         (gst_identity_transform), (gst_identity_set_property),
18029         (gst_identity_get_property), (gst_identity_change_state):
18030         * gst/elements/gstidentity.h:
18031         * gst/gstelement.c: (gst_element_get_state_func),
18032         (gst_element_lost_state), (gst_element_pads_activate):
18033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18034         (gst_pad_check_pull_range), (gst_pad_pull_range):
18035         * gst/gstpad.h:
18036         Simplify pad activation.
18037         Added function to check if pull_range can be performed.
18038         Error out when pulling inactive or flushing pads.
18039         Removed const from refcounted types as it does not make sense.
18040         Simplify pad templates in basesink
18041         Added base class for simple 1-to-1 transforms.
18042         Make identity subclass the base transform.
18043
18044 2005-03-29  Andy Wingo  <wingo@pobox.com>
18045
18046         * docs/libs/gstreamer-libs-overrides.txt: 
18047         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18048         really don't understand what's going on, but like whatever. I want
18049         green buildbot!
18050
18051         * docs/gst/Makefile.am:
18052         * docs/libs/Makefile.am: Dist the overrides files.
18053
18054         * check/Makefile.am (clean-local): Remove .libs directories.
18055
18056         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18057         elements to EXTRA_DIST, so po/ files are happy.
18058
18059         * po/POTFILES.in: Er, remove it here.
18060
18061         * po/POTFILES: Remove gstspider.c.
18062
18063         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18064
18065         * docs/libs/gstreamer-libs-docs.sgml: 
18066         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18067         bytestream.
18068
18069         * tests/complexity.c (main): Set the length of the preroll queue
18070         on the sinks to prevent a lockup.
18071
18072         * libs/gst/dataprotocol/Makefile.am: 
18073         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18074         the same as the one in check/gst-libs/gdp.c.
18075
18076         * po/, docs/gst/: Commit automatic changes to docs and po files.
18077
18078         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18079         the versioned libgstbase.
18080
18081         * check/Makefile.am: Depend on an unversioned gst-register, seems
18082         to make autoconf happier.
18083
18084         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18085
18086 2005-03-28  Wim Taymans  <wim@fluendo.com>
18087
18088         * configure.ac:
18089         * docs/design/part-gstelement.txt:
18090         * docs/design/part-negotiation.txt:
18091         * docs/design/part-preroll.txt:
18092         * docs/design/part-scheduling.txt:
18093         * docs/design/part-states.txt:
18094         * gst/Makefile.am:
18095         * gst/base/Makefile.am:
18096         * gst/base/README:
18097         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18098         (gst_basesink_base_init), (gst_basesink_class_init),
18099         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18100         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18101         (gst_basesink_set_pad_functions),
18102         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18103         (gst_basesink_set_property), (gst_basesink_get_property),
18104         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18105         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18106         (gst_basesink_preroll_queue_push),
18107         (gst_basesink_preroll_queue_empty),
18108         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18109         (gst_basesink_event), (gst_basesink_get_times),
18110         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18111         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18112         (gst_basesink_loop), (gst_basesink_activate),
18113         (gst_basesink_change_state):
18114         * gst/base/gstbasesink.h:
18115         * gst/elements/Makefile.am:
18116         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
18117         (gst_fakesink_class_init), (gst_fakesink_init),
18118         (gst_fakesink_set_property), (gst_fakesink_get_property),
18119         (gst_fakesink_get_times), (gst_fakesink_event),
18120         (gst_fakesink_preroll), (gst_fakesink_render),
18121         (gst_fakesink_change_state):
18122         * gst/elements/gstfakesink.h:
18123         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18124         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
18125         * gst/gstelement.c: (gst_element_add_pad),
18126         (gst_element_get_state_func), (gst_element_abort_state),
18127         (gst_element_commit_state), (gst_element_lost_state),
18128         (gst_element_set_state), (gst_element_pads_activate):
18129         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
18130         * gst/gstpipeline.c: (gst_pipeline_send_event),
18131         (gst_pipeline_change_state):
18132         Added state change code.
18133         Added/updated docs.
18134         Added sink base class, make fakesink extend the base class.
18135         Small cleanups in GstPipeline.
18136
18137 2005-03-26  David Schleef  <ds@schleef.org>
18138
18139         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
18140         is broken and should be implemented in a different library.
18141         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
18142         * gst/gst.h: remove gstcpu.h
18143         * gst/gstcpu.c: remove
18144         * gst/gstcpu.h: remove
18145         * gst/Makefile.am.future: Remove this file.  It's ancient.
18146
18147 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18148
18149         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18150         (gst_bin_send_event):
18151           Add default event/set_manager handlers. The set_manager handler
18152           takes care that the manager is distributed over kids that were
18153           already in the bin before the manager was set. The event handler
18154           is a utility virtual function that sends the event over all sinks,
18155           so that gst_element_send_event (bin, event); has the expected
18156           behaviour.
18157         * gst/gstpad.c: (gst_pad_event_default):
18158           Re-install default event handling for discontinuities, so that
18159           seeking works without requiring hacks in applications or extra
18160           code in sinks.
18161         * gst/gstpipeline.c: (gst_pipeline_class_init),
18162         (gst_pipeline_send_event):
18163           Half hack, half utility: set a pipeline to PAUSED for seek events,
18164           since that is the only way we can guarantee a/v sync. Means that
18165           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18166           and it "just works".
18167
18168 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18169
18170         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18171           Lock/unlock mismatch.
18172
18173 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18174
18175         * docs/faq/gst-uninstalled:
18176           add gst-plugins-base
18177         * docs/gst/Makefile.am:
18178           don't error out until docs are fixed
18179         * docs/gst/gstreamer.types:
18180           remove thread
18181
18182 2005-03-22  Wim Taymans  <wim@fluendo.com>
18183
18184         * check/Makefile.am:
18185         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18186         * gst/gststructure.c: (gst_structure_set_valist),
18187         (gst_structure_copy_conditional):
18188         Activated more tests.
18189         Added message test.
18190         Added G_TYPE_POINTER to GstStructure.
18191         
18192
18193 2005-03-22  Wim Taymans  <wim@fluendo.com>
18194
18195         * docs/design/part-TODO.txt:
18196         * docs/design/part-events.txt:
18197         * docs/design/part-gstbin.txt:
18198         * docs/design/part-gstbus.txt:
18199         * docs/design/part-gstpipeline.txt:
18200         * docs/design/part-messages.txt:
18201         * gst/gstbus.c:
18202         * gst/gstmessage.c:
18203         Docs updates
18204
18205 2005-03-21  Wim Taymans  <wim@fluendo.com>
18206
18207         * gst/gstbus.c: (gst_bus_post):
18208         Fix copy-and-paste error.
18209
18210 2005-03-21  Wim Taymans  <wim@fluendo.com>
18211
18212         * check/Makefile.am:
18213         * gst/Makefile.am:
18214         * gst/elements/Makefile.am:
18215         * gst/elements/gstelements.c:
18216         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18217         (gst_fakesink_event), (gst_fakesink_chain):
18218         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18219         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18220         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18221         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18222         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18223         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18224         (gst_fakesrc_loop), (gst_fakesrc_activate),
18225         (gst_fakesrc_change_state):
18226         * gst/elements/gstfakesrc.h:
18227         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18228         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18229         (gst_filesrc_open_file), (gst_filesrc_loop),
18230         (gst_filesrc_activate), (gst_filesrc_change_state),
18231         (filesrc_find_peek), (filesrc_find_suggest),
18232         (gst_filesrc_type_find):
18233         * gst/elements/gstidentity.c: (gst_identity_finalize),
18234         (gst_identity_class_init), (gst_identity_init),
18235         (gst_identity_proxy_getcaps), (identity_queue_push),
18236         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18237         (gst_identity_getrange), (gst_identity_chain),
18238         (gst_identity_sink_loop), (gst_identity_src_loop),
18239         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18240         (gst_identity_set_property), (gst_identity_get_property),
18241         (gst_identity_change_state):
18242         * gst/elements/gstidentity.h:
18243         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18244         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18245         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18246         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18247         (gst_tee_sink_activate):
18248         * gst/elements/gsttee.h:
18249         * gst/gst.c: (gst_register_core_elements), (init_post):
18250         * gst/gst.h:
18251         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18252         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18253         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18254         (gst_bin_change_state):
18255         * gst/gstbin.h:
18256         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18257         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18258         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18259         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18260         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18261         (bus_watch_callback), (bus_watch_destroy),
18262         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18263         (poll_timeout), (gst_bus_poll):
18264         * gst/gstbus.h:
18265         * gst/gstcaps.h:
18266         * gst/gstdata.h:
18267         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18268         (gst_element_post_message), (gst_element_message_full),
18269         (gst_element_get_state_func), (gst_element_get_state),
18270         (gst_element_abort_state), (gst_element_commit_state),
18271         (gst_element_lost_state), (gst_element_set_state),
18272         (gst_element_pads_activate), (gst_element_change_state),
18273         (gst_element_dispose), (gst_element_set_manager_func),
18274         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18275         (gst_element_set_manager), (gst_element_get_manager),
18276         (gst_element_set_bus), (gst_element_get_bus),
18277         (gst_element_set_scheduler), (gst_element_get_scheduler):
18278         * gst/gstelement.h:
18279         * gst/gstevent.c: (gst_event_new_segment_seek),
18280         (gst_event_new_flush):
18281         * gst/gstevent.h:
18282         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18283         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18284         (gst_message_new_eos), (gst_message_new_error),
18285         (gst_message_new_warning), (gst_message_new_tag),
18286         (gst_message_new_state_changed), (gst_message_new_application),
18287         (gst_message_get_structure), (gst_message_parse_tag),
18288         (gst_message_parse_state_changed), (gst_message_parse_error),
18289         (gst_message_parse_warning):
18290         * gst/gstmessage.h:
18291         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18292         (gst_real_pad_set_property), (gst_pad_set_active),
18293         (gst_pad_is_active), (gst_pad_set_blocked_async),
18294         (gst_pad_set_blocked), (gst_pad_is_blocked),
18295         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18296         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18297         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18298         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18299         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18300         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18301         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18302         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18303         (gst_pad_set_caps), (gst_pad_configure_sink),
18304         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18305         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18306         (gst_real_pad_dispose), (gst_real_pad_finalize),
18307         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18308         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18309         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18310         * gst/gstpad.h:
18311         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18312         (pipeline_bus_handler), (gst_pipeline_change_state),
18313         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18314         * gst/gstpipeline.h:
18315         * gst/gstprobe.h:
18316         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18317         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18318         (gst_queue_link_src), (gst_queue_bufferalloc),
18319         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18320         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18321         (gst_queue_loop), (gst_queue_handle_src_event),
18322         (gst_queue_handle_src_query), (gst_queue_src_activate),
18323         (gst_queue_change_state):
18324         * gst/gstqueue.h:
18325         * gst/gstscheduler.c: (gst_scheduler_init),
18326         (gst_scheduler_dispose), (gst_scheduler_create_task),
18327         (gst_scheduler_factory_create):
18328         * gst/gstscheduler.h:
18329         * gst/gststructure.c: (gst_structure_get_type),
18330         (gst_structure_copy_conditional):
18331         * gst/gststructure.h:
18332         * gst/gsttaginterface.h:
18333         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18334         (gst_task_init), (gst_task_dispose), (gst_task_create),
18335         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18336         (gst_task_pause):
18337         * gst/gsttask.h:
18338         * gst/gstthread.c:
18339         * gst/gstthread.h:
18340         * gst/gsttypes.h:
18341         * gst/schedulers/Makefile.am:
18342         * gst/schedulers/cothreads_compat.h:
18343         * gst/schedulers/entryscheduler.c:
18344         * gst/schedulers/faircothreads.c:
18345         * gst/schedulers/faircothreads.h:
18346         * gst/schedulers/fairscheduler.c:
18347         * gst/schedulers/gstbasicscheduler.c:
18348         * gst/schedulers/gstoptimalscheduler.c:
18349         * gst/schedulers/gthread-cothreads.h:
18350         * gst/schedulers/threadscheduler.c:
18351         (gst_thread_scheduler_task_get_type),
18352         (gst_thread_scheduler_task_class_init),
18353         (gst_thread_scheduler_task_init),
18354         (gst_thread_scheduler_task_start),
18355         (gst_thread_scheduler_task_stop),
18356         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18357         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18358         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18359         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18360         (plugin_init):
18361         * libs/gst/Makefile.am:
18362         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18363         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18364         (gst_file_pad_parent_set):
18365         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18366         (gst_dp_event_from_packet):
18367         * tests/complexity.c: (main):
18368         * tests/mass_elements.c: (main):
18369         * testsuite/states/locked.c: (message_received), (main):
18370         * testsuite/states/parent.c: (main):
18371         * tools/gst-inspect.c: (print_element_flag_info),
18372         (print_implementation_info), (print_pad_info):
18373         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18374         (main):
18375         * tools/gst-md5sum.c: (event_loop), (main):
18376         * tools/gst-typefind.c: (main):
18377         * tools/gst-xmlinspect.c: (print_element_info):
18378         Next big merge.
18379         Added GstBus for mainloop integration.
18380         Added GstMessage for sending notifications on the bus.
18381         Added GstTask as an abstraction for pipeline entry points.
18382         Removed GstThread.
18383         Removed Schedulers.
18384         Simplified GstQueue for multithreaded core.
18385         Made _link threadsafe, removed old capsnego.
18386         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18387         Added pad blocking functions.
18388         Reworked scheduling functions in GstPad to prepare for
18389         scheduling updates soon.
18390         Moved events out of data stream.
18391         Simplified GstEvent types.
18392         Added return values to push/pull.
18393         Removed clocking from GstElement.
18394         Added prototypes for state change function for next merge.
18395         Removed iterate from bins and state change management.
18396         Fixed some elements, disabled others for now.
18397         Fixed -inspect and -launch.
18398         Added check for GstBus.
18399
18400 2005-03-10  Wim Taymans  <wim@fluendo.com>
18401
18402         * docs/design/part-MT-refcounting.txt:
18403         * docs/design/part-clocks.txt:
18404         * docs/design/part-gstelement.txt:
18405         * docs/design/part-gstobject.txt:
18406         * docs/design/part-standards.txt:
18407         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18408         (gst_bin_remove_func), (gst_bin_remove):
18409         * gst/gstbin.h:
18410         * gst/gstbuffer.c:
18411         * gst/gstcaps.h:
18412         * testsuite/clock/clock1.c: (main):
18413         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18414         (main):
18415         * testsuite/dlopen/loadgst.c: (do_test):
18416         * testsuite/refcounting/bin.c: (add_remove_test1),
18417         (add_remove_test2), (main):
18418         * testsuite/refcounting/element.c: (main):
18419         * testsuite/refcounting/element_pad.c: (main):
18420         * testsuite/refcounting/pad.c: (main):
18421         * tools/gst-launch.c: (sigint_handler_sighandler):
18422         * tools/gst-typefind.c: (main):
18423         Doc updates.
18424         Added doc about clock.
18425         removed gst_bin_iterate_recurse_up(), marked methods
18426         for removal.
18427         Fix more testsuites.
18428
18429 2005-03-09  Wim Taymans  <wim@fluendo.com>
18430
18431         * gst/gstpad.c: (gst_pad_get_direction),
18432         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18433         (gst_pad_collect_valist):
18434         * testsuite/bins/interface.c: (main):
18435         * testsuite/caps/audioscale.c: (test_caps):
18436         * testsuite/caps/caps.c: (test1), (test2), (test3):
18437         * testsuite/caps/deserialize.c: (main):
18438         * testsuite/caps/enumcaps.c: (main):
18439         * testsuite/caps/filtercaps.c: (main):
18440         * testsuite/caps/intersect2.c: (main):
18441         * testsuite/caps/random.c: (main):
18442         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18443         * testsuite/caps/sets.c: (check_caps):
18444         * testsuite/caps/simplify.c: (check_caps), (main):
18445         * testsuite/caps/subtract.c: (check_caps):
18446         Fix _pad_get_direction wrt ghostpads.
18447         Fix caps testsuite.
18448
18449 2005-03-09  Wim Taymans  <wim@fluendo.com>
18450
18451         * check/Makefile.am:
18452         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18453         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18454         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18455         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18456         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18457         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18458         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18459         (bin_element_is_sink), (gst_bin_iterate_sinks),
18460         (gst_bin_iterate_all_by_interface):
18461         * gst/gstbin.h:
18462         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18463         (gst_element_change_state), (gst_element_dispose),
18464         (gst_element_finalize), (gst_element_set_loop_function):
18465         * gst/gstelement.h:
18466         * gst/gstiterator.c: (find_custom_fold_func):
18467         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18468         (gst_pad_collectv), (gst_pad_collect_valist),
18469         (gst_pad_template_new):
18470         * gst/gstpipeline.c: (gst_pipeline_class_init),
18471         (gst_pipeline_dispose), (gst_pipeline_set_property),
18472         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18473         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18474         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18475         * gst/gstutils.h:
18476         * gst/schedulers/entryscheduler.c:
18477         * gst/schedulers/gstbasicscheduler.c:
18478         (gst_basic_scheduler_cothreaded_chain),
18479         (gst_basic_scheduler_chain_add_element):
18480         * testsuite/bins/interface.c: (main):
18481         Added GstBin test.
18482         Added GstSystemClock test.
18483         Implemented clock distribution code in GstBin.
18484         Implemented iterate sinks method for future use.
18485         Rearranged gstelement.h
18486         Fix GstIterator comparison bug.
18487         Moved some code to GstPipeline, mostly clocking related.
18488
18489 2005-03-09  Wim Taymans  <wim@fluendo.com>
18490
18491         * configure.ac:
18492         * gst/gst_private.h:
18493         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18494         (gst_bin_remove_func), (gst_bin_remove),
18495         (gst_bin_get_by_name_recurse_up):
18496         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18497         (gst_clock_id_compare_func), (gst_clock_id_wait),
18498         (gst_clock_id_wait_async), (gst_clock_init),
18499         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18500         * gst/gstelement.h:
18501         * gst/gstinfo.c: (_gst_debug_init):
18502         * gst/gstobject.h:
18503         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18504         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18505         * gst/gstpad.h:
18506         Bump version number, we're now 0.9.0
18507         Add future debugging category.
18508         Fix NULL _unref() in _get_by_name_recurse_up
18509         Rearrange gstpad.h.
18510         Update some docs.
18511
18512 2005-03-08  Wim Taymans  <wim@fluendo.com>
18513
18514         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18515         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18516         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18517         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18518         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18519         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18520         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18521         * gst/elements/gstidentity.c: (gst_identity_class_init):
18522         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18523         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18524         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18525         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18526         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18527         (gst_tee_link):
18528         * gst/gstelement.c: (gst_element_class_init),
18529         (gst_element_base_class_init), (gst_element_init),
18530         (gst_element_get_random_pad), (gst_element_wait_state_change),
18531         (gst_element_change_state), (gst_element_dispose),
18532         (gst_element_finalize), (gst_element_set_loop_function):
18533         * gst/gstelement.h:
18534         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18535         * gst/gstthread.c: (gst_thread_class_init),
18536         (gst_thread_release_children_locks), (gst_thread_change_state):
18537         * gst/schedulers/gstbasicscheduler.c:
18538         (gst_basic_scheduler_loopfunc_wrapper),
18539         (gst_basic_scheduler_chain_wrapper),
18540         (gst_basic_scheduler_src_wrapper),
18541         (gst_basic_scheduler_remove_element):
18542         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18543         Remove threadsafe properties. Fix elements because GObject
18544         complains when installing a property before declaring a
18545         set/get_property handler.
18546         Rearrange gstelement.h file, use STATE macros for state locks.
18547         Free mutexes in the finalize method instead of dispose.
18548
18549 2005-03-08  Wim Taymans  <wim@fluendo.com>
18550
18551         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18552         * gst/gstthread.c: (gst_thread_release_children_locks):
18553         Added parentage check.
18554         Fix build og GstThread again.
18555
18556 2005-03-08  Wim Taymans  <wim@fluendo.com>
18557
18558         * docs/design/part-MT-refcounting.txt:
18559         * docs/design/part-conventions.txt:
18560         * docs/design/part-gstobject.txt:
18561         * docs/design/part-relations.txt:
18562         * docs/design/part-standards.txt:
18563         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18564         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18565         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18566         (gst_bin_iterate_all_by_interface):
18567         * gst/gstbuffer.h:
18568         * gst/gstclock.h:
18569         * gst/gstelement.c: (gst_element_class_init),
18570         (gst_element_change_state), (gst_element_set_loop_function):
18571         * gst/gstelement.h:
18572         * gst/gstiterator.c:
18573         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18574         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18575         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18576         (gst_object_set_parent), (gst_object_unparent),
18577         (gst_object_check_uniqueness):
18578         * gst/gstobject.h:
18579         Docs updates, clean up some headers.
18580
18581 2005-03-07  Wim Taymans  <wim@fluendo.com>
18582
18583         * check/.cvsignore:
18584         * check/Makefile.am:
18585         * check/gst-libs/.cvsignore:
18586         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18587         * check/gst/.cvsignore:
18588         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18589         (START_TEST), (gstbus_suite), (main):
18590         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18591         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18592         (gst_data_suite), (main):
18593         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18594         (add_fold_func), (gstiterator_suite), (main):
18595         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18596         (thread_name_object), (thread_name_object_default),
18597         (gst_object_name_compare), (gst_object_suite), (main):
18598         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18599         (gst_pad_suite), (main):
18600         * check/gstcheck.c: (gst_check_log_message_func),
18601         (gst_check_log_critical_func), (gst_check_init):
18602         * check/gstcheck.h:
18603         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18604         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18605         Added checks.
18606
18607 2005-03-07  Wim Taymans  <wim@fluendo.com>
18608
18609         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18610         (gst_list_iterator_next), (gst_list_iterator_resync),
18611         (gst_list_iterator_free), (gst_iterator_new_list),
18612         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18613         (gst_iterator_free), (gst_iterator_push), (filter_next),
18614         (filter_resync), (filter_uninit), (filter_free),
18615         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18616         (gst_iterator_foreach), (find_custom_fold_func),
18617         (gst_iterator_find_custom):
18618         * gst/gstiterator.h:
18619         Added missing files.
18620
18621 2005-03-07  Wim Taymans  <wim@fluendo.com>
18622
18623         * Makefile.am:
18624         * configure.ac:
18625         * docs/design/part-MT-refcounting.txt:
18626         * docs/design/part-conventions.txt:
18627         * docs/design/part-gstobject.txt:
18628         * docs/design/part-relations.txt:
18629         * examples/mixer/mixer.c: (main):
18630         * examples/thread/thread.c: (eos), (main):
18631         * gst/Makefile.am:
18632         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18633         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18634         (gst_spider_plug_from_srcpad):
18635         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18636         (gst_spider_identity_change_state),
18637         (gst_spider_identity_sink_loop_type_finding):
18638         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18639         * gst/elements/gstidentity.c: (gst_identity_init):
18640         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18641         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18642         * gst/elements/gsttypefindelement.c: (free_entry):
18643         * gst/gst.c:
18644         * gst/gst.h:
18645         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18646         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18647         (gst_bin_set_index), (gst_bin_set_element_sched),
18648         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18649         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18650         (gst_bin_iterate_elements), (iterate_child_recurse),
18651         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18652         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18653         (compare_interface), (gst_bin_get_by_interface),
18654         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18655         * gst/gstbin.h:
18656         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18657         (gst_buffer_default_free), (gst_buffer_default_copy),
18658         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18659         (gst_buffer_create_sub):
18660         * gst/gstbuffer.h:
18661         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18662         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18663         (gst_caps_unref), (gst_static_caps_get),
18664         (gst_caps_remove_and_get_structure), (gst_caps_append),
18665         (gst_caps_append_structure), (gst_caps_remove_structure),
18666         (gst_caps_copy_nth), (gst_caps_set_simple),
18667         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18668         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18669         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18670         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18671         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18672         (gst_caps_structure_figure_out_union),
18673         (gst_caps_switch_structures), (gst_caps_do_simplify),
18674         (gst_caps_replace), (gst_caps_from_string),
18675         (gst_caps_copy_conditional):
18676         * gst/gstcaps.h:
18677         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18678         (_gst_clock_id_free), (gst_clock_id_unref),
18679         (gst_clock_id_compare_func), (gst_clock_id_wait),
18680         (gst_clock_id_wait_async), (gst_clock_class_init),
18681         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18682         (gst_clock_get_time), (gst_clock_set_time_adjust),
18683         (gst_clock_set_property), (gst_clock_get_property):
18684         * gst/gstclock.h:
18685         * gst/gstcompat.h:
18686         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18687         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18688         * gst/gstdata.h:
18689         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18690         (gst_element_requires_clock), (gst_element_provides_clock),
18691         (gst_element_set_clock), (gst_element_clock_wait),
18692         (gst_element_wait), (gst_element_set_time_delay),
18693         (gst_element_is_indexable), (gst_element_add_pad),
18694         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18695         (pad_compare_name), (gst_element_get_static_pad),
18696         (gst_element_request_pad), (gst_element_get_request_pad),
18697         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18698         (gst_element_class_get_pad_template_list),
18699         (gst_element_class_get_pad_template), (gst_element_error_func),
18700         (gst_element_get_random_pad), (gst_element_get_event_masks),
18701         (gst_element_send_event), (gst_element_seek),
18702         (gst_element_get_query_types), (gst_element_query),
18703         (gst_element_get_formats), (gst_element_convert),
18704         (gst_element_is_locked_state), (gst_element_set_locked_state),
18705         (gst_element_sync_state_with_parent), (gst_element_change_state),
18706         (gst_element_finalize), (gst_element_yield),
18707         (gst_element_interrupt), (gst_element_set_scheduler),
18708         (gst_element_get_scheduler), (gst_element_set_loop_function):
18709         * gst/gstelement.h:
18710         * gst/gstevent.h:
18711         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18712         (gst_format_get_by_nick), (gst_format_get_details),
18713         (gst_format_iterate_definitions):
18714         * gst/gstformat.h:
18715         * gst/gstindex.c: (gst_index_gtype_resolver):
18716         * gst/gstinfo.c:
18717         * gst/gstinfo.h:
18718         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18719         (gst_mem_chunk_free):
18720         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18721         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18722         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18723         (gst_object_dispatch_properties_changed),
18724         (gst_object_set_name_default), (gst_object_set_name),
18725         (gst_object_get_name), (gst_object_set_name_prefix),
18726         (gst_object_get_name_prefix), (gst_object_set_parent),
18727         (gst_object_get_parent), (gst_object_unparent),
18728         (gst_object_check_uniqueness), (gst_object_save_thyself),
18729         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18730         (gst_object_set_property), (gst_object_get_property),
18731         (gst_object_get_path_string):
18732         * gst/gstobject.h:
18733         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18734         (gst_real_pad_init), (gst_real_pad_get_property),
18735         (gst_pad_custom_new), (gst_pad_get_direction),
18736         (gst_pad_set_active), (gst_pad_is_active),
18737         (gst_pad_set_event_function), (gst_pad_is_linked),
18738         (gst_pad_link_free), (gst_pad_link_intersect),
18739         (gst_pad_link_fixate), (gst_pad_set_caps),
18740         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18741         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18742         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18743         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18744         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18745         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18746         (gst_pad_realize), (gst_pad_get_allowed_caps),
18747         (gst_real_pad_dispose), (gst_real_pad_finalize),
18748         (gst_pad_collectv), (gst_pad_collect_valist),
18749         (gst_pad_template_dispose), (gst_pad_template_new),
18750         (gst_pad_get_internal_links):
18751         * gst/gstpad.h:
18752         * gst/gstpipeline.c: (gst_pipeline_dispose),
18753         (gst_pipeline_change_state):
18754         * gst/gstpipeline.h:
18755         * gst/gstplugin.c:
18756         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18757         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18758         * gst/gstpluginfeature.h:
18759         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18760         * gst/gstquery.c: (_gst_query_type_initialize),
18761         (gst_query_type_register), (gst_query_type_get_by_nick),
18762         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18763         * gst/gstquery.h:
18764         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18765         * gst/gstscheduler.c: (gst_scheduler_add_element),
18766         (gst_scheduler_factory_create):
18767         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18768         (gst_structure_free), (gst_structure_set_name),
18769         (gst_structure_id_set_value), (gst_structure_set_value),
18770         (gst_structure_set_valist), (gst_structure_remove_field),
18771         (gst_structure_remove_fields),
18772         (gst_structure_remove_fields_valist),
18773         (gst_structure_remove_all_fields), (gst_structure_foreach),
18774         (gst_structure_map_in_place),
18775         (gst_caps_structure_fixate_field_nearest_int),
18776         (gst_caps_structure_fixate_field_nearest_double):
18777         * gst/gststructure.h:
18778         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18779         (gst_system_clock_init), (gst_system_clock_dispose),
18780         (gst_system_clock_async_thread),
18781         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18782         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18783         * gst/gstsystemclock.h:
18784         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18785         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18786         * gst/gsttaginterface.c:
18787         * gst/gstthread.c: (gst_thread_dispose),
18788         (gst_thread_release_children_locks), (gst_thread_change_state),
18789         (gst_thread_main_loop):
18790         * gst/gsttrashstack.h:
18791         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18792         * gst/gsttypes.h:
18793         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18794         (gst_element_request_pad), (gst_element_get_pad_from_template),
18795         (gst_element_request_compatible_pad),
18796         (gst_element_get_compatible_pad_filtered),
18797         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18798         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18799         (gst_element_link_many), (gst_element_link),
18800         (gst_element_link_pads), (gst_element_unlink_pads),
18801         (gst_element_unlink_many), (gst_element_unlink),
18802         (gst_pad_can_link_filtered), (gst_pad_can_link),
18803         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18804         (gst_object_default_error), (gst_bin_add_many),
18805         (gst_bin_remove_many), (gst_element_populate_std_props),
18806         (gst_element_class_install_std_props), (gst_buffer_merge),
18807         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18808         (link_fold_func), (gst_pad_proxy_setcaps):
18809         * gst/gstutils.h:
18810         * gst/gstvalue.c: (gst_value_deserialize_string):
18811         * gst/parse/grammar.y:
18812         * gst/schedulers/gstbasicscheduler.c:
18813         (gst_basic_scheduler_cothreaded_chain),
18814         (gst_basic_scheduler_chain_recursive_add),
18815         (gst_basic_scheduler_pad_link):
18816         * gst/schedulers/gstoptimalscheduler.c:
18817         (get_group_schedule_function),
18818         (gst_opt_scheduler_state_transition),
18819         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18820         * libs/gst/bytestream/bytestream.c:
18821         * libs/gst/dataprotocol/dataprotocol.c:
18822         (gst_dp_header_from_buffer):
18823         * po/nb.po:
18824         * po/ru.po:
18825         * tests/threadstate/threadstate2.c: (eos):
18826         * tools/gst-compprep.c: (main):
18827         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18828         (print_pad_info), (print_children_info):
18829         * tools/gst-launch.c: (idle_func), (main):
18830         * tools/gst-md5sum.c: (idle_func), (main):
18831         * tools/gst-xmlinspect.c: (print_element_info):
18832         First THREADED backport attempt, focusing on adding locks and
18833         making sure the API is threadsafe. Needs more work. More docs
18834         follow this week.
18835
18836 2005-02-24  Andy Wingo  <wingo@pobox.com>
18837
18838         * tests/bench-complexity.scm:
18839         * tests/complexity.gnuplot: New files, good for running complexity
18840         benchmarks.
18841
18842         * tests/Makefile.am:
18843         * tests/complexity.c: New test, sets up N elements, at each level
18844         teeing into M streams per element. Eeeenteresting.
18845
18846         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18847         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18848         running bench-mass_elements.scm.
18849
18850         * tests/bench-mass_elements.scm: New script, runs mass_elements
18851         for various numbers of identities, outputting the results to a
18852         file. Requires guile 1.6. Just for testing.
18853
18854 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18855
18856         * gst/schedulers/fairscheduler.c:
18857           compile with debug disabled
18858
18859 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18860
18861         * configure.ac:
18862           hunting season on 0.9 is now OPEN