c0895e7ec1279bc8a2fe9324e6ff6035d4c4204a
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-08-11  Wim Taymans  <wim@fluendo.com>
2
3         * docs/gst/gstreamer-sections.txt:
4         Add GstClockClass vmethod docs.
5
6         * gst/gstcaps.h:
7         Mark #endif with comment for associated #if
8
9         * gst/gstclock.c: (gst_clock_id_wait):
10         * gst/gstclock.h:
11         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12         most clock implementations.
13         Document vmethods.
14         Flesh out docs about resolution methods.
15         API: GstClockClass::wait_jitter
16
17         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18         (gst_system_clock_async_thread),
19         (gst_system_clock_id_wait_jitter_unlocked),
20         (gst_system_clock_id_wait_jitter):
21         Use base class wait_jitter variant for improved performance
22         due to less clock polling.
23
24 2006-08-11  Edward Hervey  <edward@fluendo.com>
25
26         * gst/gst.c: (gst_init_check), (init_post):
27         Set gst as being initialized before scanning/updating the registry,
28         since there might be some plugins that call gst_init() and we don't
29         want to loop back in.
30         Closes #350879
31
32 2006-08-11  Wim Taymans  <wim@fluendo.com>
33
34         * docs/design/part-qos.txt:
35         Bring docs in line with the code. Mostly the sign of the jitter was
36         wrong in the docs. Fixes #349943.
37
38         * gst/gstclock.c:
39         Fix the docs for the jitter.
40
41         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
42         (gst_event_parse_tag), (gst_event_new_buffer_size),
43         (gst_event_parse_buffer_size), (gst_event_parse_qos),
44         (gst_event_new_seek), (gst_event_parse_seek),
45         (gst_event_new_navigation):
46         Make sure the GstStructure has no parent when creating custom
47         events.
48         Add some more argument checking so that we avoid 0.0 rates.
49         Flesh out the docs for the QoS event some more.
50
51 2006-08-11  Wim Taymans  <wim@fluendo.com>
52
53         * docs/gst/gstreamer-sections.txt:
54         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
55         (ensure_current_registry_forking), (ensure_current_registry),
56         (parse_one_option), (parse_goption_arg), (gst_deinit),
57         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
58         * gst/gst.h:
59         Doc updates.
60         Added API and command line option to disable registry forking in
61         addition to the environment variable.
62         Constify some static arrays.
63         Added some more debug.
64         Don't deinit twice.
65         API: gst_registry_fork_is_enabled()
66         API: gst_registry_fork_set_enabled()
67         API: --gst-disable-registry-fork command line option
68         Fixes #348918.
69
70 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * gst/gst.c: (gst_init):
73           Fix typo in error message.
74
75 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
76
77         * libs/gst/controller/gstcontroller.h:
78           fix ABI size-correction
79
80         * tests/check/libs/gdp.c: (gst_dp_suite):
81           make tests that use deprecated API conditional
82
83 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
84
85         * docs/libs/gstreamer-libs-sections.txt:
86         * libs/gst/controller/gstcontroller.c:
87         (_gst_controller_get_property), (_gst_controller_set_property),
88         (_gst_controller_init), (_gst_controller_class_init):
89         * libs/gst/controller/gstcontroller.h:
90         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
91         (gst_object_set_control_rate):
92           API: add gst_object_{s,g}et_control_rate(), add private data section,
93           fix docs
94
95         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
96         * libs/gst/dataprotocol/dataprotocol.h:
97           add deprecation guards to make gtk-doc happy and allow disabling cruft
98
99 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * tests/check/Makefile.am:
102         * tests/check/gst/.cvsignore:
103           Let's enable the new unit test as well.
104
105 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
106
107         * configure.ac:
108         * docs/gst/gstreamer-sections.txt:
109         * gst/gstconfig.h.in:
110         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
111         (_gst_info_printf_extension_ptr),
112         (_gst_info_printf_extension_segment):
113           API: add GST_SEGMENT_FORMAT, which is a printf extension we
114           register that lets us easily dump GstSegments into debug
115           logs (#350419).
116
117         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
118         (info_segment_format_printf_extension), (gst_info_suite):
119           Add simple unit test that logs a bunch of different segments (not
120           valgrinded at the moment because of leaks in gst_debug_add_log_function).
121
122 2006-08-09  Edward Hervey  <edward@fluendo.com>
123
124         * libs/gst/base/gstbasetransform.c:
125         (gst_base_transform_buffer_alloc):
126         Even if we can't figure out the proper format to request downstream,
127         call buffer_alloc() downstream with the input parameters without setting
128         the caps on the srcpad. This will force negotiation in the chain
129         function.
130         Closes #350449
131
132 2006-08-08  Edward Hervey  <edward@fluendo.com>
133
134         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
135         Unlinking from a pad without a target is now a perfectly valid case
136         which should NOT raise an assertion.
137         This case would happen if a linked ghostpad its target set to NULL after
138         it was previously linked.
139
140 2006-08-08  Edward Hervey  <edward@fluendo.com>
141
142         * tests/check/libs/gdp.c:
143         Also comment out the test (see below).
144
145 2006-08-08  Edward Hervey  <edward@fluendo.com>
146
147         * tests/check/libs/gdp.c: (gst_dp_suite):
148         Use the architecture information from config.h and not gcc macros
149         in order to properly disable a test that fails on PPC64.
150
151 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
152
153         * gst/gstelement.c: (gst_element_remove_pad):
154           Don't crash printing the warning if the pad has no parent.
155
156 2006-08-02  Wim Taymans  <wim@fluendo.com>
157
158         * libs/gst/dataprotocol/dataprotocol.c:
159         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
160         (gst_dp_crc), (gst_dp_header_payload_length),
161         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
162         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
163         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
164         (gst_dp_event_from_packet), (gst_dp_validate_header),
165         (gst_dp_validate_payload):
166         Make debug category static
167         Constify the crc table.
168         Do some more arg checking in public functions.
169         Fix some docs and do some small cleanups.
170
171         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
172         Add some more checks to see if GDP deals with bogus input.
173
174 2006-07-31  Wim Taymans  <wim@fluendo.com>
175
176         * gst/gstvalue.c: (gst_value_compare_list):
177         Fix GstValueList comparison code. Fixes #347293.
178
179         * tests/check/gst/gstvalue.c: (GST_START_TEST):
180         Check to test GstValueList comparison.
181
182 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
183
184         * gst/gstelementfactory.c: (gst_element_factory_create):
185         Remove unnecessary ref/unref pair
186
187         * gst/parse/grammar.y:
188         Make sure to free the parse buffer on all code paths.
189         Move a g_free up to the error handler where it's easier to see.
190
191         * tests/check/gst/gstevent.c: (test_event):
192         Extending timeout for downstream travelling events to 10 seconds to
193         hopefully avoid intermittent failure on the buildbots.
194
195         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
196         Don't manually set the state of the src element - it will happen as a
197         natural consequence of the pipeline changing state, and that way it
198         will do it in the right order too.
199
200 2006-07-31  Wim Taymans  <wim@fluendo.com>
201
202         * libs/gst/base/gstbasetransform.c:
203         (gst_base_transform_buffer_alloc):
204         Use OBJECT_LOCK and refcounting to get the pad caps in the
205         buffer_alloc function because the caps could change while we are
206         busy with them. Fixes #349105
207
208 2006-07-31  Wim Taymans  <wim@fluendo.com>
209
210         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
211         Protect _PAD_CAPS with OBJECT_LOCK.
212
213 2006-07-31  Wim Taymans  <wim@fluendo.com>
214
215         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
216         (gst_pad_get_property), (gst_pad_activate_pull),
217         (gst_pad_activate_push), (gst_pad_set_blocked_async),
218         (gst_pad_set_activate_function),
219         (gst_pad_set_activatepull_function),
220         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
221         (gst_pad_set_getrange_function),
222         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
223         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
224         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
225         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
226         (gst_pad_set_acceptcaps_function),
227         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
228         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
229         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
230         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
231         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
232         (gst_pad_configure_sink), (gst_pad_configure_src),
233         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
234         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
235         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
236         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
237         (gst_pad_send_event):
238         Use _DEBUG_OBJECT when it makes sense.
239         Protect GST_PAD_CAPS with the OBJECT_LOCK.
240         Small cleanups and code reflows.
241         Avoid caps refcounting in _accept_caps.
242         Refactor alloc_buffer so that the code performed on the peer is in a
243         separate function. Also if the pad does not implement a buffer alloc
244         function, we should still check if the pad is flushing before falling
245         back to the default allocator.
246
247 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
248
249         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
250         Make all uses of identity and fakesink have silent=true to avoid
251         serialising every passing data structure, which is breaking tests
252         on FC4 for some unknown reason.
253
254 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
255
256         * gst/parse/Makefile.am:
257         * gst/parse/grammar.y:
258         * gst/parse/parse.l:
259           Reverted previous patch as it required to bump the flex dependency to
260           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
261
262 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
263
264         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
265
266         * gst/parse/Makefile.am:
267         * gst/parse/grammar.y:
268         * gst/parse/parse.l:
269           push & pop the state of the lexer for reentrant use case
270           Fixes #349180
271
272 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
273
274         * libs/gst/base/gstbasesrc.h:
275           Note in the docs that the ::newsegment vfunc is not actually used by
276           GstBaseSrc.
277
278 2006-07-28  Wim Taymans  <wim@fluendo.com>
279
280         * libs/gst/base/gstcollectpads.c:
281         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
282         (gst_collect_pads_clear), (gst_collect_pads_flush),
283         (gst_collect_pads_event), (gst_collect_pads_chain):
284         When flushing a pad, also clear the queued buffer so that we don't
285         accidentally use it when we shouldn't.
286         Fix leaks by inreffing incomming buffer.
287         Flush out queued buffers in case of errors.
288         Fixes #347452.
289
290 2006-07-28  Wim Taymans  <wim@fluendo.com>
291
292         * docs/random/phonon-gst:
293         Random notes about a Phonon backend.
294
295 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
296
297         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
298         Extra debug output
299         * tests/check/libs/gdp.c: (gst_dp_suite):
300         Take a whack at fixing the ppc compile using a different define to
301         disable the broken test.
302
303         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
304         Remove excess g_print()
305
306 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
307
308         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
309         Oops, meant to uncomment this line too to dampen the noise a bit.
310
311 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
312
313         * gst/parse/grammar.y:
314         * gst/parse/parse.l:
315         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
316         (GST_START_TEST), (parse_suite):
317         Fix some of the leaks exposed by extending the parse-launch testsuite,
318         and move the 3 I can't figure out into a separate test that won't run
319         the pipelines unless the appropriate line is uncommented.
320
321 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
322
323         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
324           Requesting 0 bytes before the end of the file should result in
325           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
326           unit test.
327
328 2006-07-27  Wim Taymans  <wim@fluendo.com>
329
330         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
331         Fix useless assert, a uint is always positive.
332
333         * gst/gststructure.c: (gst_structure_nth_field_name),
334         (gst_structure_foreach), (gst_structure_map_in_place):
335         Check input arguments for public functions to avoid obvious crashes.
336
337         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
338         * plugins/elements/gstfakesink.h:
339         Do less useless typechecking.
340
341 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
342
343         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
344           Do not use mmap() by default since there are a number of error
345           conditions that we would like to handle in a non-fatal way that
346           will result in a SIGBUS if we use mmap(). Examples: external
347           devices (USB harddrive, portable music player) being unplugged
348           while in use; file on mounted CD/DVD that can't be read because
349           the medium is partly damaged. Fixes #348455 and #348475.
350
351 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
352
353         * gst/gstquery.h:
354         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
355         rates are a gdouble
356
357 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
358
359         * gst/gstregistry.c:
360           Move big documentation comment into class section header, so that it
361           appears in the API docs.
362
363 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
364
365         * docs/gst/gstreamer-sections.txt:
366         Oops. Commit the docs additions too for new API.
367         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
368
369 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
370
371         * gst/gststructure.c: (gst_structure_id_set),
372         (gst_structure_id_set_valist):
373         * gst/gststructure.h:
374         Add API for setting values into structures without performing
375         a quark lookup, if the appropriate quark is already known.
376
377         API: gst_structure_id_set
378         API: gst_structure_id_set_valist
379
380         * gst/parse/grammar.y:
381         * gst/parse/parse.l:
382         Remove some dead code shown by the coverage information.
383         Don't throw a critical g_warning when encountering a syntax error,
384         just warn and let the normal error path handle it.
385
386         * plugins/elements/gstelements.c:
387         Bump the rank of filesink up to PRIMARY so that it is preferred over
388         gnomevfssink for file:// sink uri's
389
390         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
391         (GST_START_TEST), (run_delayed_test),
392         (gst_parse_test_element_base_init),
393         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
394         (gst_parse_test_element_change_state),
395         (gst_register_parse_element), (parse_suite):
396         Beef up the tests for parse syntax to check that more error cases
397         fail as they are supposed to. Increases the test coverage a bit.
398
399 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
400
401         * docs/manual/basics-elements.xml:
402           Fix gst_element_link() example.
403
404         * gst/gstutils.c:
405           Mention in API docs that one should usually gst_bin_add()
406           elements to a bin or pipeline before doing the linking.
407           
408 2006-07-26  Wim Taymans  <wim@fluendo.com>
409
410         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
411         (gst_subbuffer_get_type), (gst_buffer_create_sub):
412         Avoid function call for known types by keeping the buffer and
413         subbuffer GType global.
414
415         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
416         Random silly optimisations in read() path.
417
418 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
419
420         * tools/gst-launch.c: (main):
421           If the top-level of the parse is a normal bin, it doesn't do the
422           right logic to run as a top-level element, so place it inside a
423           pipeline.
424
425 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
426
427         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
428           Remove superfluous g_object_notify() calls, GObject does
429           that for us automatically.
430
431 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
432
433         * gst/gstinfo.h:
434           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
435           here.
436
437 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
438
439         * gst/gsttaglist.c: (_gst_tag_initialize):
440           Allow more than one GST_TAG_IMAGE per taglist.
441
442 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
443
444         * gst/gstminiobject.c:
445           update docs
446         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
447         (gst_fd_src_create):
448           log recurring events at LOG level
449           add more debug for when the fd gets set
450
451 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
452
453         * gst/gstparse.c: (gst_parse_launch):
454           Also remove reentrance checks if flex is MT save (#348179)
455          Fix my empty ChangeLog entry below
456
457 2006-07-21  Andy Wingo  <wingo@pobox.com>
458
459         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
460
461         * libs/gst/check/Makefile.am
462         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
463         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
464         * libs/gst/check/gstbufferstraw.h:
465         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
466         functions, thus proving I am still a GStreamer haxor. OK I wrote
467         them a long time ago, but anyways.
468
469 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
470
471         * configure.ac:
472         * gst/gstparse.c: (gst_parse_launch):
473           Check for flex version and omit mutex if we have a MT save flex
474           (fixes #348179)
475
476 2006-07-21  Wim Taymans  <wim@fluendo.com>
477
478         * gst/gstparse.c: (gst_parse_launch):
479         Protect recursive calls to _parse with a recursive mutex
480         and busy flag.
481
482 2006-07-21  Wim Taymans  <wim@fluendo.com>
483
484         * tests/check/gst/gstpad.c: (GST_START_TEST):
485         Fix leak in test.
486
487 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
488
489         * gst/gstparse.c: (gst_parse_launch):
490           Do not hange on recursive uasge of gst_parse_launch()
491
492 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
493
494         * gst/gsttaglist.c:
495           Add some more docs, comments and FIXME 0.11s here and there
496           and  also fix some typos.
497
498 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
499
500         * gst/gstsegment.h:
501           Convert tabs to spaces for better readability. 
502
503 2006-07-20  Edward Hervey  <edward@fluendo.com>
504
505         * tests/check/libs/gdp.c: (gst_dp_suite):
506         the test_buffer test fails at line 140 on ppc64 at the following
507         check:
508         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
509                 "GST_BUFFER_IN_CAPS flag should have been copied !");
510         See bug #348114 for more details.
511
512 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
513
514         * docs/pwg/advanced-scheduling.xml:
515         * gst/gstpad.c:
516           Fix typos (#348000).
517
518 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
519
520         * docs/pwg/intro-basics.xml:
521           Fix wrong links (#347927).
522
523 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
524
525         * gst/gstregistry.h:
526         * gst/gstregistryxml.c: (load_feature),
527         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
528         * win32/common/config.h:
529         make --disable-index work (#342564)
530
531 2006-07-18  Wim Taymans  <wim@fluendo.com>
532
533         Patch by: Peter Kjellerstedt <pkj at axis dot com>
534
535         * gst/Makefile.am:
536         * gst/gsttrace.h:
537         The attached patch adds two missing defines to gsttrace.h when tracing
538         is disabled.  It also corrects one existing define.
539         Fixes #347756.
540
541 2006-07-17  Wim Taymans  <wim@fluendo.com>
542
543         * docs/gst/gstreamer-sections.txt:
544         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
545         * gst/gst.h:
546         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
547         Add two functions to check and change the SIGSEGV behaviour
548         when loading plugins.
549         Don't mess with the SIGSEGV handler when we were told not to.
550         Fixes #347794.
551         API: gst_segtrap_is_enabled
552         API: gst_segtrap_set_enabled
553
554 2006-07-14  Wim Taymans  <wim@fluendo.com>
555
556         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
557         * tests/check/elements/filesrc.c: (GST_START_TEST):
558         Revert fix for regression in #347408 after release.
559
560 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
561
562         Patch by: Antoine Tremblay <hexa00 at gmail com>
563
564         * gst/gstutils.c: (gst_element_unlink):
565           Free iterator when done (#347311).
566
567         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
568           And add a test case for this.
569
570 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
571
572         * configure.ac:
573         Bump nano back to CVS
574
575 === release 0.10.9 ===
576
577 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
578
579         * configure.ac:
580           releasing 0.10.9, "On the road again"
581
582 2006-07-13  Wim Taymans  <wim@fluendo.com>
583
584         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
585         * tests/check/elements/filesrc.c: (GST_START_TEST):
586         Revert pull-0 fix for release. Disable check. Fixes #347408.
587
588 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
589
590         * libs/gst/dataprotocol/dataprotocol.c:
591         (gst_dp_event_from_packet_1_0):
592           Fixes #347337: failure to deserialize event packets with
593           empty payload (only event type)
594
595 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
596
597         * gst/Makefile.am:
598           do not install a .c file in the header directory
599
600 2006-07-13  Edward Hervey  <edward@fluendo.com>
601
602         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
603         GhostPad no longer implicitely use the padtemplates of the targets.
604         Fixes #347384
605
606 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
607
608         * gst/gstvalue.c: (gst_value_compare_list),
609         (gst_value_compare_array), (_gst_value_initialize):
610         * tests/check/gst/gstvalue.c: (GST_START_TEST):
611         Make GstValueArray comparison be order dependent as designed.
612         Add checks for value lists and value array comparisons.
613         Fixes #347221
614
615 2006-07-11  Edward Hervey  <edward@fluendo.com>
616
617         * gst/gstbin.c: (activate_pads),
618         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
619         (gst_bin_change_state_func):
620         (de)activate src pads before calling state_change on the childs.
621         This is to avoid the case where a src ghostpad is blocked (holding the
622         stream lock), which would block the deactivation of the ghostpad's
623         target pad.
624         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
625         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
626         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
627         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
628         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
629         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
630         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
631         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
632         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
633         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
634         (gst_ghost_pad_class_init),
635         (gst_ghost_pad_internal_do_activate_push),
636         (gst_ghost_pad_internal_do_activate_pull),
637         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
638         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
639         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
640         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
641         GhostPads now create their internal GstProxyPad at creation (and not
642         when they're linked, as it was being done previously).
643         The internal and target pads are linked straight away.
644         The data will also travel through the other pad in order to make
645         pad blocking and probes non-hackish (the probe/block now really happens
646         on the GhostPad and not on the target).
647         * gst/gstpad.c: (gst_pad_set_blocked_async),
648         (gst_pad_link_prepare), (gst_pad_push_event):
649         Remove previous ghostpad cruft.
650         * gst/gstutils.c: (gst_pad_add_data_probe),
651         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
652         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
653         (gst_pad_remove_buffer_probe):
654         Remove previous ghost pad cruft.
655         Added more detailed debug statements.
656         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
657         Fix the testsuite for refcounting changes.
658         The comments about who has references were correct, but the refcount
659         being checked wasn't the same (!?!).
660
661         Fixes #341029
662
663 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
664
665         * docs/gst/gstreamer-sections.txt:
666         * gst/gstconfig.h.in:
667         More docs for configuration options, add docs to gtk-doc.
668
669 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
670
671         * gst/Makefile.am:
672         * gst/gstconfig.h.in:
673         * win32/common/config.h:
674         Fix build when disabling tracing (fixes #344016). Also start to document
675         the defines that disable the sub-systems.
676
677 2006-07-10  Edward Hervey  <edward@fluendo.com>
678
679         * gst/gst.c: (ensure_current_registry_forking):
680         let's make valgrind happy...
681
682 2006-07-09  Wim Taymans  <wim@fluendo.com>
683
684         * gst/gstelement.c: (activate_pads),
685         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
686         Better pad activation code: Reset the collect value too on resync.
687         Add some comments.
688
689 2006-07-09  Wim Taymans  <wim@fluendo.com>
690
691         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
692         (gst_pad_activate_push):
693         Use some more macros where it makes sense.
694         Allow pad mode switching instead of asserting. When a pad
695         is activated in one mode and we activate it in another, 
696         deactivate it first before activating it in a different mode.
697         Fixes #329198.
698
699 2006-07-08  Andy Wingo  <wingo@pobox.com>
700
701         * tools/gst-launch.c (main): Handle err == NULL.
702
703         * gst/gst.c (init_post, ensure_current_registry)
704         (ensure_current_registry_forking)
705         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
706         factoring out the registry scanning into separate functions. Don't
707         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
708         Better environment var name/interface suggestions accepted.
709
710 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
711
712         * gst/gstobject.c: (gst_object_set_name_default),
713         (gst_object_set_name):
714           Random micro-optimisation: don't use a hash table
715           with strings as keys and the usual strdup/strcmp
716           involved, but rather just use the GQuark of the
717           type name as key, since it needs to be looked up
718           anyway to get the type name string.
719
720         * tests/check/gst/gstobject.c: (GST_START_TEST):
721           Fix various leaks.
722
723 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
726         (gst_bin_iterate_all_by_interface):
727           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
728           GTypes are gulongs and thus the top 4 bytes might be cut
729           off on some platforms when doing GPOINTER_TO_INT, leading
730           to invalid GTypes and bad things happening (see RH bug #179654).
731           Also add a check to make sure the type passed in is really
732           an interface type.
733
734 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
735
736         * .cvsignore:
737           Ignore more.
738
739 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
740
741         * Makefile.am:
742         * configure.ac:
743         * gst-element-check.m4:
744         * gst-element-check.m4.in:
745           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
746           instead of the unversioned gst-inspect (#324176, #168659).
747
748 2006-07-06  Wim Taymans  <wim@fluendo.com>
749
750         * gst/gstmessage.h:
751         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
752         warnings.
753
754 2006-07-06  Wim Taymans  <wim@fluendo.com>
755
756         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
757         (gst_base_src_wait), (gst_base_src_update_length),
758         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
759         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
760         (gst_base_src_loop), (gst_base_src_start),
761         (gst_base_src_activate_pull):
762         Update docs.
763         blocksize == 0 now means the default blocksize when working in push
764         based mode.
765         Remove some pointless asserts in _wait function.
766         Fix offset/length calculations and EOS handling. We can now pull 0
767         bytes as well, which is allowed.
768         use _check_get_range() to decide if we can operate in _pull based
769         mode.
770         Fix refcounting leak when check_get_range function was not 
771         implemented.
772         API GstBaseSrc::blocksize range can be 0 too now (default)
773
774         * tests/check/elements/filesrc.c: (GST_START_TEST),
775         (filesrc_suite):
776         Added check to test _get_range() behaviour.
777
778 2006-07-06  Wim Taymans  <wim@fluendo.com>
779
780         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
781         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
782         (gst_pad_pull_range):
783         * gst/gstpad.h:
784         Lots of comments and docs added to the pad functions.
785         Flesh out the expected behaviour of the get_range() functions.
786
787 2006-07-06  Wim Taymans  <wim@fluendo.com>
788
789         * gst/gstbus.h:
790         * gst/gstclock.h:
791         * gst/gstevent.h:
792         * gst/gstiterator.h:
793         * gst/gstpad.h:
794         * gst/gstplugin.h:
795         * gst/gsttask.h:
796         Remove comma at end of enumerator list. 
797
798 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
799
800         * win32/common/libgstbase.def:
801         * win32/common/libgstdataprotocol.def:
802         * win32/common/libsgtreamer.def:
803         Add new exported functions.
804
805 2006-07-05  Wim Taymans  <wim@fluendo.com>
806
807         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
808         Add some more docs here and there.
809
810 2006-07-05  Wim Taymans  <wim@fluendo.com>
811
812         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
813         (gst_base_sink_loop), (gst_base_sink_get_position):
814         When operating in pull mode update the offset so that we
815         read sequentially.
816
817 2006-07-05  Wim Taymans  <wim@fluendo.com>
818
819         * gst/gstregistryxml.c: (read_string):
820         Avoid strdup. (will happen in libxml, but hey!)
821
822         * gst/gsturi.c:
823         Add some more docs.
824
825 2006-07-05  Wim Taymans  <wim@fluendo.com>
826
827         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
828         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
829         (gst_buffer_suite):
830         No point in checking if the size of the subbuffer > 0, the
831         code handles it correclty as demonstrated by unit test.
832         Also add a unit test for the zero sized _new_and_alloc and
833         _copy. Fixes #346663.
834
835 2006-07-05  Wim Taymans  <wim@fluendo.com>
836
837         * libs/gst/base/gstbasetransform.c:
838         (gst_base_transform_prepare_output_buffer),
839         (gst_base_transform_buffer_alloc),
840         (gst_base_transform_handle_buffer):
841         Make sure the buffer we pass to transform_ip has a refcount of
842         1 and thus is writable. Fixes #343196
843
844 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
845
846         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
847         (gst_file_src_init), (gst_file_src_set_property),
848         (gst_file_src_get_property), (gst_file_src_map_region):
849         * plugins/elements/gstfilesrc.h:
850         Add "sequential" property, off by default, to use madvise and hint
851         to the kernel that sequential access is desired.
852         Touch all retrieved pages by default to ensure they are pulled
853         into memory. (Closes #345720)
854
855 2006-07-03  Wim Taymans  <wim@fluendo.com>
856
857         * docs/design/part-block.txt:
858         * docs/design/part-dynamic.txt:
859         Small docs updates.
860
861 2006-07-03  Wim Taymans  <wim@fluendo.com>
862
863         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
864         (gst_caps_unref), (gst_static_caps_get),
865         (gst_caps_append_structure):
866         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
867         Use GSlice when the glib we build against is >= 2.10
868
869 2006-07-03  Wim Taymans  <wim@fluendo.com>
870
871         * gst/gstelement.c: (gst_element_pads_activate):
872         Small cleanup in pad activation code.
873
874 2006-07-03  Wim Taymans  <wim@fluendo.com>
875
876         Patch by: Peter Kjellerstedt <pkj at axis dot com>
877
878         * gst/gst-i18n-app.h:
879         * gst/gst-i18n-lib.h:
880         * tools/gst-inspect.c: (print_signal_info):
881         The attached patch will make the inclusion of gettext.h unconditional in
882         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
883         libintl.h in tools/gst-inspect.c.
884         This allows use of --disable-nls again and fixes #344642.
885
886 2006-07-03  Edward Hervey  <edward@fluendo.com>
887
888         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
889         Implement pad blocking on events according to part-block.txt.
890         More comments on behaviour.
891         * tests/check/gst/gstevent.c: (test_event):
892         Send event to peer pad of blocked pad (else it will block).
893
894 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
895
896         * libs/gst/check/gstcheck.c: (gst_check_message_error),
897         (gst_check_run_suite):
898           if we get the wrong message, give us the types as string
899         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
900           Fix a translatable
901         * tests/check/elements/filesrc.c: (GST_START_TEST):
902           add a test for trying to open a non-existing file
903
904 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
907           add a test for adding self
908
909 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
910
911         * libs/gst/check/gstcheck.h:
912           add some assert_ as alias for fail_unless_*
913         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
914           increase test coverage
915
916 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
917
918         * Makefile.am:
919           include lcov.mak for lcov coverage generation
920         * tools/Makefile.am:
921           add to CLEANFILES
922
923 2006-07-02  Edward Hervey  <edward@fluendo.com>
924
925         * tests/check/elements/.cvsignore:
926         moaping
927
928 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
929
930         * configure.ac:
931           don't set CFLAGS and friends for gcov, done from GST_GCOV now
932         * tests/check/Makefile.am:
933           clean up gcov files
934
935 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
936
937         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
938           remove gst_caps_simplify; it was not declared and not used
939           and deprecated in 0.8
940
941 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
942
943         * docs/faq/gst-uninstalled:
944           don't put empty paths on PYTHONPATH
945         * docs/gst/gstreamer-sections.txt:
946           remove some symbols that are not there
947
948 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
949
950         * gst/gstcaps.c: (gst_caps_compare_structures):
951           whitespace fixes
952         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
953         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
954           add more tests
955
956 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
957
958         * libs/gst/dataprotocol/Makefile.am:
959           build dataprotocol test by linking to the lib, instead of
960           compiling the source, so we get coverage
961         * tests/check/Makefile.am:
962         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
963         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
964           add a test for filesrc
965
966 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
967
968         * tests/check/gst/gststructure.c: (GST_START_TEST),
969         (gst_structure_suite):
970           Push coverage from 59.04% to 70.00%
971
972 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         * tests/check/Makefile.am:
975           gst-inspect every element; this makes sure that we also get
976           coverage on element's get/set functions
977
978 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
979
980         * configure.ac:
981           set CFLAGS and friends to -O0 if gcov is being used
982           add GCOV LIBS
983         * gst/Makefile.am:
984         * libs/gst/base/Makefile.am:
985         * libs/gst/check/Makefile.am:
986         * libs/gst/controller/Makefile.am:
987         * libs/gst/dataprotocol/Makefile.am:
988         * libs/gst/net/Makefile.am:
989         * plugins/elements/Makefile.am:
990         * plugins/indexers/Makefile.am:
991           add makefile rules to generate gcov data and clean up
992         * tests/check/Makefile.am:
993           add a coverage target that generates an html overview
994           of coverage data
995
996 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
997
998         * tests/check/elements/fakesink.c:
999         * tests/check/elements/fakesrc.c:
1000         * tests/check/elements/fdsrc.c:
1001         * tests/check/elements/identity.c:
1002         * tests/check/generic/sinks.c: (gst_sinks_suite):
1003         * tests/check/generic/states.c:
1004         * tests/check/gst/gst.c:
1005         * tests/check/gst/gstabi.c:
1006         * tests/check/gst/gstbin.c:
1007         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1008         * tests/check/gst/gstbus.c: (gst_bus_suite):
1009         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1010         * tests/check/gst/gstelement.c:
1011         * tests/check/gst/gstevent.c: (gst_event_suite):
1012         * tests/check/gst/gstghostpad.c:
1013         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1014         * tests/check/gst/gstmessage.c: (gst_message_suite):
1015         * tests/check/gst/gstminiobject.c:
1016         * tests/check/gst/gstobject.c:
1017         * tests/check/gst/gstpad.c:
1018         * tests/check/gst/gstpipeline.c:
1019         * tests/check/gst/gstplugin.c:
1020         * tests/check/gst/gstquery.c: (gst_query_suite):
1021         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1022         * tests/check/gst/gststructure.c:
1023         * tests/check/gst/gstsystemclock.c:
1024         * tests/check/gst/gsttag.c:
1025         * tests/check/gst/gsttask.c: (gst_task_suite):
1026         * tests/check/gst/gstutils.c:
1027         * tests/check/gst/gstvalue.c:
1028         * tests/check/libs/adapter.c:
1029         * tests/check/libs/basesrc.c:
1030         * tests/check/libs/collectpads.c:
1031         * tests/check/libs/controller.c:
1032         * tests/check/libs/gdp.c: (gst_dp_suite):
1033         * tests/check/libs/gstnetclientclock.c:
1034         * tests/check/libs/gstnettimeprovider.c:
1035         * tests/check/libs/libsabi.c: (libsabi_suite):
1036         * tests/check/libs/typefindhelper.c:
1037         * tests/check/pipelines/cleanup.c:
1038         * tests/check/pipelines/parse-launch.c:
1039         * tests/check/pipelines/simple-launch-lines.c:
1040         * tests/check/pipelines/stress.c: (stress_suite):
1041           use the new macro
1042
1043 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1044
1045         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1046         * libs/gst/check/gstcheck.h:
1047           create a macro and function so that the simple unit test
1048           case can be just one macro to create main()
1049
1050 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1051
1052         * gst/gstbin.c: (gst_bin_restore_thyself):
1053         * gst/gstxml.c: (gst_xml_make_element):
1054           Fix deserialisation from XML. Set parent manually
1055           instead of using gst_bin_add(), since gst_bin_add()
1056           will unlink all pads of the element being added.
1057           Fixes #341667.
1058
1059 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1060
1061         Patch by: Peter Kjellerstedt <pkj at axis com>
1062
1063         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1064           Fix missing g_strdup() and double free when using the
1065           --gst-plugin-load command line option (#346097).
1066
1067 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1068
1069         * gst/gstinfo.c:
1070           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1071
1072         * libs/gst/net/gstnetclientclock.c:
1073         * libs/gst/net/gstnettimeprovider.c:
1074           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1075
1076 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1077
1078         * docs/manual/advanced-dataaccess.xml:
1079           Fix buffer probe example compilation in
1080           ADM (#345708).
1081         
1082 2006-06-22  Edward Hervey  <edward@fluendo.com>
1083
1084         * gst/gstelement.c: (gst_element_pads_activate):
1085         We need to deactivate src pads first and then sink pads.
1086         The reason is the src pads might be blocking while holding the streaming
1087         lock, so we need to deactivate them first so that deactivating the sink
1088         pads doesn't block (since it will require the streaming lock).
1089
1090 2006-06-22  Wim Taymans  <wim@fluendo.com>
1091
1092         * libs/gst/base/gstbasetransform.c:
1093         (gst_base_transform_buffer_alloc):
1094         Forgot to remove two unneeded unrefs.
1095         Simplify a check _is_equal allready checks the obvious case.
1096
1097 2006-06-22  Wim Taymans  <wim@fluendo.com>
1098
1099         * docs/design/part-block.txt:
1100         Some docs about what pad_block should do.
1101
1102 2006-06-22  Wim Taymans  <wim@fluendo.com>
1103
1104         * gst/gstcaps.c: (gst_caps_replace):
1105         Fix crasher when passed NULL. Doc clarification.
1106         Optimize for the trivial case.
1107
1108         * gst/gstpipeline.c: (gst_pipeline_change_state):
1109         Small cleanups.
1110
1111         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1112         Small documentation cleanup.
1113
1114         * libs/gst/base/gstbasetransform.c:
1115         (gst_base_transform_buffer_alloc):
1116         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1117         is what we need and it avoids a whole lot of redundant 
1118         refcount operations.
1119
1120 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1123
1124         * docs/manual/advanced-dataaccess.xml:
1125           Fix 'Embedding static elements' section to use
1126           GST_PLUGIN_DEFINE_STATIC (#345607).
1127
1128 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1131           Attempt to 'fix' spuriously failing test case: it seems like the
1132           timeout of half a second is simply too small when the system is under
1133           load otherwise, and the timeout doesn't really seem to serve any
1134           particular purpose here. Give the pipeline a few seconds to preroll
1135           first, and then give it another half a second to go from PAUSED to
1136           PLAYING and marshal the message into the main thread.
1137
1138 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1139
1140         * tools/gst-feedback-m.m:
1141           Don't only use unversioned tools, try versioned tools as well
1142           (#345086).
1143
1144 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1145
1146         * gst/gstbus.c: (gst_bus_class_init):
1147           Fix some typos, make docs more explicit.
1148
1149 2006-06-20  Wim Taymans  <wim@fluendo.com>
1150
1151         * tests/check/gst/gstghostpad.c: (block_callback),
1152         (GST_START_TEST), (gst_ghost_pad_suite):
1153         Added some more ghostpad tests, mainly blocking
1154         and probes.
1155
1156 2006-06-16  Wim Taymans  <wim@fluendo.com>
1157
1158         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1159         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1160         (gst_file_sink_event), (gst_file_sink_render):
1161         * plugins/elements/gstfilesink.h:
1162         Check if we can seek in the file instead of assuming
1163         we always can. Post an error when we are asked to seek in a
1164         non-seekable file (like a fifo). Fixes #343312.
1165         Some cleanups.
1166
1167 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1168
1169         * tools/gst-launch.1.in:
1170           Un-garble (fourcc) bit in filtered caps section.
1171
1172 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * docs/manual/advanced-autoplugging.xml:
1175         * docs/manual/basics-helloworld.xml:
1176         * docs/manual/highlevel-components.xml:
1177           Don't leak bus reference in sample code.
1178
1179 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * autogen.sh:
1182           Add default for new --enable-plugin-docs switch.
1183
1184         * configure.ac:
1185           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1186           Fixes #344039.
1187
1188         * docs/Makefile.am:
1189           Use new ENABLE_PLUGIN_DOCS conditional.
1190
1191 2006-06-14  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1194         Make it clear with a FIXME and a real define what the #if 0
1195         previously disabled.
1196
1197 2006-06-14  Wim Taymans  <wim@fluendo.com>
1198
1199         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1200         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1201         * libs/gst/base/gstbasetransform.c:
1202         (gst_base_transform_sink_eventfunc):
1203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1204         Don't randomly and silently reset a segment when the format 
1205         changes as this is a bug somewhere upstream. Fixes #330379.
1206
1207 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1208
1209         Patch by: Wouter Paesen  <wouter at kangaroot net>
1210
1211         * libs/gst/controller/gstcontroller.c:
1212         (gst_controlled_property_new):
1213           Fix controlling of float properties (#344849).
1214
1215         * tests/check/libs/controller.c:
1216         (gst_test_mono_source_get_property),
1217         (gst_test_mono_source_set_property),
1218         (gst_test_mono_source_class_init), (GST_START_TEST):
1219           While we're at it, add some float stuff to unit test.
1220
1221 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * docs/README:
1224         * docs/images/gdp-header.svg:
1225           add a gdp image
1226         * docs/libs/Makefile.am:
1227         * docs/libs/gdp-header.png:
1228         * libs/gst/dataprotocol/dataprotocol.c:
1229           add it to the API docs
1230         * docs/manual/intro-motivation.xml:
1231           fix typo
1232
1233 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1234
1235         * gst/gst.c: (scan_and_update_registry), (init_post):
1236           If the fork()'ed child process can't write the updated registry cache
1237           file to disk for some reason, make it exit with a failure exit code,
1238           so that the parent can then re-scan the plugins itself and update the
1239           registry structures in memory and work with that (rather than failing
1240           when creating elements because seemingly no plugins are available).
1241           Refactor registry scanning code into separate function for this and
1242           also separate fork() and non-fork() code paths. Fixes #344748.
1243
1244 2006-06-13  Wim Taymans  <wim@fluendo.com>
1245
1246         * docs/manual/advanced-dataaccess.xml:
1247         Fix wrong PluginDesc. Fixes #344755.
1248
1249 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1250
1251         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1252           Fix silly bug that prevented us from creating
1253           ~/.gstreamer-0.10 and writing the registry in one
1254           go (the first call to g_mkstemp() would overwrite the
1255           placeholder in the template string, so the second call
1256           to g_mkstemp() after creating the missing directory
1257           would then error out with 'invalid argument').
1258
1259 2006-06-13  Edward Hervey  <edward@fluendo.com>
1260
1261         * gst/gst.c: (init_post):
1262         Free string.
1263
1264 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1265
1266         * gst/glib-compat-private.h:
1267         * gst/glib-compat.c:
1268         * gst/glib-compat.h:
1269         * gst/gstvalue.c: (gst_value_serialize_flags):
1270           remove GLib 2.6 compatibility code
1271
1272 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * gst/parse/Makefile.am:
1275           Fix build with 'make -j N' even more (#340016).
1276
1277 2006-06-12  Wim Taymans  <wim@fluendo.com>
1278
1279         * docs/gst/gstreamer-sections.txt:
1280         Fix docs.
1281
1282 2006-06-12  Wim Taymans  <wim@fluendo.com>
1283
1284         * gst/gstsegment.c: (gst_segment_set_duration),
1285         (gst_segment_set_last_stop), (gst_segment_set_seek),
1286         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1287         (gst_segment_to_running_time), (gst_segment_clip):
1288         Use G_UNLIKELY to help the compiler a bit.
1289
1290 2006-06-12  Wim Taymans  <wim@fluendo.com>
1291
1292         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1293
1294         * gst/gstevent.c: (gst_event_get_type):
1295         * gst/gstmessage.c:
1296         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1297         (gst_pad_push):
1298         constify quark registration strings. Fixes #344115
1299         Avoid unneeded type checking is _pad_push() by internally
1300         calling gst_pad_chain_unchecked().
1301
1302 2006-06-12  Wim Taymans  <wim@fluendo.com>
1303
1304         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1305         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1306         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1307         (gst_buffer_is_span_fast), (gst_buffer_span):
1308         Init _type for consistency.
1309         Use _FLAGS macro to avoid type check.
1310         Avoid unneeded type checks in subbufer code.
1311
1312 2006-06-12  Wim Taymans  <wim@fluendo.com>
1313
1314         * gst/gst.c: (gst_debug_help):
1315         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1316         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1317         (gst_plugin_feature_list_free):
1318         * gst/gstregistry.c: (gst_registry_add_plugin),
1319         (gst_registry_add_feature), (gst_registry_plugin_filter),
1320         (gst_registry_feature_filter), (gst_registry_find_plugin),
1321         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1322         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1323         * gst/gstregistryxml.c: (load_feature),
1324         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1325         * gst/gstminiobject.c: (gst_mini_object_unref),
1326         (gst_mini_object_replace), (gst_value_mini_object_free),
1327         (gst_value_mini_object_copy):
1328         Use _CAST macros to avoid unneeded type checking.
1329         Added some more G_UNLIKELY.
1330
1331 2006-06-12  Wim Taymans  <wim@fluendo.com>
1332
1333         * gst/gstbuffer.h:
1334         Avoid unneeded type checking.
1335         API: GST_BUFFER_IS_DISCONT
1336
1337         * gst/gstminiobject.h:
1338         Avoid type check in flag accessor.
1339
1340         * gst/gstelementfactory.h:
1341         * gst/gstplugin.h:
1342         * gst/gstpluginfeature.h:
1343         Add _CAST macros.
1344         API: GST_ELEMENT_FACTORY_CAST
1345         API: GST_PLUGIN_CAST
1346         API: GST_PLUGIN_FEATURE_CAST
1347
1348 2006-06-12  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1351         (gst_object_unref):
1352         Add G_UNLIKELY in type registration.
1353         Avoid type check in _ref/_unref since that is also
1354         done in glib.
1355
1356 2006-06-12  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/gsterror.c: (gst_g_error_get_type):
1359         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1360         (gst_static_pad_template_get_type):
1361         * gst/gsttaglist.c: (gst_tag_list_get_type):
1362         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1363         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1364         * gst/gsturi.c: (gst_uri_handler_get_type):
1365         * gst/gstvalue.c: (gst_date_get_type):
1366         * gst/gstxml.c: (gst_xml_get_type):
1367         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1368         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1369         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1370         Add G_UNLIKELY in type registration.
1371
1372 2006-06-12  Wim Taymans  <wim@fluendo.com>
1373
1374         * tools/gst-inspect.c: (print_signal_info):
1375         Properly print enum values.
1376
1377 2006-06-12  Wim Taymans  <wim@fluendo.com>
1378
1379         * gst/gstinfo.c: (gst_debug_set_active),
1380         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1381         * gst/gstinfo.h:
1382         Add some G_[UN]LIKELY.
1383         Maintain __gst_debug_min to avoid formatting the arguments of
1384         debug messages that will be dropped anyway to avoid a lot of 
1385         overhead from the debugging system.
1386
1387 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1388
1389         * po/POTFILES.in:
1390         * po/POTFILES.skip:
1391           add missing files containing translatable strings, tell intltool about
1392           one exception
1393
1394 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1395
1396         * tests/check/libs/.cvsignore:
1397         add test-binary to ignore list
1398
1399 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1400
1401         * docs/libs/gstreamer-libs-docs.sgml:
1402         reorder (put dp into a chapter) and indent
1403
1404 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1405
1406         * configure.ac:
1407           back to HEAD
1408
1409 === release 0.10.8 ===
1410
1411 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1412
1413         * configure.ac:
1414           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1415
1416 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1417
1418         * gst/gst.c: (init_post):
1419           move pid declaration to declaration block
1420
1421 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1422
1423         * gst/gst.c: (init_post):
1424           use _exit() instead of exit() in our forked child; this ensures
1425           that none of the registered exit handlers from whatever is using
1426           GStreamer get executed.  This fixes gnome-mixer-applet failing
1427           to load, because ORBit would shut down.
1428           Spotted by: Edward Hervey  <edward@fluendo.com>
1429           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1430           Fixes #344474
1431
1432 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1433
1434         * configure.ac:
1435           back to TRUNK
1436
1437 === release 0.10.7 ===
1438
1439 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1440
1441         * configure.ac:
1442           releasing 0.10.7, "Soepeke, ik zie ou"
1443
1444 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1445
1446         * configure.ac:
1447         * po/af.po:
1448         * po/az.po:
1449         * po/bg.po:
1450         * po/ca.po:
1451         * po/cs.po:
1452         * po/de.po:
1453         * po/en_GB.po:
1454         * po/fr.po:
1455         * po/it.po:
1456         * po/nb.po:
1457         * po/nl.po:
1458         * po/ru.po:
1459         * po/sq.po:
1460         * po/sr.po:
1461         * po/sv.po:
1462         * po/tr.po:
1463         * po/uk.po:
1464         * po/vi.po:
1465         * po/zh_CN.po:
1466         * po/zh_TW.po:
1467         * win32/common/config.h:
1468           0.10.6.2 prerelease
1469
1470 2006-06-07  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstindex.c: (gst_index_gtype_resolver):
1473         * tools/gst-xmlinspect.c: (print_plugin_info):
1474         Fix leak spotted by coverity checker. Fixes #343827
1475         Fix another other leak found by paolo borelli.
1476
1477 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1478
1479         * libs/gst/dataprotocol/dataprotocol.c:
1480         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1481         (gst_dp_version_get_type), (gst_dp_init),
1482         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1483         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1484         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1485         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1486         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1487         (gst_dp_packetizer_free):
1488         * libs/gst/dataprotocol/dataprotocol.h:
1489           API: add a GstDPPacketizer object, and create/free functions
1490           API: add GstDPVersion enum
1491           Add 1.0 event function that uses the string serialization
1492           Serialize more useful buffer flags
1493           Fixes #343988
1494
1495 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * tests/check/Makefile.am:
1498         * tests/check/gst/gstabi.c:
1499         * tests/check/gst/struct_ppc64.h:
1500         * tests/check/libs/libsabi.c:
1501         * tests/check/libs/struct_ppc64.h:
1502           add ppc64 structure sizes
1503
1504 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1505
1506         * tests/check/Makefile.am:
1507         * tests/check/gst/gstabi.c:
1508         * tests/check/gst/struct_x86_64.h:
1509         * tests/check/libs/libsabi.c:
1510         * tests/check/libs/struct_x86_64.h:
1511           generate and add structure size lists for x86_64
1512
1513 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1514
1515         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1516         * libs/gst/check/gstcheck.h:
1517           factor out the method from tests that checks size of structures,
1518           and add code to generate the header containing these sizes
1519         * tests/check/gst/gstabi.c: (GST_START_TEST):
1520         * tests/check/gst/struct_i386.h:
1521         * tests/check/libs/libsabi.c: (GST_START_TEST):
1522         * tests/check/libs/struct_i386.h:
1523           use it
1524
1525 2006-06-06  Michael Smith  <msmith@fluendo.com>
1526
1527         * gst/gstsegment.h:
1528           Don't use c++-style comments, fixes #343929
1529
1530 2006-06-05  Edward Hervey  <edward@fluendo.com>
1531
1532         * gst/gst.c:
1533         plugin_paths is not used if we build without registry support.
1534
1535         * gst/gstsegment.c: (gst_segment_copy): 
1536         _copy() was always returning NULL...
1537
1538 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1539
1540         * libs/gst/dataprotocol/dataprotocol.c:
1541         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1542         (gst_dp_packet_from_event):
1543           factor out CRC code
1544
1545 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1546
1547         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1548           make sure we unset caps
1549
1550 2006-06-02  Michael Smith  <msmith@fluendo.com>
1551
1552         * libs/gst/check/gstcheck.c: (gst_check_init),
1553         (gst_check_chain_func):
1554         * libs/gst/check/gstcheck.h:
1555           Add a cond/mutex to the check support lib, signal this whenever we
1556           add to the buffers list. This will allow tests to not busy-wait on
1557           the buffer-list.
1558
1559 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1560
1561         * libs/gst/dataprotocol/dataprotocol.c:
1562         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1563         (gst_dp_packet_from_event):
1564           factor out some common header init code
1565
1566 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1567
1568         * docs/libs/gstreamer-libs-sections.txt:
1569         * docs/libs/tmpl/gstdataprotocol.sgml:
1570         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1571         * libs/gst/dataprotocol/dataprotocol.h:
1572           API: make gst_dp_crc() public
1573
1574 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1575
1576         * plugins/indexers/gstindexers.c: (plugin_init):
1577         conditionally register fileindexer (fixes #343598)
1578
1579 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1580
1581         * gst/gsttagsetter.h:
1582         Can't cast ifaces to a class
1583
1584         * libs/gst/net/gstnetclientclock.h:
1585         * libs/gst/net/gstnettimeprovider.h:
1586         * plugins/elements/gstfakesink.h:
1587         * plugins/elements/gstfakesrc.h:
1588         * plugins/elements/gstfdsink.h:
1589         * plugins/elements/gstfdsrc.h:
1590         * plugins/elements/gstfilesink.h:
1591         * plugins/elements/gstfilesrc.h:
1592         * plugins/elements/gstidentity.h:
1593         * plugins/elements/gstqueue.h:
1594         * plugins/elements/gsttee.h:
1595         * plugins/indexers/gstfileindex.c:
1596         * plugins/indexers/gstmemindex.c:
1597         * tests/old/examples/plugins/example.h:
1598         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1599
1600 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1601
1602         * libs/gst/dataprotocol/dataprotocol.c:
1603         (gst_dp_header_from_buffer):
1604           make sure we zero the whole ABI-compatible area
1605
1606 2006-06-01  Wim Taymans  <wim@fluendo.com>
1607
1608         Patch by: Alessandro Decina <alessandro at nnva dot org>
1609
1610         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1611         Make sure the EOS flag is cleared from pads after a flush
1612         or stop. Fixes #343538.
1613
1614         * tests/check/libs/collectpads.c: (GST_START_TEST),
1615         (gst_collect_pads_suite):
1616         Added test for collectpads reusage after EOS.
1617
1618 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1619
1620         * gst/gst.c:
1621          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1622         * win32/common/libgstbase.def:
1623          export gst_collect_pads_set_flushing
1624         * win32/common/libgstreamer.def:
1625          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1626          gst_value_fraction_multiply
1627         * win32/vs6/gst_inspect.dsp:
1628          add a link to intl.lib
1629
1630 2006-05-30  Wim Taymans  <wim@fluendo.com>
1631
1632         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1633         (gst_collect_pads_chain):
1634         Handle the case where a pad is removed from the collection
1635         that could cause the other pads to become collectable.
1636
1637 2006-05-30  Wim Taymans  <wim@fluendo.com>
1638
1639         * gst/gstelement.c:
1640         Clarify the use of _release_request_pad() and
1641         _get_request_pad() a bit better.
1642
1643         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1644         (gst_adapter_take_buffer):
1645         Fix some doc and comment typos.
1646
1647 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1648
1649         * docs/gst/gstreamer-sections.txt:
1650         * docs/libs/gstreamer-libs-sections.txt:
1651           add declared symbols
1652
1653 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1654
1655         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1656         Add debug that can be enabled using a #define at the top of the file,
1657         for dumping stats about how late/early we were when waking up from
1658         waiting on the clock.
1659
1660 2006-05-30  Wim Taymans  <wim@fluendo.com>
1661
1662         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1663         When rebuilding the pad list, don't leak the previous list.
1664
1665 2006-05-30  Wim Taymans  <wim@fluendo.com>
1666
1667         Patch by: Lutz Mueller <lutz at topfrose dot de>
1668
1669         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1670         (gst_base_src_get_query_types), (gst_base_src_update_length):
1671         Publish supported query types.
1672         Update last_stop field in get_range mode so the position
1673         query works. Fixes #342321.
1674
1675 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1676
1677         * docs/gst/gstreamer-sections.txt:
1678         * gst/gsttaglist.c: (_gst_tag_initialize):
1679         * gst/gsttaglist.h:
1680           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1681
1682 2006-05-30  Wim Taymans  <wim@fluendo.com>
1683
1684         Patch by: Alessandro Decina <alessandro at nnva dot org>
1685
1686         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1687         Unlock mutex when removing an unknown pad.
1688         Fixes #343334.
1689
1690         * tests/check/Makefile.am:
1691         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1692         (push_event), (setup), (teardown), (GST_START_TEST),
1693         (gst_collect_pads_suite), (main):
1694         Added collecpads check, disabled for now as check crashes for
1695         some reason.
1696
1697 2006-05-29  Wim Taymans  <wim@fluendo.com>
1698
1699         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1700         Don't leak pads lists.
1701
1702 2006-05-29  Wim Taymans  <wim@fluendo.com>
1703
1704         * docs/libs/gstreamer-libs-sections.txt:
1705         * libs/gst/base/gstcollectpads.c:
1706         (gst_collect_pads_set_flushing_unlocked),
1707         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1708         (gst_collect_pads_stop):
1709         * libs/gst/base/gstcollectpads.h:
1710         API: gst_collect_pads_set_flushing()
1711         Added api to set the pads to flushing, useful for seeking
1712         code in elements using collectpads.
1713         Clear segment when receiving a flush.
1714
1715 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1716
1717         * gst/gst.c: (add_path_func), (init_post):
1718           Don't scan registry paths passed via --gst-plugin-path immediately
1719           (will crash, because absolutely nothing is set up and no types are
1720           registered etc.); do this later in init_post(). Fixes #343057.
1721
1722 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1723
1724         * gst/gst.c: (init_post):
1725           if we have fork, fork while reading/rebuilding the registry
1726           so the parent doesn't take the hit of having all plugins loaded
1727           in memory.  Fixes #342777.
1728         * configure.ac:
1729           Check if we have fork()
1730         * win32/common/config.h.in:
1731           no fork() on win32
1732
1733 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1734
1735         * plugins/elements/gstelements.c:
1736         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1737         (gst_file_src_init), (gst_file_src_set_property),
1738         (gst_file_src_get_property), (gst_file_src_start):
1739         * plugins/elements/gstfilesrc.h:
1740           API: GstFileSrc::use-mmap
1741
1742         Add a use-mmap property to enable easier testing of all code paths.
1743         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1744         in the absence of gnomevfssrc. (Closes #340501)
1745
1746 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1747
1748         * tools/gst-inspect.c:
1749         Add missing include, removes warning of ngettext not being defined on
1750         some arches.
1751
1752 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1753
1754         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1755         Handle NULL input and output pointers silently as a failed conversion,
1756         rather than g_warnings.
1757
1758 2006-05-25  Wim Taymans  <wim@fluendo.com>
1759
1760         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1761         Initialize variable before using. Fixes #342820.
1762
1763 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1764
1765         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1766           Fix off-by-one bug that would only allow peeks of N-1 bytes
1767           from the start even if the buffer to typefind on contains
1768           in fact N bytes of data (makes vorbis typefinding from a
1769           vorbis identification header buffer work).
1770
1771         * tests/check/Makefile.am:
1772         * tests/check/libs/.cvsignore:
1773         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1774         (gst_typefindhelper_suite), (main), (foobar_typefind),
1775         (plugin_init):
1776           Add very basic unit test for gst_type_find_helper_for_buffer()
1777           that checks for the problem fixed above.
1778
1779 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1780
1781         * tools/gst-inspect.c: (print_interfaces),
1782         (print_element_properties_info), (print_element_list), (main):
1783           add more translatable strings
1784
1785 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1786
1787         Patch by: Julien Moutte  <julien at moutte net>
1788
1789         * docs/gst/gstreamer-sections.txt:
1790           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1791           
1792         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1793         (gst_fake_sink_preroll):
1794         * plugins/elements/gstfakesink.h:
1795           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1796
1797 2006-05-23  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1800         * gst/gstpad.h:
1801         Added _CUSTOM error and success GstFlowReturn that can be
1802         used be elements internally. 
1803         Added macro to check for SUCCESS flowreturns.
1804         API: GST_FLOW_CUSTOM_SUCCESS
1805         API: GST_FLOW_CUSTOM_ERROR
1806         API: GST_FLOW_IS_SUCCESS
1807
1808         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1809         Added check for GstFlowReturn sanity.
1810
1811 2006-05-23  Wim Taymans  <wim@fluendo.com>
1812
1813         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1814
1815         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1816         (gst_collect_pads_event):
1817         clear/reset segment info in FLUSH_STOP.
1818         Fixes #336929.
1819
1820 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1821
1822         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1823         (gst_collect_pads_check_collected):
1824         Flush queued buffer on _stop(), fixes playing again (#342454)
1825
1826 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * tests/check/gst/gststructure.c: (GST_START_TEST),
1829         (gst_structure_suite):
1830           add a test for a complete structure
1831
1832 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1833
1834         * docs/faq/developing.xml:
1835         * docs/faq/faq.xml:
1836         * docs/faq/troubleshooting.xml:
1837         * docs/faq/using.xml:
1838           Some minor FAQ updates that won't change the fact that
1839           our FAQ is badly structured, full of information hardly
1840           anyone new to GStreamer needs to know and lacking lots
1841           of information people constantly ask for.
1842           
1843 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1844
1845         * gst/gstpad.c: (gst_pad_set_caps):
1846           Short-circuit gst_pad_set_caps if setting the existing
1847           caps pointer again, and avoid printing debug and 
1848           reffing/unreffing the caps.
1849
1850         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1851           There's actually no need to set the caps before pushing -
1852           the acceptcaps method will handle it anyway.
1853
1854 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1855
1856         * docs/gst/gstreamer-sections.txt:
1857         * win32/common/libgstreamer.def:
1858         * gst/gstutils.c: (gst_element_seek_simple):
1859         * gst/gstutils.h:
1860           API: add gst_element_seek_simple() (#342238).
1861
1862 2006-05-18  Edward Hervey  <edward@fluendo.com>
1863
1864         * gst/gsttypefind.c: (gst_type_find_get_type):
1865         * gst/gsttypefind.h:
1866         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1867         registered for GstTypeFind pointers. This allows wrapping the structure
1868         in bindings (i.e. gst-python).
1869
1870 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * gst/gsttagsetter.c:
1873           Docs additions and fixes (see #339918).
1874
1875 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1876
1877         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1878         The caps intersection algorithm can produce multiple copies of the
1879         caps. Until that is fixed, we need to simplify the result to be
1880         sure whether the allowed caps are fixed or not.
1881
1882         * plugins/elements/gstqueue.c: (gst_queue_init),
1883         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1884         (gst_queue_push_one):
1885         Proxied buffer alloc should not set the caps on the source pad.
1886         When pushing buffers, we always accept the caps change that triggers.
1887         This prevents negotiation errors caused by caps changing mid-stream 
1888         and then being refused on our source pad (because upstream is now
1889         refusing those caps).
1890
1891 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1892
1893         * tests/examples/helloworld/helloworld.c: (main):
1894           Must plug audioconvert and audioresample between decoder
1895           and audio sink.
1896
1897 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1898
1899         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1900         (load_feature), (load_plugin):
1901         Allow empty strings for some of the plugin fields so we don't 
1902         drop valid plugin entries that were written out correctly
1903         (Fixes #341479)
1904
1905 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1906         
1907         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1908           Use g_remove and g_rename instead of remove and rename that don't 
1909           handle utf8 characters. rename was failing for users who had specific
1910           characters in their name then the registry was built at each 
1911           gstreamer init.
1912         * win32/vs6/gst_inspect.dsp:
1913         * win32/vs6/gst_launch.dsp:
1914         * win32/vs6/libgstbase.dsp:
1915         * win32/vs6/libgstcoreelements.dsp:
1916         * win32/vs6/libgstreamer.dsp:
1917           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1918           build of libgstreamer and clean unused libraries in projects link 
1919           settings.
1920
1921 2006-05-17  Edward Hervey  <edward@fluendo.com>
1922
1923         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1924         The queue is not responsible for pushing an EOS when receiving a fatal
1925         flow error. It's up to the real element driving the pipeline to do that.
1926
1927 2006-05-16  Edward Hervey  <edward@fluendo.com>
1928
1929         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1930         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1931         buffer returned a fatal error. It should just send an EOS and stop
1932         its task.
1933         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1934         when pushing buffers on the queue and will be able to handle the event.
1935
1936 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1937
1938         * docs/manual/basics-bins.xml:
1939         * docs/manual/basics-init.xml:
1940           Fix typos and minor errors in sample code (#341856).
1941
1942 2006-05-16  Wim Taymans  <wim@fluendo.com>
1943
1944         * docs/design/part-qos.txt:
1945         Fix indexes in formulas to make more sense.
1946
1947 2006-05-15  Wim Taymans  <wim@fluendo.com>
1948
1949         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1950         Don't report POSITION based on clock time if sync is
1951         disabled in a sink.
1952
1953 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         * gst/gstobject.h:
1956           Add cast to make compiler happy - refcount variable was a gint
1957           in GstObject but is a guint in GObject and g_atomic_int_get()
1958           wants a gint *.
1959
1960 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1961
1962         * gst/parse/Makefile.am:
1963           chain commands using &&, which also makes parallel make work
1964
1965 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1966
1967         * docs/gst/gstreamer-sections.txt:
1968         * gst/gstevent.c:
1969         * gst/gstevent.h:
1970         * gst/gstmessage.h:
1971           Minor docs fixes.
1972
1973 === release 0.10.6 ===
1974
1975 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1976
1977         * configure.ac:
1978           releasing 0.10.6, "Take the cannoli"
1979
1980 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1981
1982         * tools/gst-launch.c: (print_tag):
1983           Fix use of uninitialized variable in the hypothetical
1984           case that some broken plugin creates a GST_TAG_IMAGE
1985           tag containing a NULL buffer (#341667).
1986
1987 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * tools/gst-launch.c: (print_tag):
1990           Print something more intelligible for image tags when
1991           using the -t switch (#341556).
1992
1993 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * Makefile.am:
1996           updates for win32
1997         * configure.ac:
1998           define GST_MAJORMINOR so we have it available in win32/common/config.h
1999           Possibly remove it from our Makefile.am files later
2000         * win32/common/config.h:
2001         * win32/common/config.h.in:
2002           added GST_MAJORMINOR
2003         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2004         * win32/common/gstversion.h:
2005           updated
2006
2007 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2008
2009         * win32/MANIFEST:
2010           Update win32 files listing.
2011         * win32/common/gstversion.h:
2012           Add GST_MAJORMINOR definition.
2013         * win32/common/libgstreamer.def:
2014           Add new exported functions.
2015           
2016 2006-05-12  Michael Smith  <msmith@fluendo.com>
2017
2018         * gst/gstplugin.c: (gst_plugin_load_file):
2019           If an so file has no plugin entry point, unload the module.
2020
2021 2006-05-11  Wim Taymans  <wim@fluendo.com>
2022
2023         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2024         (gst_queue_set_property):
2025         Don't forget to signal the _chain or _loop function 
2026         when the queue size or thresholds change since that might
2027         cause them to make progres again.
2028
2029 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2030
2031         * gst/gstclock.c: (gst_clock_class_init):
2032         * gst/gstindex.c: (gst_index_class_init):
2033         * gst/gstobject.c: (gst_object_class_init):
2034         * gst/gstpad.c: (gst_pad_class_init):
2035         * gst/gstpipeline.c: (gst_pipeline_class_init):
2036         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2037         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2038         * libs/gst/base/gstbasetransform.c:
2039         (gst_base_transform_class_init):
2040         * libs/gst/net/gstnetclientclock.c:
2041         (gst_net_client_clock_class_init):
2042         * libs/gst/net/gstnettimeprovider.c:
2043         (gst_net_time_provider_class_init):
2044         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2045         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2046         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2047         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2048         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2049         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2050         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2051         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2052         * plugins/elements/gsttee.c: (gst_tee_class_init):
2053         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2054         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2055           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2056
2057 2006-05-11  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/gstbuffer.c: (_gst_buffer_initialize):
2060         Register subbufer along with the buffer type so that
2061         it does not accidentally gets registered from N
2062         different streaming threads in a non threadsafe way.
2063
2064 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2065
2066         * gst/gstbuffer.h:
2067         * gst/gstevent.h:
2068         * gst/gstmessage.h:
2069           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2070           gst_event_ref() and gst_message_ref() functions again
2071           (ugly hack, please do fix if there's a better way besides
2072           overrides.txt, which doesn't seem to work).
2073
2074 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2075
2076         * libs/gst/check/gstcheck.h:
2077           add an assert for setting state to avoid lots of repetitive code
2078           in the future
2079
2080 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2081
2082         * gst/gstvalue.c: (gst_value_serialize_flags):
2083           fix a leak if no flags are set
2084         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2085           fix leak in tests
2086
2087 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2088
2089         * docs/manual/basics-pads.xml:
2090           Expand a bit on caps and filtered links and update
2091           examples that were still using the no longer existing
2092           gst_pad_link_filtered() (#338206).
2093
2094 2006-05-10  Wim Taymans  <wim@fluendo.com>
2095
2096         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2097         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2098         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2099         (gst_collect_pads_stop):
2100         * libs/gst/base/gstcollectpads.h:
2101         No need to call _stop in _finalize.
2102         Iterate the main pad list in _finalize.
2103         Added some more debug.
2104         Free lists and data in the right order.
2105         Also free data whem doing _remove_pad when stopped for
2106         backward compatibility protect ::started with PAD_LOCK as
2107         well.
2108
2109 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2110
2111         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2112         (gst_structure_parse_value):
2113           add some comments
2114           rename a method so that it actually says what it does better
2115
2116 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * gst/gstevent.c: (_gst_event_initialize):
2119         * gst/gstformat.c: (_gst_format_initialize):
2120           make sure some essential types used by events are registered
2121           as part of gst_init()
2122         * gst/gstvalue.c: (gst_value_serialize_flags):
2123           if no flags are set, serialize them to a value that represents NONE
2124           so that deserializing them works
2125         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2126           add tests for serialization and deserialization of flags
2127
2128 2006-05-10  Wim Taymans  <wim@fluendo.com>
2129
2130         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2131         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2132         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2133         (gst_collect_pads_event), (gst_collect_pads_chain):
2134         Update docs.
2135         Better debug info.
2136         Catch and return errors from the collect function
2137         Refuse data on eos pads.
2138
2139 2006-05-10  Edward Hervey  <edward@fluendo.com>
2140
2141         * gst/gstinterface.h:
2142         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2143         GInterface type checking.
2144         They were previously using non-defined macros.
2145
2146 2006-05-09  Wim Taymans  <wim@fluendo.com>
2147
2148         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2149         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2150         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2151         (gst_collect_pads_start), (gst_collect_pads_stop),
2152         (gst_collect_pads_peek), (gst_collect_pads_pop),
2153         (gst_collect_pads_available), (gst_collect_pads_read),
2154         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2155         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2156         (gst_collect_pads_chain):
2157         * libs/gst/base/gstcollectpads.h:
2158         Clean up the mess that is collectpads, add comments and
2159         FIXMEs where needed.
2160         Maintain a separate pad list so we can add pads while
2161         collecting the other ones. For this we need a new separate 
2162         lock (see comics).
2163         Fix memory leak in finalize.
2164         Refactor some weird code to set/unset pad flushing flags, mark
2165         with comments.
2166         Don't crash in _available, _read, _flush when we're EOS.
2167
2168         * tests/check/libs/.cvsignore:
2169         Ignore adapter check binary.
2170
2171 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2172
2173         * gst/gstindex.c: (gst_index_resolver_get_type):
2174         * plugins/elements/gstfakesink.c:
2175         (gst_fake_sink_state_error_get_type):
2176         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2177         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2178         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2179           Const-ify GEnumValue arrays.
2180
2181 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2182
2183         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2184           Add test case for flags + gst_buffer_make_metadata_writable().
2185
2186 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2187
2188         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2189           gst_buffer_make_metadata_writable() should maintain the
2190           buffer flags (those that make sense at least) (see #340859).
2191
2192 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2193
2194         * tools/gst-inspect.c:
2195         * tools/gst-launch.c:
2196         * tools/gst-typefind.c:
2197         * tools/gst-xmlinspect.c:
2198         * tools/tools.h:
2199           Fix up includes: need to include stdlib.h in tools.h for exit().
2200
2201 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2202
2203         * gst/gsttaglist.c: (_gst_tag_initialize):
2204         * gst/gsttaglist.h:
2205           API: add GST_TAG_IMAGE tag (#340721).
2206
2207 2006-05-08  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstquery.c:
2210         Added some docs for the segment query.
2211
2212 2006-05-08  Wim Taymans  <wim@fluendo.com>
2213
2214         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2215         (gst_base_src_loop), (gst_base_src_change_state):
2216         Always push non-flushing serialized events in the streaming 
2217         thread.
2218
2219 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2220
2221         * gst/gsterror.c: (_gst_stream_errors_init):
2222           Add a missing error string.
2223
2224 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2225
2226         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2227         Add applied_rate to the debug
2228
2229         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2230         Copy applied_rate into the outgoing NEWSEGMENT event
2231
2232 2006-05-08  Wim Taymans  <wim@fluendo.com>
2233
2234         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2235
2236         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2237         (gst_base_sink_change_state):
2238         call ::unlock before taking the PREROLL_LOCK so we can safely
2239         handle elements that lock in ::render.
2240         Fixes #340174.
2241
2242 2006-05-08  Edward Hervey  <edward@fluendo.com>
2243
2244         * autogen.sh: (CONFIGURE_DEF_OPT): 
2245         Darwin's libtoolize is in fact called glibtoolize.
2246         Adding glibtoolize to the list of accepted names for libtoolize.
2247
2248 2006-05-08  Wim Taymans  <wim@fluendo.com>
2249
2250         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2251         Unify error handling, don't post an error message
2252         when a push() returns EOS but perform our normal EOS
2253         handling code. Fixes #340772.
2254
2255 2006-05-08  Wim Taymans  <wim@fluendo.com>
2256
2257         * docs/design/part-overview.txt:
2258         Make upsteam/downstream concepts more clear.
2259         Give an example of serialized/non-serialized events.
2260
2261         * docs/design/part-events.txt:
2262         * docs/design/part-streams.txt:
2263         Mention applied_rate.
2264
2265         * docs/design/part-trickmodes.txt:
2266         Mention applied rate, flesh out some more use cases.
2267
2268         * gst/gstevent.c: (gst_event_new_new_segment),
2269         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
2270         (gst_event_parse_new_segment_full), (gst_event_new_tag),
2271         (gst_event_parse_tag), (gst_event_new_buffer_size),
2272         (gst_event_parse_buffer_size), (gst_event_new_qos),
2273         (gst_event_parse_qos), (gst_event_parse_seek),
2274         (gst_event_new_navigation):
2275         * gst/gstevent.h:
2276         Add applied_rate field to NEWSEGMENT event.
2277         API: gst_event_new_new_segment_full()
2278         API: gst_event_parse_new_segment_full()
2279
2280         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
2281         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
2282         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2283         * gst/gstsegment.h:
2284         Add applied_rate to GstSegment structure.
2285         Make calculation of stream_time and running_time more correct
2286         wrt rate/applied_rate.
2287         Add some more docs.
2288         API: GstSegment::applied_rate field
2289         API: gst_segment_set_newsegment_full();
2290
2291         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2292         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
2293         * libs/gst/base/gstbasetransform.c:
2294         (gst_base_transform_sink_eventfunc),
2295         (gst_base_transform_handle_buffer):
2296         Parse and use applied_rate in the GstSegment field.
2297
2298         * tests/check/gst/gstevent.c: (GST_START_TEST):
2299         Add check for applied_rate field.
2300
2301         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2302         (gstsegments_suite):
2303         Add more checks for various GstSegment operations.
2304
2305 2006-05-08  Wim Taymans  <wim@fluendo.com>
2306
2307         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2308         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2309         (gst_base_sink_get_position), (gst_base_sink_change_state):
2310         Store the sync time of the buffer end position separatly in a
2311         new variable eos_rtime so we can properly sync the EOS event.
2312         Fixes #340697.
2313         Fix the docs for gst_base_sink_set_qos_enabled().
2314         Don't set segment start to invalid value when we receive a 
2315         non TIME newsegment.
2316         get closer to handling position reporting for negative rates 
2317         correctly.
2318
2319 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * gst/gstcaps.c:
2322         Docs about how to print caps for debug purposes.
2323
2324         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2325         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2326
2327 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2328
2329         * gst/gstelement.c:
2330           use full enum names and preprend a '%' in docs strings to make recent 
2331           gtk-doc turn that into a link
2332
2333 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2334
2335         * docs/manual/basics-bins.xml:
2336         * docs/manual/basics-bus.xml:
2337         * docs/manual/basics-pads.xml:
2338           Some typo fixes, some additions, some clarifications. 
2339
2340 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2341
2342         * tools/gst-inspect.c: (main):
2343         * tools/gst-launch.c: (main):
2344         * tools/gst-run.c: (main):
2345         * tools/gst-typefind.c: (main):
2346         * tools/gst-xmlinspect.c: (main):
2347           Use the string passed to g_option_context_new() for
2348           what it's intended for - the program name is already
2349           printed elsewhere.
2350
2351 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2352
2353         * tools/Makefile.am:
2354         * tools/gst-inspect.c: (main):
2355         * tools/gst-launch.c: (main):
2356         * tools/gst-xmlinspect.c: (main):
2357         * tools/tools.h:
2358           Add back --version command line option (#340460).
2359
2360         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2361           Add --version option and use GOption for argument parsing; refactor a
2362           bit; accept directories as arguments and recurse into them; lastly,
2363           print a decent error message when things go wrong.
2364
2365 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2366
2367         * docs/manual/basics-bins.xml:
2368         Don't mention GstThread (#340611)
2369         * docs/manual/basics-elements.xml:
2370         Update link to GObject tutorial (#340607)
2371         
2372 2006-05-05  Wim Taymans  <wim@fluendo.com>
2373
2374         * gst/gstbuffer.h:
2375         * gst/gstminiobject.c:
2376         Add note about refcounting and miniobject/buffer writeability
2377         to docs. Fixes #340604
2378
2379         * gst/gstelementfactory.h:
2380         Added some explanation about @klass.
2381
2382 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2383
2384         * docs/manual/intro-motivation.xml:
2385         * docs/manual/manual.xml:
2386         Avoid CORBA & Bonobo references (#340598)
2387
2388 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2389
2390         * docs/manual/basics-bus.xml:
2391         * docs/manual/basics-pads.xml:
2392         Fix up some inaccuracies and omissions (#340609)
2393         
2394 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2395
2396         * gst/gstghostpad.c:
2397           Small typo in docs (#340625)
2398
2399 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2400
2401         * gst/parse/Makefile.am:
2402           Make 'make -j' proof (see #340698).
2403
2404 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2405
2406         * configure.ac:
2407           Require GLib-2.8 here as well.
2408
2409 2006-05-05  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/glib-compat.c:
2412         * gst/gst.c: (init_pre):
2413         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2414         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2415         (gst_object_dispatch_properties_changed):
2416         * gst/gstobject.h:
2417         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2418         * gst/gststructure.c: (gst_structure_set_valist):
2419         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2420         Remove pre glib2.8 compatibility, fixes #340508
2421
2422 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2423
2424         * gst/gsttaglist.h:
2425           Mention type of tags in doc blurbs.
2426
2427 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2428
2429         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2430         (gst_pad_configure_src), (gst_pad_push):
2431         Restore acceptcaps checking behaviour now that good plugins have
2432         been released.
2433
2434 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2435
2436         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2437
2438         * gst/gst.c:
2439         * gst/gstbus.c:
2440         * gst/gstclock.c:
2441         * gst/gstevent.c:
2442         * gst/gstformat.c:
2443         * gst/gstmessage.c:
2444         * gst/gstparse.c:
2445         * gst/gstquery.c:
2446         * gst/gstutils.c:
2447         * gst/parse/Makefile.am:
2448         * libs/gst/base/gstadapter.c:
2449         * libs/gst/base/gstbasesrc.c:
2450         * libs/gst/base/gstpushsrc.c:
2451         * libs/gst/base/gsttypefindhelper.c:
2452         * plugins/elements/gstfakesrc.c:
2453         * plugins/elements/gstidentity.c:
2454           Make sure gstprivate.h and/or config.h are
2455           always included first, otherwise some of our
2456           defines (like _FILE_OFFSET_BITS) might be
2457           redefined in the system headers. Fixes build
2458           on opensolaris (#340016).
2459
2460 2006-05-04  Wim Taymans  <wim@fluendo.com>
2461
2462         * docs/libs/gstreamer-libs-sections.txt:
2463         API: addition: gst_adapter_take_buffer()
2464         
2465         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2466         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2467         (gst_adapter_available_fast):
2468         * libs/gst/base/gstadapter.h:
2469         Prepare for optimizing the hell out of this hugely inefficient
2470         piece of code. 
2471         Added gst_adapter_take_buffer() so we can at least start thinking
2472         about subbuffering and merging.
2473         Added some comments.
2474
2475         * tests/check/Makefile.am:
2476         * tests/check/libs/adapter.c: (GST_START_TEST),
2477         (gst_adapter_suite), (main):
2478         Added GstAdapter check.
2479
2480 2006-05-04  Wim Taymans  <wim@fluendo.com>
2481
2482         * docs/design/part-overview.txt:
2483         Fix some typos, add blurb about buffer flags.
2484
2485 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2486
2487         * docs/libs/gstreamer-libs-sections.txt:
2488           make sure GstBaseTransformClass shows up in the docs
2489         * libs/gst/base/gstbasetransform.c:
2490         * libs/gst/base/gstbasetransform.h:
2491           move docs so gtk-doc picks it up now
2492
2493 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2494
2495         * docs/libs/gstreamer-libs-sections.txt:
2496           add missing symbols to docs
2497
2498 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2499
2500         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2501           back out the newsegment handling change, see #340060 for ongoing
2502           discussion
2503
2504 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * tools/gst-run.c: (get_candidates), (main):
2507           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2508           work); fix typo in error message. Fixes #340079.
2509
2510 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2511
2512         * common/Makefile.am:
2513         * docs/Makefile.am:
2514         * docs/faq/Makefile.am:
2515         * docs/gst/Makefile.am:
2516         * docs/libs/Makefile.am:
2517         * docs/manual/Makefile.am:
2518         * docs/plugins/Makefile.am:
2519         * docs/pwg/Makefile.am:
2520         * docs/slides/Makefile.am:
2521         * docs/upload.mak:
2522         * common/upload.mak:
2523           move upload.mak to common
2524
2525 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2526
2527         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2528           add more asserts on refcounts
2529           do more cleanup at end of tests
2530           fix test leaks showing in FC5
2531
2532 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2533
2534         * plugins/elements/gsttypefindelement.c:
2535         (gst_type_find_element_handle_event):
2536         reverted wrong change and reflowed code to avoid others falling into
2537         this trap
2538
2539 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2540
2541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2542           fix changelog entry about last collectpads change,
2543           add notes about proper fix
2544
2545 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2546
2547         * gst/gst.c:
2548         * gst/gstregistry.c: (gst_registry_scan_path_level),
2549         (gst_registry_scan_path):
2550         * gst/gstregistry.h:
2551           only write out registry if it has changed, fixes #338339
2552
2553 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2554
2555         * gst/gstbin.c:
2556         * gst/gstpipeline.c:
2557         * plugins/elements/gstcapsfilter.c:
2558         * plugins/elements/gstfakesink.c:
2559         * plugins/elements/gstfakesrc.c:
2560         * plugins/elements/gstfdsink.c:
2561         * plugins/elements/gstfdsrc.c:
2562         * plugins/elements/gstfilesink.c:
2563         * plugins/elements/gstfilesrc.c:
2564         * plugins/elements/gstidentity.c:
2565         * plugins/elements/gstqueue.c:
2566         * plugins/elements/gsttee.c:
2567         * plugins/elements/gsttypefindelement.c:
2568         (gst_type_find_element_handle_event):
2569           make GstElementDetails const
2570
2571 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2572
2573         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2574         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2575         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2576           more detailed debug and formatting cleanup,
2577           forward newsegments to src-pad (so that e.g. adder not eats them)
2578
2579 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * gst/gstutils.c: (gst_element_link_pads):
2582           cleanup double code
2583
2584 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2585
2586         * libs/gst/controller/gstcontroller.c:
2587         (gst_controller_sync_values):
2588           some little tuning
2589         * tests/check/libs/controller.c: (GST_START_TEST),
2590         (gst_controller_suite):
2591           a new test for live value handling
2592
2593 2006-04-28  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/gstutils.c: (push_and_ref):
2596         Added some more docs.
2597         Fix refcount issue whith gst_element_found_tags() helper 
2598         function. Fixes #338335
2599
2600         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2601         Added testsuite for gst_element_found_tags().
2602
2603 2006-04-28  Michael Smith  <msmith@fluendo.com>
2604
2605         * gst/gstvalue.c: (gst_value_serialize_flags):
2606           Avoid NULL dereference when trying to serialize flags containing
2607           invalid values.
2608
2609 2006-04-28  Michael Smith  <msmith@fluendo.com>
2610
2611         * plugins/elements/gsttypefindelement.c:
2612         (gst_type_find_element_handle_event):
2613           If we get EOS before any data is accumulated, don't use
2614           uninitialised local variables.
2615
2616 2006-04-28  Michael Smith  <msmith@fluendo.com>
2617
2618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2619         (gst_dp_event_from_packet):
2620           Fixes in reading/writing events over GDP (not currently used?) - 
2621           dereferencing NULL events for unknown/invalid event types, memory
2622           leak, and change g_warning to GST_WARNING.
2623
2624 2006-04-28  Wim Taymans  <wim@fluendo.com>
2625
2626         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2627         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2628         (gst_base_sink_get_position), (gst_base_sink_change_state):
2629         When frame dropping is enabled, we should not ignore frames
2630         without a duration.
2631         Update some documentation.
2632
2633 2006-04-28  Wim Taymans  <wim@fluendo.com>
2634
2635         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2636         (gst_base_src_send_event), (gst_base_src_change_state):
2637         Documentation updates.
2638
2639 2006-04-28  Wim Taymans  <wim@fluendo.com>
2640
2641         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2642         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2643         handle EAGAIN, EINTR and short writes correctly. Also clean
2644         up some error cases, avoid a deadlock on bad file descriptors and
2645         use GST_DEBUG_OBJECT.
2646         Fixes #339843
2647
2648 2006-04-28  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/gstvalue.c: (gst_value_serialize_buffer),
2651         (gst_value_deserialize_buffer):
2652         Don't try to serialize a GValue with a NULL buffer. 
2653         Fixes #339821.
2654
2655         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2656         Added check for serialisation of NULL buffers.
2657
2658 2006-04-28  Wim Taymans  <wim@fluendo.com>
2659
2660         * gst/gstminiobject.c: (gst_value_take_mini_object):
2661         Taking a NULL miniobject is valid, fix the case where
2662         we try to unref the NULL miniobject.
2663
2664 2006-04-28  Wim Taymans  <wim@fluendo.com>
2665
2666         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2667
2668         * gst/gstbin.c: (gst_bin_handle_message_func):
2669         Update docs.
2670         Don't leak bin refcount when a state recalc is
2671         in progress and we delay another one #339808.
2672
2673 2006-04-28  Wim Taymans  <wim@fluendo.com>
2674
2675         * docs/design/part-TODO.txt:
2676         Mention QoS as an ongoing work item.
2677
2678         * docs/design/part-buffering.txt:
2679         New doc about buffering that needs to be fleshed out
2680         at some point.
2681
2682         * docs/design/part-qos.txt:
2683         More QoS policy for decoders/demuxers/transforms
2684
2685         * docs/design/part-trickmodes.txt:
2686         Small update.
2687
2688 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2689
2690         * configure.ac:
2691           back to HEAD
2692
2693 === release 0.10.5 ===
2694
2695 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2696
2697         * configure.ac:
2698           releasing 0.10.5, "Fogo"
2699
2700 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2701
2702         patch by: Wim Taymans
2703
2704         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2705         (gst_pad_configure_src), (gst_pad_push):
2706         * gst/gstpipeline.c: (gst_pipeline_init):
2707           Fix internal data flow errors.  Fixes #338711.
2708
2709 2006-04-12  Wim Taymans  <wim@fluendo.com>
2710
2711         * tests/check/gst/gstelement.c: (GST_START_TEST):
2712         Don't leak the factory.
2713
2714 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2715
2716         * configure.ac:
2717         * win32/common/config.h:
2718           prerelease
2719
2720 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2723         (gst_controller_unset_all):
2724           Free allocated GstTimedValues when freeing list nodes.
2725           Should fix leaks 'make check-valgrind' complains about.
2726
2727         * win32/common/libgstcontroller.def:
2728           Add gst_controller_unset_all.
2729
2730 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2731
2732         * docs/libs/gstreamer-libs-sections.txt:
2733         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2734         (gst_controller_unset_all):
2735         * libs/gst/controller/gstcontroller.h:
2736         API: Added new method gst_controller_unset_all()
2737         fixed gst_controller_unset()
2738         * tests/check/libs/controller.c: (GST_START_TEST),
2739         (gst_controller_suite):
2740         Added two testcases for new and fixed method
2741
2742 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2743
2744         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2745           MSG_DONTWAIT is not defined on Cygwin, so work
2746           around that (fixes #317048).
2747           
2748 2006-04-11  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstelementfactory.c: (gst_element_register),
2751         (gst_element_factory_create), (gst_element_factory_make):
2752         Some cleanups.
2753         Fixed a FIXME.
2754         Updated docs (Fixes #131079)
2755
2756         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2757         Small cleanups.
2758
2759         * tests/check/gst/gstelement.c: (GST_START_TEST),
2760         (gst_element_suite):
2761         Added testcase for elementfactory class field.
2762
2763 2006-04-10  Wim Taymans  <wim@fluendo.com>
2764
2765         * gst/gstsegment.c:
2766         Added some more docs.
2767
2768         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2769         (gst_base_sink_reset_qos):
2770         Calculate more accurate rate values.
2771
2772 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2773
2774         * gst/gst_private.h:
2775           add a new #ifdef to use __declspec(dllimport) only for
2776           other modules and not for gstreamer core
2777         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2778           use gst_guint64_to_gdouble for conversion
2779         * win32/common/libgstreamer.def:
2780           add new exported functions
2781         * win32/vs6/gst_inspect.dsp:
2782         * win32/vs6/gst_launch.dsp:
2783         * win32/vs6/libgstbase.dsp:
2784         * win32/vs6/libgstcontroller.dsp:
2785         * win32/vs6/libgstcoreelements.dsp:
2786         * win32/vs6/libgstdataprotocol.dsp:
2787         * win32/vs6/libgstnet.dsp:
2788           update project files
2789
2790 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2791
2792         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2793         * gst/gstclock.c: (gst_clock_class_init):
2794         * gst/gstelement.c: (gst_element_class_init):
2795         * gst/gstindex.c: (gst_index_class_init):
2796         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2797         * gst/gstobject.c: (gst_object_class_init),
2798         (gst_signal_object_class_init):
2799         * gst/gstpad.c: (gst_pad_class_init):
2800         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2801         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2802         * gst/gstregistry.c: (gst_registry_class_init):
2803         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2804         * gst/gsttask.c: (gst_task_class_init):
2805         * gst/gstxml.c: (gst_xml_class_init):
2806         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2807         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2808         (gst_base_src_loop):
2809         * libs/gst/controller/gstcontroller.c:/
2810         (_gst_controller_class_init):
2811         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2812         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2813         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2814         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2815         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2816         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2817
2818 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2819
2820         * gst/gstpad.c: (gst_pad_link):
2821           Must set peer pads before calling the link function, otherwise
2822           a task started from a link function might get a flow-not-linked
2823           result when trying to push because the other thread where the
2824           linking happens hasn't had a chance to set the peers yet. This
2825           might happen for example when a queue gets linked to a downstream
2826           element, as queue starts a streaming task when its source pad
2827           gets linked. Happens in real life when playing back flac/musepack
2828           files in playbin (#332390).
2829           
2830 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2831
2832         * gst/gstindex.h:
2833         * gst/gstxml.h:
2834         * libs/gst/base/gstadapter.h:
2835         * libs/gst/base/gstbasesink.h:
2836         * libs/gst/base/gstbasesrc.h:
2837         * libs/gst/base/gstbasetransform.h:
2838         * libs/gst/base/gstcollectpads.h:
2839         * libs/gst/base/gstpushsrc.h:
2840         Fix broken GObject macros
2841
2842 2006-04-07  Wim Taymans  <wim@fluendo.com>
2843
2844         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2845         Initialize start and stop times, thanks valgrind.
2846
2847 2006-04-07  Wim Taymans  <wim@fluendo.com>
2848
2849         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2850         Be a bit nicer to badly behaving upstream elements that expect
2851         us to deal with non TIME segments and timestamps (such as fakesrc
2852         in the testsuite).
2853
2854 2006-04-07  Wim Taymans  <wim@fluendo.com>
2855
2856         * gst/gstbus.c:
2857         Small documentation clarification about the signal watch.
2858
2859         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2860         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2861         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2862         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2863         (gst_base_sink_get_position_last),
2864         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2865         Convert and store timestamps in stream time and running time, the
2866         raw timestamps are not usefull, also document this better.
2867         Use different window sizes for good and bad QoS observations so
2868         we react to badness a little quicker.
2869         Keep track of the amount of rendered and dropped buffers.
2870         Send QoS timestamps in running time.
2871
2872         * libs/gst/base/gstbasetransform.c:
2873         (gst_base_transform_sink_eventfunc),
2874         (gst_base_transform_handle_buffer):
2875         Compare QoS timestamps against running time.
2876
2877 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2878
2879         * gst/gstpad.c:
2880           Typo fixes in docs.
2881
2882 2006-04-06  Michael Smith  <msmith@fluendo.com>
2883
2884         * gst/gstpad.c: (gst_pad_set_property):
2885           Use g_value_get_object() instead of g_value_dup_gst_object(),
2886           to avoid double-reffing the pad template (which we then sink,
2887           so this worked previously if (and only if) the pad template
2888           was floating.
2889
2890         * gst/gstpadtemplate.c: (gst_pad_template_init),
2891         (gst_pad_template_pad_created):
2892           Never return floating references to pad templates, create
2893           them as initially-sunken.
2894
2895           Document an extra function (and make this stop sinking our
2896           pad template, since that is now guaranteed to do nothing,
2897           since we created it sunken).
2898
2899         * gst/gstghostpad.c:
2900           Fix docs typo.
2901
2902 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * gst/gstinfo.c: (__gst_in_valgrind):
2905           Add some newlines.
2906
2907         * plugins/elements/gsttypefindelement.c:
2908         (gst_type_find_element_chain):
2909           Don't leak buffer caps.
2910
2911 2006-04-06  Michael Smith  <msmith@fluendo.com>
2912
2913         * gst/parse/grammar.y:
2914           Fix a leak in parse-launch for any source-or-sink named element 
2915           references used.
2916
2917         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2918           Unref the pipeline if it exists after we've failed parsing.
2919
2920 2006-04-05  Michael Smith  <msmith@fluendo.com>
2921
2922         * gst/gstpipeline.c: (gst_pipeline_init):
2923           When we create a pipeline bus, initially create it in flushing mode.
2924           Fixes leaks in at least one test, and makes a new pipeline work the
2925           same as one that has gone to READY and then back to NULL.
2926
2927         * gst/gstelement.c:
2928           Typo fix in docs.
2929
2930 2006-04-05  Michael Smith  <msmith@fluendo.com>
2931
2932         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2933           Unref a pad we reffed.
2934         * tests/check/gst/gstutils.c: (GST_START_TEST):
2935           Unref bins
2936
2937 2006-04-05  Michael Smith  <msmith@fluendo.com>
2938
2939         * gst/gstquery.c: (gst_query_set_formats),
2940         (gst_query_set_formatsv):
2941           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2942
2943 2006-04-05  Michael Smith  <msmith@fluendo.com>
2944
2945         * tests/check/generic/sinks.c: (GST_START_TEST):
2946           Fix a variety of memleaks in sinks check, which are only sometimes 
2947           shown by running the tests under valgrind (weird?).
2948
2949 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2950
2951         * docs/version.entities.in:
2952           Fix the substituted entity name after thomas' changes on the
2953           weekend.
2954
2955 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2956
2957         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2958         VALGRIND_PRINTF
2959         
2960 2006-04-05  Andy Wingo  <wingo@pobox.com>
2961
2962         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2963
2964         * libs/gst/base/gstbasetransform.c
2965         (gst_base_transform_sink_eventfunc): When resetting our segment on
2966         FLUSH_STOP, also update the flag saying we haven't seen a
2967         newsegment.
2968
2969 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2970
2971         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2972
2973         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2974         (gst_plugin_check_license):
2975           minor clean-ups: G_DEFINE_TYPE already takes care of the
2976           parent_class stuff, no need to do it twice. Mark array of
2977           license strings as constant. (#337103)
2978           
2979 2006-04-04  Michael Smith  <msmith@fluendo.com>
2980
2981         * tools/gst-inspect.c: (print_element_list):
2982           Free the right plugin list; fixes a memory leak.
2983
2984 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2985
2986         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2987
2988         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2989           Don't error out on empty buffers (#336945).
2990           
2991 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2992
2993         * docs/libs/gstreamer-libs-sections.txt:
2994         * gst/gsttaglist.c:
2995         * libs/gst/base/gstbasesink.c:
2996         * libs/gst/base/gstbasesink.h:
2997         * libs/gst/base/gstbasesrc.c:
2998         * libs/gst/base/gstbasesrc.h:
2999           Documentation updates. Make BaseSink and BaseSrc docs contain the
3000           class structure so that people can actually see the prototypes for
3001           virtual functions they're supposed to be overriding.
3002
3003 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3004
3005         * plugins/elements/gsttypefindelement.c:
3006         (gst_type_find_element_chain):
3007           More debug info; when skipping typefinding, send cached
3008           events in all cases.
3009
3010 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3011
3012         * configure.ac:
3013           use new AS_VERSION and AS_NANO macros
3014         * gst/gst-i18n-lib.h:
3015         * gst/gst.c:
3016         * gst/gsterror.c:
3017         * gst/gstversion.h.in:
3018         * win32/common/config.h:
3019         * win32/common/config.h.in:
3020           update accordingly
3021
3022 2006-03-31  Michael Smith  <msmith@fluendo.com>
3023
3024         * plugins/elements/gsttypefindelement.c:
3025         (gst_type_find_element_chain):
3026           Do not typefind content if the buffers already have caps.
3027           Neccesary for icydemux (#333657), and the right thing to do anyway.
3028
3029 2006-03-30  Wim Taymans  <wim@fluendo.com>
3030
3031         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3032         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3033         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3034         (gst_base_sink_record_qos_observation),
3035         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3036         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3037         (gst_base_sink_change_state):
3038         More QoS measurements as described in the design doc.
3039         Get rid of ringbuffer with observations, running average is
3040         more simple and equally good.
3041         Calculates valid proportion now.
3042         Added beginning of flood measurement.
3043
3044 2006-03-29  Wim Taymans  <wim@fluendo.com>
3045
3046         * docs/design/part-qos.txt:
3047         * gst/gstclock.c:
3048         Small documentation updates and additions.
3049
3050 2006-03-29  Wim Taymans  <wim@fluendo.com>
3051
3052         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3053         (gst_base_src_send_event), (gst_base_src_loop),
3054         (gst_base_src_change_state):
3055         Perform the EOS logic when we reach the segment stop position.
3056         Fix compilation on gcc4.1
3057
3058 2006-03-29  Wim Taymans  <wim@fluendo.com>
3059
3060         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3061
3062         * plugins/elements/gstqueue.c: (gst_queue_init),
3063         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3064         (gst_queue_set_property):
3065         * plugins/elements/gstqueue.h:
3066         In queue, when EOS is received, if minimum threshold > max_size -
3067         current_level, there is chance that queue blocks forever in conditional
3068         item del wait. This is because the queue is not emptied completely due
3069         to minimum threshold.  Here is another approach. Instead of setting
3070         cur_levels to max in EOS, just zero all minimum threshold levels. This
3071         should make sure that queue gives out all data. When going to READY
3072         (stop) state, just reset the original minimum threshold levels.
3073         Fixes #336336.
3074
3075 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3076
3077         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3078         (gst_type_find_element_handle_event),
3079         (gst_type_find_element_send_cached_events),
3080         (gst_type_find_element_change_state):
3081         * plugins/elements/gsttypefindelement.h:
3082           When typefinding is done in push mode, we should cache
3083           events we receive during typefinding instead of just
3084           dropping them (e.g. newsegment, custom events from
3085           dvdreadsrc etc.) and then send them out once we've
3086           determined the type of the stream (and decodebin
3087           has had a chance to plug in a decoder/demuxer).
3088           
3089 2006-03-27  Wim Taymans  <wim@fluendo.com>
3090
3091         * docs/design/part-qos.txt:
3092         First QoS ideas.
3093
3094 2006-03-27  Wim Taymans  <wim@fluendo.com>
3095
3096         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3097
3098         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3099         (gst_base_src_send_event), (gst_base_src_change_state):
3100         Handle element seek correctly when we are streaming.
3101         Fixes #326998.
3102
3103 2006-03-24  Michael Smith  <msmith@fluendo.com>
3104
3105         * docs/faq/gst-uninstalled:
3106           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3107           allow you to correctly run intalled applications built against old 
3108           core, using plugins that require updated core (e.g. running
3109           installed totem against a full uninstalled gstreamer stack)
3110
3111 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3112
3113         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3114         more debug details
3115
3116 2006-03-24  Wim Taymans  <wim@fluendo.com>
3117
3118         * docs/gst/gstreamer-sections.txt:
3119         Rearrange the order of the methods so that related methods
3120         are grouped together in sections.
3121
3122 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3123
3124         * gst/gstelement.c:
3125           Little clarification in the docs
3126
3127 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3128
3129         * docs/README:
3130         formatting fix
3131         * plugins/elements/gstidentity.c:
3132         * plugins/elements/gstqueue.c:
3133         * plugins/elements/gsttee.c:
3134         * plugins/elements/gsttypefindelement.c:
3135         GST_ELEMENT_DETAILS formatting
3136
3137 2006-03-24  Wim Taymans  <wim@fluendo.com>
3138
3139         * libs/gst/base/gstbasesink.h:
3140         Only add fields, not insert or we break ABI.
3141
3142 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3143
3144         * win32/common/libgstbase.def:
3145         * win32/common/libgstreamer.def:
3146           Update, add recently added functions.
3147
3148 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3149
3150         * docs/gst/gstreamer-sections.txt:
3151         * gst/gstutils.c: (gst_pad_query_peer_position),
3152         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3153         * gst/gstutils.h:
3154           API: add some new utility functions:
3155            - gst_pad_query_peer_position()
3156            - gst_pad_query_peer_duration()
3157            - gst_pad_query_peer_convert()
3158           
3159 2006-03-23  Wim Taymans  <wim@fluendo.com>
3160
3161         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3162         (gst_base_sink_init), (gst_base_sink_finalize),
3163         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3164         (gst_base_sink_set_property), (gst_base_sink_get_property),
3165         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3166         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3167         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3168         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3169         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3170         (gst_base_sink_preroll_object), (gst_base_sink_event),
3171         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3172         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3173         (gst_base_sink_query), (gst_base_sink_change_state):
3174         Decouple max-lateness and the fact that QoS messages are generated
3175         with a new property (qos).
3176         added API: GstBaseSink::async_play()
3177         Add vmethod so subclasses can be notified of ASYNC playing
3178         state changes.
3179         Collect timestamp start and stop to report better current
3180         position in EOS/PLAYING/PAUSED/READY/NULL.
3181         Refactor QoS/frame dropping and other measurements.
3182         API: GstBaseSrc::qos
3183         Fixes #326311
3184
3185         * libs/gst/base/gstbasesink.h:
3186         Added Private struct.
3187         API: gst_base_sink_set_qos_enabled()
3188         API: gst_base_sink_is_qos_enabled()
3189
3190 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3191
3192         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3193           If compiling against GLib-2.8 or newer, try to read the
3194           registry file using GMappedFile first before falling back
3195           to fopen() + fread() (#332151).
3196
3197 2006-03-22  Wim Taymans  <wim@fluendo.com>
3198
3199         * gst/gstinfo.c: (gst_debug_set_active),
3200         (gst_debug_category_set_threshold):
3201         Disable debugging unless explicitly activated.
3202         Fixes #335480.
3203
3204 2006-03-22  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/gstelement.c: (gst_element_set_locked_state),
3207         (gst_element_dispose):
3208         Cleanup the error case.
3209
3210         * gst/gstobject.c: (gst_object_dispose):
3211         print a critical when some object was disposed with
3212         a parent, also revive the object since it might
3213         crash the parent.
3214
3215 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3216
3217         * tools/gst-launch.1.in:
3218           Fix another typo.
3219
3220 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3221
3222         * configure.ac:
3223         * tests/check/Makefile.am:
3224           disable some tests when we don't have a registry
3225         * tests/check/gst/gstutils.c: (gst_utils_suite):
3226           don't build the part that needs parsing
3227
3228 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3229
3230         * gst/Makefile.am
3231         * tests/examples/Makefile.am:
3232           fix --disable-parse build
3233
3234 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3235
3236         * tools/gst-feedback.1.in:
3237           Fix typo: s/feeback/feedback/ (#133494).
3238
3239 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3240
3241         * tools/Makefile.am:
3242         * tools/gst-launch.1.in:
3243           Add FILES section and correct entry about GST_REGISTRY_PATH
3244           environment variable (#133495; #133494).
3245
3246 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         * tools/Makefile.am:
3249         * tools/gst-md5sum.1.in:
3250         * tools/gst-md5sum.c:
3251           Remove gst-md5sum and man page (the md5sink element
3252           required was removed ages ago)
3253
3254 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3255
3256         * gst/gststructure.c: (gst_structure_id_set_value):
3257           Make sure that string fields in structures/taglists
3258           contain valid UTF-8 - we don't want to pass rubbish to
3259           applications because of a buggy plugin (cp. #334167).
3260
3261 2006-03-21  Edward Hervey  <edward@fluendo.com>
3262
3263         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3264         (gst_bin_handle_message_func):
3265         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
3266         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
3267         (gst_element_set_bus_func):
3268         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
3269         * gst/gstminiobject.c: (gst_value_set_mini_object),
3270         (gst_value_take_mini_object):
3271         * gst/gstpad.c: (gst_pad_set_pad_template):
3272         * gst/gstpipeline.c: (gst_pipeline_dispose),
3273         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3274         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
3275         (gst_collect_pads_chain):
3276         * libs/gst/net/gstnettimeprovider.c:
3277         (gst_net_time_provider_set_property):
3278         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
3279         It's in fact all issues with gst_*object_replace().
3280
3281 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
3284         
3285         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3286         * pkgconfig/gstreamer-check.pc.in:
3287           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
3288
3289 2006-03-21  Edward Hervey  <edward@fluendo.com>
3290
3291         * gst/gstbuffer.h:
3292         * gst/gstevent.h:
3293         * gst/gstmessage.h:
3294         gst_[buffer|event|message]_ref() macros are replaced by a static
3295         inline functions because gcc-4.1 will about if the return value
3296         isn't used.
3297         * tests/check/gst/gstevent.c: (event_probe):
3298         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
3299
3300 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
3301
3302         * gst/gstutils.h:
3303         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
3304         the type' case. (Closes: #335195 for now). In the future, when we
3305         depend on GLib 2.10, we could also intern the type name using
3306         g_intern_static_string()
3307
3308 2006-03-20  Wim Taymans  <wim@fluendo.com>
3309
3310         * gst/gstbin.c: (gst_bin_handle_message_func),
3311         (bin_query_max_init), (bin_query_position_fold),
3312         (bin_query_position_done), (gst_bin_query):
3313         Position query should also take max of all streams.
3314
3315 2006-03-20  Wim Taymans  <wim@fluendo.com>
3316
3317         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3318         (gst_fake_src_finalize):
3319         Fix leaks in fakesrc.
3320
3321         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3322         Fix leaks in the testcase.
3323
3324 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3325
3326         * gst/gst_private.h:
3327           add win32 specific import decoration(__declspec(dllimport)) 
3328           for all extern GstDebugCategory * variables
3329         * win32/common/libgstbase.def:
3330         * win32/common/libgstcontroller.def:
3331         * win32/common/libgstreamer.def:
3332           Add some exports, remove empty lines
3333         * win32/common/libgstdataprotocol.def:
3334         * win32/common/libgstdataprotocol.dsp:
3335         * win32/common/libgstnet.def:
3336         * win32/common/libgstnet.dsp:
3337           new project files and exportation files added
3338         
3339 2006-03-19  Wim Taymans  <wim@fluendo.com>
3340
3341         * tests/check/libs/basesrc.c: (eos_event_counter):
3342         Use proper return value for probe.
3343
3344 2006-03-17  Wim Taymans  <wim@fluendo.com>
3345
3346         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3347         (gst_pad_push):
3348         Don't leak buffers, caps and pads on negotiation errors.
3349
3350 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3351
3352         * docs/faq/cvs.xml:
3353         * docs/faq/dependencies.xml:
3354         * docs/faq/developing.xml:
3355         * docs/faq/faq.xml:
3356         * docs/faq/general.xml:
3357         * docs/faq/getting.xml:
3358         * docs/faq/legal.xml:
3359         * docs/faq/troubleshooting.xml:
3360         * docs/faq/using.xml:
3361         Faq review and update.
3362
3363 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3364
3365         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3366         (gst_pad_push):
3367         Don't pound the cpu to pieces by checking get_caps when accept_caps
3368         is called with the same caps as the pad already has.
3369         Use GST_DEBUG_OBJECT when outputting caps change information.
3370
3371 2006-03-15  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstclock.c: (gst_clock_class_init):
3374         Fix docs.
3375
3376 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3377
3378         * gst/gstbuffer.h:
3379         Documentation fix.
3380
3381         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3382         (gst_pad_accept_caps), (gst_pad_configure_sink),
3383         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3384         Make the default acceptcaps behaviour be to check the requested 
3385         caps against the gst_pad_get_caps output. 
3386
3387         Ensure that gst_pad_accept_caps is used to check caps when a pad
3388         doesn't have a setcaps function, so that pads automatically refuse 
3389         caps that they don't allow in their pad template. (Fixes #332986)
3390
3391         When a buffer with attached caps is pushed, ensure that the source 
3392         pad receives those caps even if the element didn't call
3393         gst_pad_set_caps first.
3394
3395 2006-03-15  Wim Taymans  <wim@fluendo.com>
3396
3397         * libs/gst/base/gstadapter.c:
3398         Add some docs.
3399
3400 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3401
3402         * win32/common/libgstbase.def:
3403         * win32/common/libgstcontroller.def:
3404         * win32/common/libgstreamer.def:
3405           Add a whole bunch of missing functions (#334434).
3406
3407 2006-03-14  Wim Taymans  <wim@fluendo.com>
3408
3409         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3410         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3411         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3412         Better debug info when we receive a segment event.
3413         Reorganize a bit so we can pass the get_times() results around.
3414         Use the segment format when calculating the running time.
3415         Don't do QoS is sync is disabled or we have no clock or the
3416         element does not want us to sync to the clock.
3417         Don't drop buffers if QoS is disabled for now.
3418
3419 2006-03-14  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3422         Marked the stats property as unimplemented so people don't get
3423         wild ideas.
3424         Add debug message when regression goes wrong.
3425         Added some more docs.
3426
3427 2006-03-14  Wim Taymans  <wim@fluendo.com>
3428
3429         * gst/gstsegment.c: (gst_segment_to_stream_time):
3430         Return correct return type in case of errors.
3431
3432 2006-03-14  Wim Taymans  <wim@fluendo.com>
3433
3434         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3435           Don't segfault on invalid formats.
3436
3437 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3438
3439         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3440           Can't use gst_segment_to_running_time() when the segment
3441           is not in GST_TIME_FORMAT (like with filesink, for example).
3442           Stops flac encoding pipelines from spewing critical warnings
3443           at EOS (#331248).
3444           
3445 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3446
3447         * gst/gstpipeline.c: (gst_pipeline_class_init):
3448           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3449
3450         * plugins/elements/gsttypefindelement.c:
3451         (gst_type_find_element_handle_event):
3452           Don't try to typefind empty streams.
3453
3454 2006-03-14  Wim Taymans  <wim@fluendo.com>
3455
3456         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3457         (gst_base_sink_do_qos):
3458         Separate QoS calculation.
3459         Only drop buffers when lateness is bigger than the 
3460         duration of the buffer.
3461
3462 2006-03-13  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstpipeline.c: (gst_pipeline_set_property),
3465         (gst_pipeline_get_property), (do_pipeline_seek),
3466         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3467         (gst_pipeline_get_delay):
3468         Don't deadlock when reading properties.
3469
3470 2006-03-13  Wim Taymans  <wim@fluendo.com>
3471
3472         * libs/gst/base/gstbasetransform.c:
3473         (gst_base_transform_class_init), (gst_base_transform_init),
3474         (gst_base_transform_sink_event),
3475         (gst_base_transform_sink_eventfunc),
3476         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3477         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3478         (gst_base_transform_set_property),
3479         (gst_base_transform_get_property),
3480         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3481         (gst_base_transform_set_qos_enabled),
3482         (gst_base_transform_is_qos_enabled):
3483         * libs/gst/base/gstbasetransform.h:
3484         Make basetransform virtual method for src events too.
3485         Handle QOS in basetransform.
3486         API: gst_base_transform_update_qos()
3487         API: gst_base_transform_set_qos_enabled()
3488         API: gst_base_transform_is_qos_enabled()
3489
3490 2006-03-13  Wim Taymans  <wim@fluendo.com>
3491
3492         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3493         (gst_base_sink_do_sync):
3494         Small cleanups.
3495         Use QOS debug category.
3496
3497 2006-03-13  Wim Taymans  <wim@fluendo.com>
3498
3499         * plugins/elements/gstqueue.c:
3500         Very small doc update.
3501
3502 2006-03-13  Wim Taymans  <wim@fluendo.com>
3503
3504         * gst/gst_private.h:
3505         * gst/gstinfo.c: (_gst_debug_init):
3506         Added QOS debug category
3507
3508 2006-03-13  Wim Taymans  <wim@fluendo.com>
3509
3510         * docs/gst/gstreamer-sections.txt:
3511         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3512         * gst/gstbin.h:
3513         * gst/gstbus.c: (gst_bus_class_init):
3514         * gst/gstbus.h:
3515         * gst/gstclock.c:
3516         * gst/gstelement.c: (gst_element_set_locked_state):
3517         * gst/gstsegment.c:
3518         Documentation updates.
3519
3520         * gst/gstpipeline.c: (gst_pipeline_get_type),
3521         (gst_pipeline_class_init), (gst_pipeline_init),
3522         (gst_pipeline_dispose), (gst_pipeline_set_property),
3523         (gst_pipeline_get_property), (do_pipeline_seek),
3524         (gst_pipeline_send_event), (gst_pipeline_change_state),
3525         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3526         (gst_pipeline_get_delay):
3527         * gst/gstpipeline.h:
3528         Added methods for setting the delay.
3529         API: gst_pipeline_set_delay()
3530         API: gst_pipeline_get_delay()
3531         Add pipeline debug category
3532         Various cleanups.
3533         Updated docs.
3534         Don't reset stream time when seek failed.
3535
3536 2006-03-13  Wim Taymans  <wim@fluendo.com>
3537
3538         * docs/design/draft-klass.txt:
3539         * docs/design/part-clocks.txt:
3540         * docs/design/part-events.txt:
3541         * docs/design/part-gstbin.txt:
3542         * docs/design/part-gstpipeline.txt:
3543         * docs/design/part-messages.txt:
3544         * docs/design/part-negotiation.txt:
3545         * docs/design/part-overview.txt:
3546         * docs/design/part-preroll.txt:
3547         * docs/design/part-seeking.txt:
3548         * docs/design/part-states.txt:
3549         * docs/design/part-streams.txt:
3550         Documentation updates.
3551
3552 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3553
3554         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3555         us to leak strings...
3556
3557 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3558
3559         * libs/gst/net/gstnettimeprovider.c:
3560           fix docs
3561         * win32/common/config.h:
3562           update
3563
3564 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3565
3566         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3567
3568         * configure.ac:
3569           Don't check for libgnomeui (leftover from old examples
3570           that aren't built or disted any longer) (#334303).
3571           
3572 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3573
3574         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3575         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3576           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3577           there's no space left on the device.
3578
3579 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3580
3581         * gst/gstclock.h:
3582           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3583           to cast the input to GstClockTime before comparing with
3584           another GstClockTime value.
3585
3586 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * configure.ac:
3589           back to trunk
3590
3591 === release 0.10.4 ===
3592
3593 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3594
3595         * configure.ac:
3596           releasing 0.10.4, "Light"
3597
3598 2006-03-10  Michael Smith  <msmith@fluendo.com>
3599
3600         * libs/gst/dataprotocol/dataprotocol.c:
3601           Fix docs for dataprocotol to not get the return types completely
3602           wrong for a few functions.
3603
3604 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3605
3606         * docs/gst/gstreamer-sections.txt:
3607         * gst/gstpipeline.c: (gst_pipeline_class_init),
3608         (gst_pipeline_init), (gst_pipeline_set_property),
3609         (gst_pipeline_get_property), (gst_pipeline_change_state),
3610         (gst_pipeline_set_auto_flush_bus),
3611         (gst_pipeline_get_auto_flush_bus):
3612         * gst/gstpipeline.h:
3613           Add new API: gst_pipeline_set_auto_flush_bus() and
3614           gst_pipeline_get_auto_flush_bus() to disable automatic
3615           flushing of the pipeline's GstBus when going from READY
3616           to NULL state (#332045).
3617
3618 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * docs/gst/gstreamer-sections.txt:
3621         * gst/gsturi.c: (gst_uri_has_protocol):
3622         * gst/gsturi.h:
3623            Add new API: gst_uri_has_protocol() (#333779).
3624
3625 2006-03-09  Wim Taymans  <wim@fluendo.com>
3626
3627         * gst/gstclock.c: (gst_clock_entry_new),
3628         (gst_clock_id_compare_func), (gst_clock_id_wait),
3629         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3630         (gst_clock_init), (gst_clock_get_internal_time),
3631         (gst_clock_set_master), (do_linear_regression),
3632         (gst_clock_add_observation), (gst_clock_set_property):
3633         * gst/gstclock.h:
3634         Review docs.
3635         Small cleanups.
3636         Fix a possible segfault when the window-size is made smaller.
3637         Calculate jitter before performing the clock wait. Ideally
3638         the clock implementation should calculate jitter but we need
3639         API breakage for that.
3640
3641         * gst/gstsystemclock.c: (gst_system_clock_init):
3642         Docs review.
3643         
3644         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3645         Remove leftover else
3646
3647         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3648         (gst_systemclock_suite):
3649         Added check to test GST_CLOCK_DIFF.
3650
3651 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3652
3653         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3654         (gst_type_find_helper_get_range):
3655           If we are provided with the size, we should implement
3656           GstTypeFind::get_length, so that typefind functions who
3657           want to can actually peek at the middle of a file.
3658
3659 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3660
3661         * docs/manual/advanced-dataaccess.xml:
3662           Add some very very basic error checking.
3663
3664         * docs/pwg/appendix-checklist.xml:
3665           Some updates to the list of things to check when writing an element.
3666
3667 2006-03-08  Wim Taymans  <wim@fluendo.com>
3668
3669         * docs/design/part-element-transform.txt:
3670         Added some docs about the design of tranform elements.
3671
3672         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3673         (gst_base_src_loop), (gst_base_src_change_state):
3674         Mark buffers with the DISCONT flag.
3675
3676 2006-03-08  Michael Smith  <msmith@fluendo.com>
3677
3678         * gst/gstregistry.h:
3679         * gst/gstregistryxml.c: (gst_registry_save),
3680         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3681         (gst_registry_xml_save_pad_template),
3682         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3683         (gst_registry_xml_write_cache):
3684           Rewrite registry-saving to avoid race conditions and check for
3685           failed writes.
3686
3687 2006-03-08  Wim Taymans  <wim@fluendo.com>
3688
3689         * libs/gst/base/gstbasetransform.c:
3690         (gst_base_transform_transform_caps),
3691         (gst_base_transform_transform_size),
3692         (gst_base_transform_prepare_output_buffer),
3693         (gst_base_transform_get_unit_size),
3694         (gst_base_transform_buffer_alloc),
3695         (gst_base_transform_handle_buffer),
3696         (gst_base_transform_change_state):
3697         Cleanups, separate normal flow from errors, add sensible
3698         DEBUG lines.
3699         Don't try to renegotiate when allocating an output buffer.
3700         Also copy DISCONT buffer flag when copying a buffer.
3701         Reset the transform after we finish streaming, not during.
3702
3703 2006-03-08  Wim Taymans  <wim@fluendo.com>
3704
3705         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3706         Use last buffer timestamp in qos message.
3707
3708 2006-03-07  Wim Taymans  <wim@fluendo.com>
3709
3710         Patch by: Christophe Fergeau
3711
3712         * docs/pwg/advanced-tagging.xml:
3713         * docs/pwg/building-pads.xml:
3714           fixes #333416
3715
3716 2006-03-07  Wim Taymans  <wim@fluendo.com>
3717
3718         * docs/libs/gstreamer-libs-sections.txt:
3719         Added basesink new methods.
3720
3721         * gst/gstevent.c:
3722         * gst/gstevent.h:
3723         Docs updates. Flesh out the QoS docs.
3724
3725         * libs/gst/base/gstadapter.c:
3726         Small doc clarification about ownership and flushing.
3727
3728         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3729         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3730         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3731         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3732         * libs/gst/base/gstbasesink.h:
3733         API additions: 
3734         Added new methods to allow subclass to control max-lateness 
3735         and sync.
3736         Generate very basic QoS events based on last sync observation.
3737         Updated docs, fix typo, added some QoS blurb.
3738
3739         * libs/gst/base/gstbasesrc.c:
3740         Remove obsolete _get_state() calls from docs.
3741
3742 2006-03-07  Wim Taymans  <wim@fluendo.com>
3743
3744         * docs/libs/gstreamer-libs-sections.txt:
3745         * libs/gst/base/gstbasetransform.h:
3746         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3747         Fix docs for GstBaseSrc.
3748
3749 2006-03-07  Wim Taymans  <wim@fluendo.com>
3750
3751         * docs/gst/gstreamer-sections.txt:
3752         * gst/gstbuffer.h:
3753         * gst/gstvalue.c:
3754         * libs/gst/base/gstbasetransform.h:
3755         Small documentation fixes.
3756
3757 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         * gst/gstvalue.c:
3760           Document thread-unsafety of gst_value_register_foo_func()
3761           when used at the same time as gst_value_foo() (#322628).
3762
3763 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3764
3765         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3766         (gst_push_src_check_get_range):
3767           Push sources don't support pull mode by default.
3768
3769 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3770
3771         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3772         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3773         (gst_base_src_default_check_get_range):
3774         * libs/gst/base/gstbasesrc.h:
3775           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3776           provide default implementation, and rename
3777           gst_base_src_check_get_range() to
3778           gst_base_src_pad_check_get_range() for clarity.
3779
3780 2006-03-06  Wim Taymans  <wim@fluendo.com>
3781
3782         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3783         Make property overridable.
3784
3785 2006-03-06  Wim Taymans  <wim@fluendo.com>
3786
3787         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3788         (gst_base_sink_init), (gst_base_sink_set_property),
3789         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3790         * libs/gst/base/gstbasesink.h:
3791         API addition: Make max-lateness a property.
3792
3793 2006-03-06  Wim Taymans  <wim@fluendo.com>
3794
3795         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3796         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3797         Don't ever draw a frame that is >10ms late.
3798
3799 2006-03-06  Michael Smith  <msmith@fluendo.com>
3800
3801         * gst/gstmessage.c: (_gst_message_copy):
3802           When copying a message, set the parent_refcount of the enclosed
3803           structure to point at the copy, not the original message.
3804
3805 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3806
3807         Patch by: Christophe Fergeau
3808
3809         * gst/gstutils.h:
3810           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3811           usable in c++ code (#333417)
3812
3813 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3814
3815         * gst/gstclock.h:
3816           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3817
3818 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3819
3820         * libs/gst/base/gstbasetransform.c:
3821         (gst_base_transform_transform_caps):
3822           Make sure caps are writable before passing them to
3823           gst_caps_append().
3824
3825 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3826
3827         * gst/gsterror.h:
3828           Fix some minor docs errors.
3829
3830 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832           Patch by: Ross Burton <ross at burtonini dot com>
3833
3834         * gst/gsterror.c: (_gst_resource_errors_init):
3835         * gst/gsterror.h:
3836           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3837
3838 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3839
3840         * gst/gst.c:
3841         Add a check and output a g_warning when GStreamer is built
3842         against GLib 2.6 but running against 2.8 or higher, and vice 
3843         versa. (Closes: #323542)
3844
3845 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3846
3847         * gst/parse/parse.l:
3848           Commit patch for parse_launch syntax from #331255. Removes 
3849           support for quoted strings and mimetypes when writing filtered 
3850           caps. See the bug report for more details - I'm pretty sure this
3851           obscure feature is not in use by _anyone_ anywhere.
3852
3853           With this simple change, the size of the gstreamer.so here 
3854           drops from 2193KB to 1565KB.
3855
3856 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3857
3858         * plugins/elements/gsttypefindelement.h:
3859         * plugins/elements/gsttypefindelement.c:
3860         (gst_type_find_element_src_event), (start_typefinding),
3861         (stop_typefinding), (gst_type_find_element_handle_event),
3862         (gst_type_find_element_chain),
3863         (gst_type_find_element_chain_do_typefinding):
3864           Use gst_type_find_helper_for_buffer() for chain-based
3865           typefinding.
3866
3867 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * plugins/elements/gsttypefindelement.c:
3870         (gst_type_find_element_class_init),
3871         (gst_type_find_element_set_property),
3872         (gst_type_find_element_get_property):
3873           Deprecate "maximum" property (not only was it only taken into
3874           account for typefinding in push-mode anyway, it also was never
3875           actually possible to set it in the first place because the
3876           property was registered with the numeric property ID for the
3877           "minimum" property). Register "maximum" property correctly,
3878           for the sake of future copy'n'pasters. Remove some cruft
3879           from property get/set functions.
3880
3881 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3882
3883         * plugins/elements/gsttypefindelement.c:
3884         (gst_type_find_element_activate):
3885           Use gst_type_find_helper_get_range() here, so we
3886           can honour the "minimum" property and also emit
3887           the signal with the correct probability of the found caps.
3888
3889 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         * docs/libs/gstreamer-libs-sections.txt:
3892         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3893         (helper_find_suggest), (gst_type_find_helper_get_range),
3894         (gst_type_find_helper):
3895         * libs/gst/base/gsttypefindhelper.h:
3896           New API: gst_type_find_helper_get_range() (#333042).
3897
3898 2006-03-02  Michael Smith  <msmith@fluendo.com>
3899
3900         * gst/gstregistryxml.c: (load_feature):
3901           Asserting on a failure to read part of the registry is Not Cool.
3902           Just log a warning and return NULL (which is already handled)
3903
3904 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3905
3906         * win32/common/libgstbase.def:
3907           added export of gst_type_find_helper_for_buffer
3908         * win32/common/libgstbase.def:
3909           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3910           gst_ghost_pad_get_target
3911
3912 2006-02-28  Wim Taymans  <wim@fluendo.com>
3913
3914         * docs/design/draft-klass.txt:
3915         We use Filter now.
3916         Added Connector to mark elements that are only used to
3917         allow pipeline connections.
3918         Moved Debug to extra feature since most of them are 
3919         functionally something else.
3920
3921 2006-02-28  Wim Taymans  <wim@fluendo.com>
3922
3923         * docs/design/draft-klass.txt:
3924         Some updates and clarifications.
3925
3926 2006-02-28  Wim Taymans  <wim@fluendo.com>
3927
3928         * docs/design/draft-klass.txt:
3929         Proposal for klass field values.
3930
3931         * docs/design/part-streams.txt:
3932         Start of a doc describing stream anatomy.
3933
3934 2006-02-28  Wim Taymans  <wim@fluendo.com>
3935
3936         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3937         Help the compiler a bit with type registration.
3938         Use existing forward cod path instead of duplicating it when 
3939         handling a message.
3940         
3941         * gst/gstbus.c: (gst_bus_get_type):
3942         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3943         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3944         * gst/gstclock.c: (gst_clock_get_type):
3945         * gst/gstelement.c: (gst_element_get_type),
3946         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3947         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3948         * gst/gstminiobject.c: (gst_mini_object_get_type):
3949         * gst/gstpad.c: (gst_pad_get_type):
3950         * gst/gstsegment.c: (gst_segment_get_type):
3951         * gst/gststructure.c: (gst_structure_get_type):
3952         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3953         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3954         * gst/gstvalue.c:
3955         Help compiler with type registration.
3956
3957         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3958         Small doc update.
3959
3960 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3961
3962         * plugins/elements/gsttypefindelement.c:
3963         (gst_type_find_element_handle_event):
3964           When we get an EOS event and have not found a type yet
3965           (most likely because we had not yet accumulated
3966           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3967           type given the data we have so far. Fixes typefinding
3968           for very short streams again, most notably quicktime
3969           redirections as used on Apple's trailer site (#331701).
3970
3971 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3974         (gst_type_find_helper):
3975           Try typefinding factories with the highest rank first.
3976
3977 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3978
3979         * docs/libs/gstreamer-libs-docs.sgml:
3980         * docs/libs/gstreamer-libs-sections.txt:
3981         * libs/gst/base/gsttypefindhelper.c:
3982           Add section for typefind helper and add documentation
3983           for the old and the new function.
3984
3985 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3988         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3989         (gst_type_find_helper_for_buffer):
3990         * libs/gst/base/gsttypefindhelper.h:
3991           New API: gst_type_find_helper_for_buffer() (#332723).
3992           
3993 2006-02-27  Michael Smith  <msmith@fluendo.com>
3994
3995         Patch by: Loïc Minier
3996
3997         * configure.ac:
3998         * docs/Makefile.am:
3999         * docs/slides/Makefile.am:
4000           prevent CVS directories getting disted.
4001
4002 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4003
4004         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4005           Use the REFCOUNTING category for caps refcounting.
4006           
4007 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4008
4009         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4010           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4011
4012 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4013
4014         * plugins/elements/gsttypefindelement.c:
4015         (gst_type_find_element_activate):
4016           Use gst_pad_check_pull_range() before _activate_pull()
4017           to avoid unnecessary open/close (see #331690).
4018
4019 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4020
4021         * gst/gstutils.c:
4022           Docs enhancement: make it crystal clear what the
4023           gst_pad_add_*_probe() callbacks should look like.
4024
4025 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4026
4027         * libs/gst/base/gstbasesrc.c:
4028           Document how applications can stop recording from
4029           live sources (see #330996).
4030
4031 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4032
4033         * tests/check/Makefile.am:
4034         * tests/check/libs/basesrc.c: (eos_event_counter),
4035         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4036         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4037         (gst_basesrc_suite), (main):
4038           ... and add some tests for the base source EOS stuff.
4039
4040 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4043           Test case originally showed the problem fixed below,
4044           but was then amended. Add checks back at the place
4045           where they used to be.
4046
4047 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4048
4049         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4050         (gst_base_src_init), (gst_base_src_loop),
4051         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4052         (gst_base_src_change_state):
4053         * libs/gst/base/gstbasesrc.h:
4054           Don't unconditionally send EOS when going from PAUSED to
4055           READY state, esp. make sure we don't send two EOS events
4056           in some cases (e.g. one when reaching EOS and one when
4057           going from PAUSED to READY). Also, we don't want to send
4058           EOS events when operating in pull mode. However, we do
4059           want to send an EOS event when shutting down a live
4060           source explicitly, for example (fixes #330996).
4061           
4062 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4063
4064         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4065           Update src->read_position after a seek when not using mmap.
4066           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4067
4068 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4069
4070         * gst/Makefile.am:
4071         * gst/gstparse.h:
4072         * gst/gstutils.c:
4073         * gst/gstutils.h:
4074         Make things work with --disable-parse as they do with 
4075         --disable-load-save - the symbols involved disappear, but the
4076         header is still installed and GST_DISABLE_PARSE is included via
4077         gstconfig.h
4078
4079 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4080
4081         * libs/gst/base/gstbasetransform.c:
4082         (gst_base_transform_change_state): Fix a stupid bug. I was 
4083         sure I compiled that.
4084
4085 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4086
4087         * gst/gstpad.c: (gst_pad_set_blocked_async):
4088         * gst/gstutils.c: (gst_pad_add_data_probe),
4089         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4090         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4091         (gst_pad_remove_buffer_probe): Make those function act on the
4092         ghostpad target when it's a ghostpad. (Closes #331727)
4093
4094 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4095
4096         * libs/gst/base/gstbasetransform.c:
4097         (gst_base_transform_change_state): Make basetransform reusable.
4098         (Closes #331898)
4099
4100 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4101
4102         * docs/random/release:
4103         Move the current documentation of how to do a release to the top
4104         of the file.
4105
4106         * gst/gstbin.c: (gst_bin_class_init),
4107         (gst_bin_handle_message_func):
4108         Allow multiple state-recalculation threads. (Closes #328873)
4109
4110 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4111
4112         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4113         * gst/gstpad.c: (gst_pad_set_event_function),
4114         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4115         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4116         2 strings. You can't use the STR_NULL macro on that.
4117
4118 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4119
4120         * gst/gstpad.c: (gst_pad_set_event_function),
4121         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4122         (gst_pad_set_getcaps_function)
4123         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4124           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4125           So now, we can use --gst-debug-level=5 on Windows
4126         * win32/common/libgstcontroller.def:
4127           Added export of gst_controller_init
4128         * win32/vs6/libgstcontroller.dsp:
4129           Fixed Release post build configuration
4130
4131 2006-02-17  Wim Taymans  <wim@fluendo.com>
4132
4133         * tests/check/gst/gstquery.c: (GST_START_TEST):
4134         Added another check.
4135
4136 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4137
4138         * plugins/elements/gsttypefindelement.c: (find_peek):
4139           We can do peeks at non-zero offsets, as long as they
4140           fall within the buffer we have.
4141
4142 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4143
4144         * tests/check/Makefile.am:
4145         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4146         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4147         (parse_suite), (main):
4148           Add testsuite for parse launch syntax
4149
4150 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4151
4152         * plugins/elements/gsttypefindelement.c:
4153         (gst_type_find_element_chain):
4154           When typefinding is unsuccessful in the chain function, don't
4155           error out immediately. Only error out with NO_CAPS_FOUND if
4156           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4157           otherwise simply wait for more data so we can try typefinding
4158           again with more data later. Also, don't attempt to typefind
4159           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4160           this should improve typefinding from network sources where the
4161           size of the first buffer can be somewhat random.
4162
4163 2006-02-14  Wim Taymans  <wim@fluendo.com>
4164
4165         * docs/gst/gstreamer-sections.txt:
4166         * gst/gstpadtemplate.c:
4167         * gst/gstpadtemplate.h:
4168         Fix padtemplate docs, fixes #328805.
4169
4170 2006-02-14  Wim Taymans  <wim@fluendo.com>
4171
4172         * tools/gst-launch.c: (main):
4173         NO_PREROLL is not an ERROR so don't send confusing messages
4174         to the user.
4175
4176 2006-02-14  Wim Taymans  <wim@fluendo.com>
4177
4178         Patch by: Torsten Schoenfeld
4179
4180         * gst/gstregistry.c: (gst_registry_get_default),
4181         (_gst_registry_cleanup):
4182         Protect default registry with lock and ref/sink it.
4183         Fixes #324818
4184
4185 2006-02-14  Wim Taymans  <wim@fluendo.com>
4186
4187         * gst/gstbuffer.c:
4188         * gst/gstquery.c: (gst_query_list_add_format),
4189         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4190         (gst_query_parse_formats_nth):
4191         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4192         Docs fixes.
4193
4194 2006-02-14  Wim Taymans  <wim@fluendo.com>
4195
4196         * docs/gst/gstreamer-sections.txt:
4197         Reworked query docs.
4198
4199         * gst/gstquery.c: (gst_query_new_formats),
4200         (gst_query_list_add_format), (gst_query_set_formats),
4201         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4202         (gst_query_parse_formats_nth):
4203         * gst/gstquery.h:
4204         Flesh out formats query, added some new methods.
4205         Fix part of #324398.
4206
4207         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4208         Added query creation tests.
4209
4210 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4211
4212         * gst/gstpad.c: (fixate_value):
4213         Add a default fixation for fraction lists.
4214
4215 2006-02-13  Wim Taymans  <wim@fluendo.com>
4216
4217         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4218         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4219         (gst_task_join):
4220         * gst/gsttask.h:
4221         Detect and warn for obvious deadlocks. fixes #320340
4222         Fix error case where lock was not released.
4223
4224         * tests/check/Makefile.am:
4225         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4226         (task_func), (gst_element_suite), (main):
4227         Add task check.
4228
4229 2006-02-13  Wim Taymans  <wim@fluendo.com>
4230
4231         * docs/gst/gstreamer-sections.txt:
4232         * gst/gstbus.c:
4233         Add new functions to docs.
4234
4235 2006-02-13  Wim Taymans  <wim@fluendo.com>
4236
4237         * docs/design/part-TODO.txt:
4238         Updated TODO list, basesrc supports seeking to non-bytes
4239         formats.
4240
4241         * docs/design/part-element-sink.txt:
4242         Update docs.
4243
4244         * gst/gstbin.c: (bin_replace_message),
4245         (gst_bin_handle_message_func):
4246         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4247         * gst/gstevent.c: (gst_event_finalize):
4248         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4249         (gst_pad_send_event):
4250         Use shiny new _TYPE_NAME macros.
4251
4252         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4253         Move debug statement up.
4254
4255         * gst/gstelement.c: (gst_element_set_locked_state):
4256         Add some debugging.
4257
4258 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4259
4260         * docs/gst/gstreamer-sections.txt:
4261         * gst/gstmessage.h:
4262         * gst/gstquery.h:
4263           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
4264           macros (#330906). Also, document the already existing
4265           GST_QUERY_TYPE macro.
4266
4267 2006-02-13  Wim Taymans  <wim@fluendo.com>
4268
4269         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
4270         (event_probe), (GST_START_TEST):
4271         Only events up to the pipeline EOS are counted, there are
4272         some more when going to NULL currently which we don't care
4273         about for now.
4274
4275 2006-02-13  Wim Taymans  <wim@fluendo.com>
4276
4277         * gst/gstpad.c: (gst_pad_send_event):
4278         Correctly check flushing and emit probes. fixes #330125
4279
4280 2006-02-10  Andy Wingo  <wingo@pobox.com>
4281
4282         * gst/gstbus.c (gst_bus_class_init): Declare our private data
4283         structure.
4284         (gst_bus_init): Cache the location of the private data in the
4285         instance structure.
4286         (gst_bus_enable_sync_message_emission) 
4287         (gst_bus_disable_sync_message_emission): Implement new public
4288         functions.
4289         (gst_bus_post): Emit the sync-message signal if the user asked for
4290         it. Fixes #330684.
4291
4292         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
4293         location of the bus-private structure.
4294         (gst_bus_enable_sync_message_emission)
4295         (gst_bus_disable_sync_message_emission): API addition
4296
4297 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
4298
4299         Patch by: Vincent Torri
4300
4301         * docs/pwg/building-boiler.xml:
4302         PWG patch from #326800
4303
4304 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * configure.ac:
4307         * docs/Makefile.am:
4308         * docs/design/Makefile.am:
4309           Dist design docs.
4310
4311 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4312
4313         * configure.ac:
4314           back to CVS
4315
4316 === release 0.10.3 ===
4317
4318 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4319
4320         * configure.ac:
4321           releasing 0.10.3, "Like a virgin"
4322
4323 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4324
4325         * configure.ac:
4326           2nd prerelease of 0.10.3
4327           Bump libtool versioning.
4328
4329 2006-02-07  Andy Wingo  <wingo@pobox.com>
4330
4331         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4332         update last_stop if we're in TIME format and the timestamp is
4333         valid.
4334
4335         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4336         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4337         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4338         If we get a new newsegment with a different format, adapt
4339         accordingly.
4340
4341         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4342         of 0. Not a problem, really.
4343
4344         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4345         warn if sync=true.
4346
4347 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4348
4349         * configure.ac:
4350           Prelease of 0.10.3
4351
4352 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4353
4354         * win32/vs7:
4355           project files updated to the default vs7 configuration
4356         * win32/common/libgstbase.def:
4357         * win32/common/libgstreamer.def:
4358           added new symbols,
4359           removed empty lines,
4360           sorted all exported symbols alphabetically
4361         * win32/common/dirent.c:
4362         * win32/common/dirent.h:
4363         * win32/common/gchar.h:
4364           use windows line end.
4365           
4366 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4367
4368         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4369           Send EOS event when stopping.
4370
4371 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4372
4373         * docs/README:
4374           Tell folks what to do if the plugin-foobar.xml file
4375           hasn't been generated for a newly-added plugin.
4376
4377 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4378
4379         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4380         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4381         (gst_collect_pads_start), (gst_collect_pads_stop),
4382         (gst_collect_pads_event): Collectpads now holds a reference
4383         to the GstPad that was added. Indeed we don't want to look
4384         at pads that might just go away with no warning...
4385
4386 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4387
4388         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4389         (gst_collect_pads_start), (gst_collect_pads_stop),
4390         (gst_collect_pads_event), (gst_collect_pads_chain):
4391         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4392         Mark Nauwelaerts's patch on bug #328491.
4393
4394 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4395
4396         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4397         (gst_utils_suite):
4398           Add some simple tests for gst_parse_bin_from_description() and
4399           gst_bin_find_unconnected_pad() (#329069).
4400
4401 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4402
4403         * tools/gst-launch.c: (event_loop), (main):
4404           Catch errors during preroll (#320084).
4405
4406 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * plugins/elements/gsttypefindelement.c:
4409         (gst_type_find_element_activate):
4410           Post TYPE_NOT_FOUND error message when typefinding
4411           is unsuccessful in the activate function as well.
4412
4413 2006-02-02  Wim Taymans  <wim@fluendo.com>
4414
4415         * docs/design/part-element-sink.txt:
4416         Updated doc.
4417
4418 2006-02-02  Wim Taymans  <wim@fluendo.com>
4419
4420         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4421         (gst_base_sink_render_object),
4422         (gst_base_sink_queue_object_unlocked):
4423         Only keep track of prerollable items when we are 
4424         prerolling.
4425         Before rendering after preroll, always check if we
4426         have queued items.
4427         Added some more debugging.
4428
4429 2006-02-02  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstelement.c: (gst_element_continue_state),
4432         (gst_element_set_state_func), (gst_element_change_state):
4433         Fixed #326576, been running this for quite some time with
4434         no regressions at all.
4435
4436 2006-02-02  Wim Taymans  <wim@fluendo.com>
4437
4438         * common/gst.supp:
4439         Added more suppressions
4440
4441 2006-02-02  Wim Taymans  <wim@fluendo.com>
4442
4443         * docs/design/part-element-sink.txt:
4444         Updated document.
4445
4446         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4447         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4448         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4449         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4450         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4451         (gst_base_sink_preroll_object),
4452         (gst_base_sink_queue_object_unlocked),
4453         (gst_base_sink_queue_object), (gst_base_sink_event),
4454         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4455         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4456         (gst_base_sink_get_position), (gst_base_sink_change_state):
4457         * libs/gst/base/gstbasesink.h:
4458         Totally refactored matching the design doc.
4459         Use two segments, one to clip incomming buffers and another to
4460         perform sync.
4461         Handle queueing correctly, bypass the queue when playing.
4462         Make EOS cancelable.
4463         Handle errors correctly when operating in pull based mode.
4464
4465         * tests/check/elements/fakesink.c: (GST_START_TEST),
4466         (fakesink_suite):
4467         Added new check for sinks.
4468
4469 2006-02-02  Wim Taymans  <wim@fluendo.com>
4470
4471         * gst/gstsegment.c: (gst_segment_clip):
4472         No reason to refuse to clip when start == -1
4473
4474 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4475
4476         * docs/README:
4477         * docs/manual/intro-basics.xml:
4478         * docs/manual/intro-preface.xml:
4479         * docs/manual/manual.xml:
4480         * docs/pwg/advanced-dparams.xml:
4481         * docs/pwg/intro-basics.xml:
4482         * docs/pwg/intro-preface.xml:
4483         * docs/pwg/pwg.xml:
4484           describe dparams (controller) for plugins
4485           unify docs a little more
4486
4487 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4488
4489         * docs/gst/gstreamer-sections.txt:
4490         * gst/gstutils.c: (element_find_unconnected_pad),
4491         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4492         * gst/gstutils.h:
4493           Add new API: gst_parse_bin_from_description() and
4494           gst_bin_find_unconnected_pad() (#329069).
4495
4496 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4497
4498         * docs/manual/README:
4499           uncover a nasty detail of the docs build
4500
4501 2006-01-31  Wim Taymans  <wim@fluendo.com>
4502
4503         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4504         Don't cache duration messages if we're not going to use or
4505         free them.
4506
4507 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4508
4509         * docs/manual/advanced-dparams.xml:
4510         * docs/pwg/advanced-dparams.xml:
4511           more dparam docs
4512         * gst/gstindex.c:
4513           fix docs
4514         * libs/gst/controller/lib.c: (gst_controller_init):
4515           init just once
4516
4517 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         * gst/gstelement.c: (gst_element_message_full):
4520           also show file/line/func if no additional debug was given
4521
4522 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4523         
4524         * win32/vs7/grammar.vcproj:
4525           activate copy of autogenerated files for Release mode
4526
4527 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4528         
4529         * win32/common/libgstreamer.def:
4530           export gst_value_compare
4531
4532 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4533
4534         * plugins/elements/Makefile.am:
4535         * plugins/elements/gstelements.c:
4536         * plugins/elements/gstfdsink.c: (_do_init),
4537         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4538         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4539         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4540         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4541         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4542         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4543         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4544         * plugins/elements/gstfdsink.h:
4545         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4546
4547 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4548
4549         * docs/manual/advanced-dparams.xml:
4550           describe controller
4551         * docs/manual/advanced-position.xml:
4552         * docs/manual/basics-init.xml:
4553         * docs/manual/manual.xml:
4554         * docs/manual/titlepage.xml:
4555         * docs/pwg/pwg.xml:
4556         * docs/pwg/titlepage.xml:
4557           cleanup xml (more to come)
4558         * libs/gst/controller/gstcontroller.c:
4559           fix typo
4560
4561 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4562         
4563         * win32/vs6/grammar.dsp:
4564           add autogen of gstmarshal.c,h for Release mode
4565                 
4566 2006-01-30  Wim Taymans  <wim@fluendo.com>
4567
4568         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4569         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4570         (gst_base_sink_handle_object), (gst_base_sink_event),
4571         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4572         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4573         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4574         (gst_base_sink_deactivate), (gst_base_sink_activate),
4575         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4576         (gst_base_sink_query), (gst_base_sink_change_state):
4577         Basesink cleanups, remove some old code.
4578         Handle the case where a subclass can preroll in the render
4579         method (mostly audiosinks).
4580         Handle more events.
4581         Remove some locks around variables that are now protected
4582         with the PREROLL_LOCK (clock_id, flushing, ..).
4583         Optimize position query some more, do correct locking.
4584         Remove old code to push queue in state change, this is not
4585         needed anymore since preroll blocks on all prerollable items 
4586         now.
4587         Almost implemented as described in design doc.
4588
4589 2006-01-30  Wim Taymans  <wim@fluendo.com>
4590
4591         * tests/check/gst/gstbin.c: (GST_START_TEST):
4592         Wait for refcount to settle down before checking.
4593
4594 2006-01-30  Wim Taymans  <wim@fluendo.com>
4595
4596         * docs/design/part-element-sink.txt:
4597         Pseudo code overview of desired sink behaviour regarding
4598         preroll.
4599
4600 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4601         * win32/vs6/grammar.dsp:
4602           fix some bugs in Release mode for autogenerated files
4603                 
4604 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4605         * win32/common/libgstbase.def:
4606         * win32/common/libgstreamer.def:
4607           export some new symbols: gst_base_src_set_format,
4608           gst_iterator_next, gst_structure_set_valist
4609
4610 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4611
4612         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4613         Set pad functions unconditionally. Fixes #329105.
4614
4615 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4616         * win32/vs8:
4617           add vs8 project files created by Sergey Scobich
4618
4619 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4620
4621         * gst/gstutils.c: (gst_element_unlink_pads):
4622         Don't leak pad references.
4623
4624         * tests/check/elements/fakesink.c: (GST_START_TEST):
4625         * tests/check/generic/sinks.c: (GST_START_TEST):
4626         * tests/check/generic/states.c: (GST_START_TEST):
4627         * tests/check/gst/gstbin.c: (GST_START_TEST):
4628         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4629         * tests/check/gst/gstelement.c: (GST_START_TEST):
4630         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4631         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4632         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4633         Fix a bunch of leaks. Make generic/sinks.c
4634         use a bit less cpu by slowing the buffer rate
4635         between fakesrc and fakesink.
4636         
4637 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4638         * gst/gstcaps.c:
4639         * gst/gstelement.c: (gst_element_send_event):
4640         * gst/gstevent.c:
4641         * gst/gstinfo.c:
4642         * gst/gstiterator.c:
4643         * gst/gstiterator.h:
4644         * gst/gstpad.c: (gst_pad_send_event):
4645         * gst/gststructure.c:
4646         * gst/gsturi.c:
4647         * gst/gstutils.c:
4648         * gst/gstvalue.c:
4649         * libs/gst/base/gstadapter.c:
4650           doc fixes, to link to function, just write gst_cool_function(), don't
4651           prefix with '#'
4652
4653 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4654
4655         * plugins/elements/gsttee.c: (gst_tee_do_push),
4656         (gst_tee_handle_buffer):
4657         Always prefer an actual return value from a src
4658         pad in place of NOT_LINKED. This means we return
4659         WRONG_STATE when all src pads are WRONG_STATE
4660         instead of NOT_LINKED.
4661
4662         Lock when replacing the last message to prevent
4663         racing with the get_property method.
4664
4665         Add debug output
4666
4667 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4668
4669         * tests/check/Makefile.am:
4670         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4671         (main):
4672         Add a very simple check that should have caught the memleak I fixed
4673         last night (if not for the slice allocator hiding it)
4674
4675 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4676
4677         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4678         (gst_bin_remove_func), (gst_bin_handle_message_func),
4679         (bin_query_duration_fold), (bin_query_generic_fold):
4680         Clean up references to the clock provider when disposed or when
4681         handling a clock-lost message from it.
4682
4683         Unref sinks when performing a query via gst_iterator_fold, as the
4684         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4685
4686         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4687         (gst_clock_set_master):
4688         Drop our reference to the master clock, if any, when we are disposed.
4689
4690         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4691         Chain up in dispose. 
4692
4693 2006-01-26  Wim Taymans  <wim@fluendo.com>
4694
4695         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4696         Add some debugging.
4697
4698 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4699
4700         * plugins/elements/gsttee.c: (gst_tee_do_push),
4701         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4702         handles pad being NOT_LINKED or in WRONG_STATE.
4703
4704 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4705
4706         * win32/MANIFEST:
4707           more updating
4708
4709 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4710
4711         * win32/MANIFEST:
4712           remove obsolete entry
4713
4714 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4715
4716         * docs/gst/gstreamer-sections.txt:
4717         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4718         (gst_bin_iterate_sources), (gst_bin_send_event):
4719         * gst/gstbin.h:
4720         * gst/gstelement.c: (gst_element_send_event):
4721         * gst/gstevent.c:
4722         * gst/gstpad.c: (gst_pad_send_event):
4723           added code for downstream events, reviewed docs in gstevent.c
4724
4725 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4726
4727         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4728         We only query position using the clock in the playing state.
4729         Query peer in the other cases.
4730         * win32/common/config.h: Updates.
4731
4732 2006-01-24  Wim Taymans  <wim@fluendo.com>
4733
4734         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4735         A clock entry that is scheduled for the exact time of the
4736         clock is still in time.
4737
4738         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4739         (gst_base_sink_do_sync):
4740         Add some more debug info.
4741
4742 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4743
4744         * win32/vs7:
4745           Add new vs7 project files and solution.
4746
4747 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4748
4749         * win32/vs7:
4750           all files removed as they were out-dated.
4751
4752 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * docs/random/release:
4755           update notes
4756         * gst/gstbin.c: (gst_bin_init):
4757         * gst/gstbus.c: (gst_bus_new):
4758         * gst/gstbus.h:
4759         * gst/gstpipeline.c: (gst_pipeline_init):
4760           use gst_bus_new(), improve logging, fix docs
4761         * win32/common/config.h:
4762           update for cvs build
4763
4764 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * autogen.sh:
4767           up required version of automake to 1.7
4768
4769 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4770
4771         * win32/common/libgstreamer.def:
4772           export gst_buffer_is_metadata_writable
4773
4774 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4775
4776         * docs/gst/gstreamer-sections.txt:
4777         * gst/gstevent.h:
4778           Add gst_event_replace() (#327001)
4779
4780 2006-01-20  Wim Taymans  <wim@fluendo.com>
4781
4782         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4783         Make it actually compile too..
4784
4785 2006-01-20  Wim Taymans  <wim@fluendo.com>
4786
4787         * gst/gstcaps.c:
4788         Clarify behaviour of _is_equal() when passing NULL parameters.
4789
4790         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4791         (gst_pad_set_caps):
4792         Cleanups. Don't unref NULL caps.
4793         When setting the same caps, protect caps of the pad with
4794         proper lock.
4795         Use full functionality of _is_equal() when comparing caps.
4796
4797 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4798
4799         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4800         Don't loop infinitely if there are no buffers to present. Partially
4801         fixes #327197, but collectpads is just broken for reusing elements
4802         to do multiple encodes atm.
4803
4804 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4805
4806         * tools/gst-inspect.c: (print_element_features):
4807         * tools/gst-xmlinspect.c: (main):
4808         URL_HANDLER is not a plugin feature we can search for in
4809         the registry.
4810
4811 2006-01-19  Edward Hervey  <edward@fluendo.com>
4812
4813         * gst/gstelement.c: (gst_element_pads_activate): 
4814         When activating, do src pads first, then sink pads.
4815         When de-activating, do sink pads first, then src pads.
4816
4817 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4818
4819         * docs/gst/gstreamer-sections.txt:
4820         Add gst_index_add_associationv to the docs
4821
4822 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4823
4824         * gst/gstevent.c:
4825           Fix docs typo
4826
4827         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4828         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4829           Do some refactoring. Doesn't actually change functionality,
4830           but makes landing the DRAIN event easier later.
4831
4832 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4833
4834         * docs/pwg/advanced-scheduling.xml:
4835           Update from 0.9.x to 0.10 API and make example a bit
4836           clearer.
4837
4838 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4839
4840         * docs/gst/gstreamer-sections.txt:
4841         Add gst_buffer_(is|make)_metadata_writable methods.
4842
4843 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4844
4845         * docs/design/part-sparsestreams.txt:
4846         Update sparse streams doc, hopefully for greater clarity
4847
4848 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4849
4850         * docs/design/part-events.txt:
4851         Remove mention of FILLER events.
4852         Add DRAIN event.
4853
4854         * docs/design/part-sparsestreams.txt:
4855         Write some things about using NEWSEGMENT to keep sparse streams
4856         flowing.
4857
4858 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4859
4860         * gst/gstbin.c: (gst_bin_dispose):
4861           Guard gst_object_unref call against a NULL object (dispose
4862           can theoretically be called multiple times).
4863           
4864 2006-01-18  Wim Taymans  <wim@fluendo.com>
4865
4866         * gst/gstbin.c: (gst_bin_element_set_state):
4867         * gst/gstclock.c: (gst_clock_id_wait):
4868         Added some more debug info.
4869
4870         * libs/gst/base/gstadapter.c:
4871         Added more docs.
4872
4873         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4874         (gst_base_sink_do_sync), (gst_base_sink_chain):
4875         Added some comments.
4876
4877 2006-01-18  Wim Taymans  <wim@fluendo.com>
4878
4879         * tests/check/Makefile.am:
4880         * tests/check/elements/fakesink.c: (chain_async_buffer),
4881         (chain_async), (chain_async_return), (GST_START_TEST),
4882         (fakesink_suite), (main):
4883         Added fakesink test that checks prerolling and clipping
4884         behaviour.
4885
4886         * tests/check/gst/gstutils.c: (GST_START_TEST):
4887         Make check run faster so that buildbots don't timeout.
4888
4889 2006-01-18  Wim Taymans  <wim@fluendo.com>
4890
4891         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4892         (gst_base_sink_do_sync):
4893         Some cleanups.
4894         When the sink finishes blocking on the preroll buffer, it can
4895         immediatly render it instead of rendering when the next buffer
4896         arrives.
4897
4898 2006-01-18  Wim Taymans  <wim@fluendo.com>
4899
4900         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4901         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4902         (gst_base_sink_chain):
4903         Small cleanups.
4904         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4905         Don't store _last_stop if the buffer is dropped.
4906
4907 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4908
4909         * plugins/elements/gsttypefindelement.c:
4910         (gst_type_find_element_class_init):
4911           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4912           object method handler that sets the caps on the pad and we want
4913           that to happen before we emit the signal (fixes e.g. feeding a
4914           plain text file to decodebin).
4915
4916 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4917
4918         * gst/gstplugin.c: Add MPL and Proprietary as license options
4919
4920 2006-01-18  Andy Wingo  <wingo@pobox.com>
4921
4922         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4923         symbol was exported before, it appears this was just an oversight.
4924         Fixes #168703.
4925         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4926
4927         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4928         prototype to gint. OK since this prototype was not in the header.
4929
4930 2006-01-17  Andy Wingo  <wingo@pobox.com>
4931
4932         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4933         registry while we remove plugins.
4934
4935         * tools/gst-inspect.c (print_element_info): Don't unref the
4936         factory arg, that should be the responsibility of whatever code
4937         received the ref. Fixes a double-free when called from
4938         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4939         (main): Unref the factory if we have one.
4940         (print_element_list): No change -- relies on the
4941         plugin_feature_list_free to free the list of features.
4942
4943 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4944
4945         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4946         (gst_buffer_make_metadata_writable):
4947         * gst/gstbuffer.h:
4948         * libs/gst/base/gstbasetransform.c:
4949         (gst_base_transform_prepare_output_buf):
4950         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4951         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4952           Replace gst_buffer_(make|is)_metadata_writable patch now
4953           that the release is out.
4954
4955 2006-01-17  Andy Wingo  <wingo@pobox.com>
4956
4957         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4958         in the present tense without reference to versions.
4959
4960         * gst/gstregistry.c (gst_registry_add_plugin)
4961         (gst_registry_remove_plugin, gst_registry_remove_feature)
4962         (gst_registry_find_feature, gst_registry_get_feature_list)
4963         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4964         (gst_registry_lookup, gst_registry_scan_path)
4965         (_gst_registry_remove_cache_plugins)
4966         (gst_registry_get_feature_list_by_plugin): Add argument
4967         validation.
4968
4969 === release 0.10.2 ===
4970
4971 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4972
4973         * configure.ac:
4974           releasing 0.10.2, "If man is five"
4975
4976 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4977
4978         * gst/gstbuffer.c:
4979         * gst/gstbuffer.h:
4980         * libs/gst/base/gstbasetransform.c:
4981         (gst_base_transform_prepare_output_buf):
4982         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4983         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4984           Back out patch until after the release.
4985
4986 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4987
4988         * gst/gstminiobject.c:
4989           Spelling fix in docs.
4990         * ChangeLog - remove conflict indicator
4991
4992 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4993
4994         Reviewed By: Andy Wingo
4995
4996         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4997         (gst_buffer_make_metadata_writable):
4998         * gst/gstbuffer.h:
4999           Add gst_buffer_(is|make)_metadata_writable as analogues of
5000           gst_buffer_(is|make)_writable.
5001
5002         * libs/gst/base/gstbasetransform.c:
5003         (gst_base_transform_prepare_output_buf):
5004         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5005           Use name gst_buffer_(is|make)_metadata_writable functions.
5006
5007         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5008           Test gst_buffer_(is|make)_metadata_writable
5009         
5010           (Closes: #324162)
5011
5012 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * docs/manual/Makefile.am:
5015           don't do parallel make
5016         * configure.ac:
5017           AC_SUBST HOST_CPU
5018         * win32/common/config.h.in:
5019           add generations for HOST_CPU and GST_MAJORMINOR
5020         * win32/common/config.h:
5021           commit generated result
5022
5023 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5024
5025         * docs/manual/appendix-integration.xml:
5026           Update GNOME integration section to use gst_init_get_option_group()
5027           instead of the old popt stuff (#322911). Also, GNOME applications
5028           should  now use gconf*sink and gconf*src instead of the old gconf
5029           helper lib we had.
5030
5031 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5032
5033
5034         * docs/gst/gstreamer-docs.sgml:
5035         * docs/gst/gstreamer-sections.txt:
5036         * docs/libs/gstreamer-libs-sections.txt:
5037           add new API entries to the docs
5038         * libs/gst/controller/Makefile.am:
5039         * libs/gst/controller/gstcontroller.c:
5040         * libs/gst/controller/gstcontroller.h:
5041         * libs/gst/controller/gstcontrollerprivate.h:
5042         * libs/gst/controller/gsthelper.c:
5043         * libs/gst/controller/gstinterpolation.c:
5044           move private structs to private header
5045         * po/README:
5046           gstreamer-0.7 -> gstreamer-0.10
5047         * tests/check/libs/struct_i386.h:
5048           remove private structs
5049
5050 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5051
5052         * plugins/indexers/Makefile.am:
5053           Fixes as part of #317048
5054
5055 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5056
5057         * plugins/indexers/Makefile.am:
5058           fix #316086 - compilation when mmap is missing
5059
5060 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5061
5062         * libs/gst/base/gstbasesink.c:
5063           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5064           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5065         * win32/common/config.h:
5066           added some defines GST_MAJORMINOR and HOST_CPU
5067         * win32/common/libgstbase.def:
5068         * win32/common/libgstreamer.def:
5069           added some exported functions.
5070
5071 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5072
5073         * libs/gst/controller/gstcontroller.c:
5074         (gst_controlled_property_set_interpolation_mode),
5075         (gst_controlled_property_new):
5076         * libs/gst/controller/gstcontroller.h:
5077         * libs/gst/controller/gstinterpolation.c:
5078         (interpolate_none_get_string_value_array):
5079           make G_TYPE_STRING controlable
5080
5081 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5082
5083         * tools/README:
5084         * tools/gst-feedback.1.in:
5085         * tools/gst-inspect.1.in:
5086         * tools/gst-launch.1.in:
5087         * tools/gst-md5sum.1.in:
5088         * tools/gst-typefind.1.in:
5089         * tools/gst-xmlinspect.1.in:
5090         * tools/gst-xmllaunch.1.in:
5091           cleanup man-pages, remove reference to gst-register, document env-vars
5092
5093 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5094
5095         * gst/gstbuffer.c: (gst_buffer_span):
5096           gst_buffer_span should copy the timestamp of the first buffer
5097           if they were both originally overlapping subbuffers of the 
5098           same parent, using the same logic as the 'slow copy' case.
5099
5100 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5101
5102         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5103           Need to awaken ALL the pads when we pop a buffer, otherwise
5104           collectpads only works when there is 2 input streams.
5105
5106 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5107
5108         * docs/random/ensonic/media-device-daemon.txt:
5109           more ideas (dbus)
5110         * gst/gstbuffer.c:
5111           fix doc example, add clarification
5112         * tools/gst-launch.1.in:
5113           add initial info about GST_PLUGIN_PATH, needs more work
5114
5115 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * docs/manual/basics-bins.xml:
5118         * docs/manual/basics-elements.xml:
5119         * docs/manual/intro-basics.xml:
5120           Some more minor docs additions and updates.
5121
5122 2006-01-11  Wim Taymans  <wim@fluendo.com>
5123
5124         * docs/manual/basics-bins.xml:
5125         * docs/manual/basics-elements.xml:
5126         Some small fixes as pointed out by Ser-ver on IRC.
5127
5128 2006-01-10  Edward Hervey  <edward@fluendo.com>
5129
5130         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5131         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5132         the single-segment mode.
5133
5134 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5135
5136         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5137
5138         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5139         (gst_base_src_perform_seek), (gst_base_src_send_event),
5140         (gst_base_src_set_property), (gst_base_src_get_property),
5141         (gst_base_src_loop), (gst_base_src_start),
5142         (gst_base_src_activate_push):
5143         * libs/gst/base/gstbasesrc.h:
5144           Name (private) union; makes Sun's Forte compiler happy (#324900).
5145
5146 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5147
5148         * README:
5149           gst-register is gone.
5150
5151 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5152
5153         * gst/gstvalue.c: (_gst_value_initialize):
5154           make the G_TYPE_DATE instantiation work if debug is disabled
5155
5156 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5157
5158         * gst/gstmessage.c: (gst_message_parse_tag),
5159         (gst_message_parse_error), (gst_message_parse_warning):
5160           Don't crash when return location for error/warning debug
5161           string is NULL; add fact that return locations can be
5162           NULL to docs where appropriate.
5163
5164 2006-01-05  Wim Taymans  <wim@fluendo.com>
5165
5166         * gst/gstplugin.c: (gst_plugin_load_file):
5167         Replace strdup by g_strdup.
5168
5169 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * docs/pwg/advanced-types.xml:
5172           fix doc borkage
5173
5174 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5175
5176         submitted by: Abel Cheung
5177
5178         * po/LINGUAS:
5179         * po/zh_TW.po:
5180           Added Chinese (traditional) translation
5181
5182 2006-01-04  Wim Taymans  <wim@fluendo.com>
5183
5184         * docs/manual/basics-pads.xml:
5185         * docs/plugins/Makefile.am:
5186         * docs/plugins/gstreamer-plugins-docs.sgml:
5187         * docs/plugins/gstreamer-plugins-sections.txt:
5188         * docs/pwg/advanced-clock.xml:
5189         * docs/pwg/advanced-scheduling.xml:
5190         * docs/pwg/advanced-types.xml:
5191         * plugins/elements/gstfdsink.c:
5192         * plugins/elements/gstfdsrc.c:
5193         * plugins/elements/gstfdsrc.h:
5194         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5195         * plugins/elements/gstidentity.h:
5196         * plugins/elements/gstqueue.h:
5197         * plugins/elements/gsttee.c:
5198         * plugins/elements/gsttee.h:
5199         * plugins/elements/gsttypefindelement.c:
5200         (gst_type_find_element_class_init):
5201         * plugins/elements/gsttypefindelement.h:
5202         Small updates to various docs.
5203         Added core plugins to docs.
5204
5205 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5206
5207         * common/gst.supp:
5208           add a suppression for liboil's uninitialized variable
5209
5210 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5211
5212         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5213
5214         * gst/gstutils.h:
5215           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5216           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5217           compiler switch is being used (#325429).
5218
5219 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5220
5221         * gst/gstbin.c: (gst_bin_query):
5222           Disable duration query caching in bins until it gets
5223           fixed (see #324807).
5224
5225 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5226
5227         * tools/gst-inspect.c: (print_element_properties_info):
5228           Handle properties of POINTER and BOXED type.
5229
5230 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5231
5232         * gst/gst.c: (init_post):
5233           Init tags stuff and some other things before loading
5234           any static plugins (there may be other static plugins
5235           than just the GStreamer ones, and they may want to
5236           register their own tags or formats or whatever, and
5237           preferably without segfaulting).
5238
5239         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5240           Print at least a warning in the debug logs if we drop a
5241           query just because we don't know how to adjust the value
5242           in the particular format.
5243
5244 2005-12-24  David Schleef  <ds@schleef.org>
5245
5246         * tools/gstreamer-completion:
5247           Replacement for gst-complete written in sh and sed.  Only
5248           completes names of features, but that's 90% of what I want
5249           it for.  Properties are not available in registry.xml.  (Maybe
5250           they should be...)
5251
5252 === release 0.10.1 ===
5253
5254 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5255
5256         * configure.ac:
5257           releasing 0.10.1, "Nollaig chridheil"
5258
5259 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * docs/faq/cvs.xml:
5262           Add missing quote, should be make ERROR_CFLAGS="".
5263
5264 2005-12-20  Wim Taymans  <wim@fluendo.com>
5265
5266         * docs/design/part-trickmodes.txt:
5267         More documentation on trickmodes.
5268
5269 2005-12-20  Edward Hervey  <edward@fluendo.com>
5270
5271         * gst/gstcaps.c: (gst_static_caps_get_type):
5272         * gst/gstcaps.h:
5273           API addition: GST_TYPE_STATIC_CAPS
5274         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
5275         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
5276         * gst/gstpadtemplate.h:
5277           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
5278         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
5279         bindings.
5280
5281 2005-12-18  Wim Taymans  <wim@fluendo.com>
5282
5283         * libs/gst/base/gstadapter.c:
5284         * libs/gst/base/gstadapter.h:
5285         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5286         (gst_base_sink_get_position):
5287         * libs/gst/base/gstbasesink.h:
5288         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5289         (gst_base_src_default_query), (gst_base_src_default_do_seek),
5290         (gst_base_src_do_seek), (gst_base_src_perform_seek),
5291         (gst_base_src_send_event), (gst_base_src_update_length),
5292         (gst_base_src_get_range), (gst_base_src_loop),
5293         (gst_base_src_start):
5294         * libs/gst/base/gstbasesrc.h:
5295         * libs/gst/base/gstbasetransform.h:
5296         * libs/gst/base/gstcollectpads.h:
5297         * libs/gst/base/gstpushsrc.c:
5298         * libs/gst/base/gstpushsrc.h:
5299         * libs/gst/dataprotocol/dataprotocol.c:
5300         * libs/gst/dataprotocol/dataprotocol.h:
5301         * libs/gst/net/gstnetclientclock.h:
5302         * libs/gst/net/gstnettimeprovider.h:
5303         Documentation updates.
5304
5305 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5306
5307         * docs/manual/basics-helloworld.xml:
5308           Remove superfluous closing bracket in helloworld example.
5309
5310 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5311
5312         * tools/gst-launch.1.in:
5313           Update gst-launch man page; add a section with useful
5314           environment variables. Fixes #323882.
5315
5316 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5317
5318         * gst/gst.c:
5319         * gst/gst_private.h:
5320           change some char* into char[]
5321
5322 2005-12-16  Wim Taymans  <wim@fluendo.com>
5323
5324         * gst/gstregistryxml.c: (load_feature):
5325         Cleanups.
5326         Don't use g_object_unref on GstObjects so that we avoid
5327         leaks on unsafe glibs.
5328
5329 2005-12-16  Wim Taymans  <wim@fluendo.com>
5330
5331         * gst/gstbin.c: (gst_bin_recalc_state):
5332         Small doc updates.
5333
5334 2005-12-16  Wim Taymans  <wim@fluendo.com>
5335
5336         * common/check.mak:
5337         Added make forever target for check.
5338
5339 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * gst/gst.c: (init_post):
5342           make the registry cache file HOST_CPU-dependent
5343
5344 2005-12-16  Andy Wingo  <wingo@pobox.com>
5345
5346         * plugins/elements/gstbufferstore.c
5347         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5348         return value.
5349
5350         * tests/check/gst/gstobject.c
5351         (test_fake_object_name_threaded_unique): Pay attention to
5352         g_list_sort return value.
5353
5354 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5355
5356         * tools/gst-feedback-m.m:
5357           Update for 0.9/0.10 (fixes #323870).
5358
5359 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5360
5361         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5362           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5363           
5364         * tests/check/gst/gstminiobject.c: (my_foo_init),
5365         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5366         (test_value_collection), (gst_mini_object_suite):
5367           Add test to ensure refcounts end up as expected when passing
5368           GstMiniObjects through g_object_get() and g_object_set().
5369
5370 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5371
5372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5373         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5374         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5375         of collectpads. This version removes a lot of races without
5376         touching API/ABI. Yay !
5377
5378 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5379
5380         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5381           Don't allow activation of a srcpad in pull_range if it has no
5382           getrange function.
5383           Change some debug statements to be a little clearer
5384
5385         * plugins/elements/gsttypefindelement.c:
5386         (gst_type_find_handle_src_query):
5387           Check that we have a peer before executing queries thereupon.
5388
5389         * tests/examples/metadata/read-metadata.c: (message_loop):
5390           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5391           immediately return us any available message with 0 timeout.
5392
5393 2005-12-12  Michael Smith  <msmith@fluendo.com>
5394
5395         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5396           Don't unref factories after calling them.
5397         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5398         * plugins/elements/gsttypefindelement.c:
5399         (gst_type_find_element_chain):
5400           Free lists of factories after using them. Fixing typefinding memory
5401           leaks.
5402
5403 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5404
5405         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5406         (gst_plugin_feature_load):
5407           more meaningful debug output
5408         * configure.ac:
5409         * tests/Makefile.am:
5410         * tests/old/examples/Makefile.am:
5411           make make distcheck happy again
5412
5413 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5414
5415         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5416           Catch the special case where we are operating chain-based,
5417           but the downstream peer pad has no chain function. Emit a
5418           custom error message in this case instead of letting the
5419           core generate one implying that this is some sort of core
5420           bug. It's not, it just means that whatever got plugged
5421           into the pipeline downstream when we announced the type
5422           can only operate pull-based, while our source can only
5423           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5424           Error string has not been marked for translation yet, as
5425           it probably needs some more work first.
5426
5427         (gst_type_find_element_get_best_possibility):
5428           Add helper function to find the best of all available
5429           found possibilities that qualify given the min. threshold.
5430
5431         (gst_type_find_element_handle_event):
5432           Fix the case where we get an EOS while still in TYPEFIND
5433           mode (we want to chose the best of all possible types,
5434           not just the first type that happens to be in our unsorted
5435           list of possible types).
5436
5437         (gst_type_find_element_chain):
5438           Make sure we return GST_FLOW_ERROR when we errored out
5439           in stop_typefinding(); also, don't just find the best of
5440           all found type entries and then use the last examined
5441           type entry, but actually use the best entry.
5442
5443 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5444
5445         * tests/examples/typefind/typefind.c: (type_found):
5446         * tests/examples/xml/runxml.c: (xml_loaded):
5447           More gcc4 fixes and a mem leak fix.
5448
5449 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5450
5451         * tests/examples/xml/createxml.c: (object_saved):
5452           gcc 4 fixes
5453
5454 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5455
5456         * tests/Makefile.am:
5457           enable the examples even more
5458
5459 2005-12-12  Andy Wingo  <wingo@pobox.com>
5460
5461         * libs/gst/net/gstnettimeprovider.c
5462         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5463         (gst_net_time_provider_set_property)
5464         (gst_net_time_provider_get_property):
5465         API addition: Export "active" as a GObject property.
5466         (gst_net_time_provider_thread): Only respond to time queries if
5467         the time provider is active.
5468
5469         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5470         NetTimeProvider, preserving binary compat.
5471
5472 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5473
5474         * tests/examples/controller/audio-example.c: (main):
5475         * tests/examples/launch/Makefile.am:
5476           convert comments again
5477
5478 2005-12-12  Wim Taymans  <wim@fluendo.com>
5479
5480         * libs/gst/base/gstpushsrc.c:
5481         Fix typo.
5482
5483 2005-12-12  Wim Taymans  <wim@fluendo.com>
5484
5485         * docs/libs/gstreamer-libs-sections.txt:
5486         Added new symbol to docs.
5487
5488         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5489         (gst_base_src_init), (gst_base_src_set_format),
5490         (gst_base_src_default_query), (gst_base_src_query),
5491         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5492         (gst_base_src_perform_seek), (gst_base_src_send_event),
5493         (gst_base_src_default_event), (gst_base_src_event_handler),
5494         (gst_base_src_set_property), (gst_base_src_get_property),
5495         (gst_base_src_wait), (gst_base_src_do_sync),
5496         (gst_base_src_update_length), (gst_base_src_get_range),
5497         (gst_base_src_check_get_range), (gst_base_src_loop),
5498         (gst_base_src_default_negotiate), (gst_base_src_start),
5499         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5500         (gst_base_src_change_state):
5501         * libs/gst/base/gstbasesrc.h:
5502         Implement seeking to other formats than _BYTES.
5503         Implement more seeking methods correctly.
5504         Doc updates.
5505         Added query vmethod.
5506         Added do_seek vmethod to make life easier for subclasses
5507         when seeking.
5508         API addition: gst_base_src_set_format()
5509
5510 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5511
5512         * tests/examples/Makefile.am:
5513           added that too
5514
5515 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5516
5517         * configure.ac:
5518         * docs/random/ensonic/media-device-daemon.txt:
5519         * tests/examples/controller/.cvsignore:
5520         * tests/examples/controller/Makefile.am:
5521         * tests/examples/controller/audio-example.c: (main):
5522         * tests/examples/helloworld/.cvsignore:
5523         * tests/examples/helloworld/Makefile.am:
5524         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5525         * tests/examples/launch/.cvsignore:
5526         * tests/examples/launch/Makefile.am:
5527         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5528         * tests/examples/metadata/.cvsignore:
5529         * tests/examples/metadata/Makefile.am:
5530         * tests/examples/metadata/read-metadata.c: (message_loop),
5531         (make_pipeline), (print_tag), (main):
5532         * tests/examples/queue/.cvsignore:
5533         * tests/examples/queue/Makefile.am:
5534         * tests/examples/queue/queue.c: (event_loop), (main):
5535         * tests/examples/typefind/.cvsignore:
5536         * tests/examples/typefind/Makefile.am:
5537         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5538         (main):
5539         * tests/examples/xml/.cvsignore:
5540         * tests/examples/xml/Makefile.am:
5541         * tests/examples/xml/createxml.c: (object_saved), (main):
5542         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5543         * tests/old/examples/Makefile.am:
5544         * tests/old/examples/TODO:
5545         * tests/old/examples/controller/.cvsignore:
5546         * tests/old/examples/controller/Makefile.am:
5547         * tests/old/examples/controller/audio-example.c:
5548         * tests/old/examples/helloworld/.cvsignore:
5549         * tests/old/examples/helloworld/Makefile.am:
5550         * tests/old/examples/helloworld/helloworld.c:
5551         * tests/old/examples/launch/.cvsignore:
5552         * tests/old/examples/launch/Makefile.am:
5553         * tests/old/examples/launch/mp3parselaunch.c:
5554         * tests/old/examples/launch/mp3play:
5555         * tests/old/examples/manual/Makefile.am:
5556         * tests/old/examples/metadata/Makefile.am:
5557         * tests/old/examples/metadata/read-metadata.c:
5558         * tests/old/examples/queue/.cvsignore:
5559         * tests/old/examples/queue/Makefile.am:
5560         * tests/old/examples/queue/queue.c:
5561         * tests/old/examples/typefind/.cvsignore:
5562         * tests/old/examples/typefind/Makefile.am:
5563         * tests/old/examples/typefind/typefind.c:
5564         * tests/old/examples/xml/.cvsignore:
5565         * tests/old/examples/xml/Makefile.am:
5566         * tests/old/examples/xml/createxml.c:
5567         * tests/old/examples/xml/runxml.c:
5568           applied some simple fixing to some examples
5569           re-enabled the working examples
5570
5571 2005-12-12  Wim Taymans  <wim@fluendo.com>
5572
5573         * gst/gstsegment.c: (gst_segment_init),
5574         (gst_segment_set_last_stop), (gst_segment_set_seek),
5575         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5576         (gst_segment_to_running_time):
5577         Added more documentation.
5578         Make sure the last_pos value is updated properly.
5579         Make sure to_stream_time and to_running_time don't
5580         operate on wrong values.
5581
5582         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5583         Update check.
5584
5585 2005-12-12  Michael Smith  <msmith@fluendo.com>
5586
5587         * plugins/elements/gsttypefindelement.c: (free_entry),
5588         (gst_type_find_element_chain):
5589           Now that we're not leaking factories, make sure we keep references
5590           to them while we need them.
5591
5592 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5593
5594         * tests/check/gst/struct_i386.h:
5595           ifdef out the XML structs
5596
5597 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5600           floor is not needed, F is always positive; this obviates the
5601           need for adding -lm when building without libxml
5602
5603 2005-12-12  Wim Taymans  <wim@fluendo.com>
5604
5605         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5606         Take current playback rate into account when reporting
5607         the position.
5608
5609 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5610
5611         * docs/manual/mime-world.fig:
5612           Let's try this again, this time with a file that is
5613           actually in XFig format.
5614
5615 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5616
5617         * docs/manual/mime-world.fig:
5618           Add audioconvert element to diagram so that it
5619           matches the text and the code (fixes #319526).
5620
5621 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * docs/pwg/building-chainfn.xml:
5624         * docs/pwg/building-pads.xml:
5625         * docs/pwg/building-state.xml:
5626         * docs/pwg/other-source.xml:
5627           Update state change stuff for 0.10 (fixes #322969).
5628
5629 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * docs/manual/advanced-dataaccess.xml:
5632         * docs/manual/appendix-checklist.xml:
5633         * docs/manual/appendix-programs.xml:
5634         * docs/manual/basics-pads.xml:
5635         * docs/manual/highlevel-components.xml:
5636         * docs/manual/manual.xml:
5637           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5638           add converters in front of pipelines; remove curly
5639           brackets for threads stuff, they no longer exist; use
5640           GST_TYPE_FRACTION for framerates; update some pieces of
5641           code to 0.10, but there's plenty more to do.
5642
5643         * docs/manual/appendix-porting.xml:
5644           Expand on asynchroneous state changes; s/0.9/0.10/;
5645           mention disappearance of gst_init_get_popt_table()
5646           (fixes #322916).
5647
5648 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5649
5650         * docs/faq/using.xml:
5651           Spider no longer exists, and neither does gst-launch-ext.
5652           Update examples to use decodebin and playbin and put
5653           converters in front of sinks (fixes #323726).
5654
5655 2005-12-09  Michael Smith  <msmith@fluendo.com>
5656
5657         * plugins/elements/gsttypefindelement.c: (find_peek),
5658         (gst_type_find_element_chain):
5659           Fix leaking element factories in typefinding.
5660           Fix problem where we forgot about a probable type on non-seekable
5661           files, and thus later mis-typefound it.
5662
5663 2005-12-09  Michael Smith  <msmith@fluendo.com>
5664
5665         * common/m4/gst-makecontext.m4:
5666         * common/m4/gst-mcsc.m4:
5667         * configure.ac:
5668         * win32/common/config.h:
5669         * win32/common/config.h.in:
5670           Remove makecontext stuff; not used in 0.10 and causes problems on
5671           HPUX according to bug #322441
5672
5673 2005-12-07  Wim Taymans  <wim@fluendo.com>
5674
5675         * tests/check/Makefile.am:
5676         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5677         (main):
5678         * tests/check/libs/struct_i386.h:
5679         Added ABI check for libs
5680
5681 2005-12-07  Wim Taymans  <wim@fluendo.com>
5682
5683         * tests/check/Makefile.am:
5684         And add the struct_i386.h to dist.
5685
5686 2005-12-07  Wim Taymans  <wim@fluendo.com>
5687
5688         * tests/check/Makefile.am:
5689         * tests/check/gst/.cvsignore:
5690         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5691         (main):
5692         * tests/check/gst/struct_i386.h:
5693         Added check for ABI compatibility.
5694
5695 2005-12-07  Wim Taymans  <wim@fluendo.com>
5696
5697         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5698         (gst_fake_src_get_times), (gst_fake_src_create):
5699         Fix broken sync option, fixes #323259
5700
5701 2005-12-07  Wim Taymans  <wim@fluendo.com>
5702
5703         * gst/gstbuffer.c:
5704         Small docs update.
5705
5706         * gst/gstcaps.c: (gst_caps_is_equal):
5707         Don't assert on NULL <--> X. Fixes #323260
5708
5709         * gst/gstminiobject.c: (gst_mini_object_replace):
5710         If we're doing atomic operations, we might just as well use
5711         the proper way to get an atomic pointer.
5712
5713         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5714         Clean up debugging.
5715
5716 2005-12-07  Michael Smith  <msmith@fluendo.com>
5717
5718         * gst/parse/grammar.y:
5719           Remove handling of { } for threads.
5720
5721 2005-12-06  David Schleef  <ds@schleef.org>
5722
5723         * libs/gst/base/gstbasetransform.c: speling fix.
5724
5725 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * docs/libs/tmpl/gstdataprotocol.sgml:
5728         * docs/random/omega/testing/gstobject.c:
5729         * gst/gst.c:
5730         * gst/gstclock.c:
5731         * gst/gstelement.c:
5732         * gst/gstelementfactory.c:
5733         * gst/gsterror.c:
5734         * gst/gstevent.c:
5735         * gst/gstghostpad.c:
5736         * gst/gstinfo.c:
5737         * gst/gstpadtemplate.c:
5738         * gst/gstregistryxml.c:
5739         * gst/gsttaglist.c:
5740         * gst/gsttagsetter.c:
5741         * gst/gsttypefind.c:
5742         * gst/gstvalue.c:
5743         * libs/gst/base/gstbasesrc.c:
5744         * libs/gst/net/gstnetclientclock.c:
5745         * libs/gst/net/gstnettimeprovider.c:
5746         * plugins/elements/gstfakesrc.c:
5747         * plugins/elements/gstfdsrc.c:
5748         * plugins/elements/gstfilesrc.c:
5749         * plugins/elements/gstidentity.c:
5750         * plugins/elements/gstqueue.c:
5751         * plugins/elements/gsttypefindelement.c:
5752         * plugins/indexers/gstfileindex.c:
5753         * plugins/indexers/gstmemindex.c:
5754         * tests/check/gst/gsttag.c:
5755         * tests/old/examples/cutter/cutter.c:
5756         * tests/old/examples/mixer/mixer.c:
5757         * tests/old/examples/xml/runxml.c: (main):
5758         * tests/old/testsuite/caps/normalisation.c:
5759         * tests/old/testsuite/debug/global.c:
5760         * tests/old/testsuite/parse/parse1.c:
5761         * tools/gst-xmlinspect.c:
5762         * win32/common/dirent.c:
5763           expand tabs
5764
5765 === release 0.10.0 ===
5766
5767 2005-12-05   <thomas (at) apestaart (dot) org>
5768
5769         * configure.ac:
5770           releasing 0.10.0, "Maroilles"
5771
5772 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5773
5774         submitted by: Funda Wang <fundawang@linux.net.cn>
5775
5776         * po/LINGUAS:
5777         * po/zh_CN.po:
5778           added Chinese (Traditional) translation
5779
5780 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5781
5782         * docs/gst/gstreamer-sections.txt:
5783         * docs/libs/tmpl/gstdataprotocol.sgml:
5784         * docs/random/thomasvs/TODO:
5785         * gst/gstutils.c:
5786         * gst/gstutils.h:
5787           fix docs
5788
5789 2005-12-05  Andy Wingo  <wingo@pobox.com>
5790
5791         patch by: Wim Taymans <wim@fluendo.com>
5792
5793         * libs/gst/base/gstbasetransform.c
5794         (gst_base_transform_prepare_output_buf)
5795         (gst_base_transform_buffer_alloc):
5796         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5797         alloc_buffer_and_set_caps.
5798
5799         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5800         set_caps on the source pad.
5801         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5802         alloc_buffer used to do. Fixes #322874.
5803
5804         * docs/gst/gstreamer-sections.txt: 
5805         * docs/design/part-negotiation.txt: 
5806         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5807         changes.
5808
5809 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5810
5811         patch by: Sebastien Moutte
5812
5813         * win32/MANIFEST:
5814         * win32/common/config.h.in:
5815         * win32/vs6/libgstcontroller.dsp:
5816           win32 build fixes
5817
5818 2005-12-05  Wim Taymans  <wim@fluendo.com>
5819
5820         * gst/gstcaps.c: (gst_caps_is_equal):
5821         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5822         (gst_fake_src_create):
5823         Back out previous code changes, leave doc updates, file bugs 
5824         instead. 
5825
5826 2005-12-05  Wim Taymans  <wim@fluendo.com>
5827
5828         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5829         (gst_fake_src_get_times), (gst_fake_src_create):
5830         * plugins/elements/gstfakesrc.h:
5831         Fix broken sync code.
5832
5833 2005-12-05  Wim Taymans  <wim@fluendo.com>
5834
5835         * gst/gstcaps.c: (gst_caps_is_equal):
5836         Comparing NULL against !NULL yields different caps, not a
5837         failure.
5838
5839 2005-12-05  Wim Taymans  <wim@fluendo.com>
5840
5841         * gst/gstpipeline.c:
5842         Fix small typo in docs.
5843
5844 2005-12-05  Andy Wingo  <wingo@pobox.com>
5845
5846         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5849         registries/plugins with a MAJORMINOR one.
5850         (plugin_desc): Rename library from gstcoreleements to
5851         staticelements. Fixes #323222.
5852
5853 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5854
5855         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5856           Change debug category to 'collectpads' from 'collect_pads'
5857           (fixes #323250).
5858
5859 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5860
5861         patch by: Sebastien Moutte
5862
5863         * libs/gst/controller/gstinterpolation.c:
5864           use convert function for uint64/double
5865         * win32/vs6/libgstcontroller.dsp:
5866           link to GLib
5867
5868 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5869
5870         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5871         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5872         * gst/gstutils.h:
5873         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5874           add tests that seem to show that the guint64/gdouble conversions
5875           are correct.
5876
5877 2005-12-02  Wim Taymans  <wim@fluendo.com>
5878
5879         * gst/gstregistry.c: (gst_registry_add_path):
5880         * gst/gstregistry.h:
5881         * gst/gstregistryxml.c:
5882         Fix docs again.
5883
5884 2005-12-02  Wim Taymans  <wim@fluendo.com>
5885
5886         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5887         (gst_util_uint64_scale_int):
5888         Small cleanup.
5889
5890         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5891         Add debug log line.
5892
5893         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5894         Add FIXME.
5895
5896 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5897
5898         * win32/MANIFEST:
5899         * win32/common/config.h:
5900         * win32/vs6/gstreamer.dsw:
5901         * win32/vs6/libgstcoreelements.dsp:
5902         * win32/vs6/libgstelements.dsp:
5903           renamed core elements plugin
5904
5905 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5908         (get_candidates):
5909           do piece-wise major/minor comparison so 0.9 < 0.10
5910           also allow .exe extensions for tools
5911
5912 2005-12-02  Michael Smith  <msmith@fluendo.com>
5913
5914         * gst/gst.c:
5915           Escape a % to make gtkdoc happier; bug 322958.
5916
5917 === release 0.9.7 ===
5918
5919 2005-12-01   <thomas (at) apestaart (dot) org>
5920
5921         * configure.ac:
5922           releasing 0.9.7, "My Dog Has No Nose"
5923
5924 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5925
5926         * common/gst-xmlinspect.py:
5927         * configure.ac:
5928         * docs/libs/tmpl/gstdataprotocol.sgml:
5929         * docs/random/release:
5930         * po/af.po:
5931         * po/az.po:
5932         * po/bg.po:
5933         * po/ca.po:
5934         * po/cs.po:
5935         * po/de.po:
5936         * po/en_GB.po:
5937         * po/fr.po:
5938         * po/it.po:
5939         * po/nb.po:
5940         * po/nl.po:
5941         * po/ru.po:
5942         * po/sq.po:
5943         * po/sr.po:
5944         * po/sv.po:
5945         * po/tr.po:
5946         * po/uk.po:
5947         * po/vi.po:
5948         * win32/common/config.h:
5949         * win32/common/config.h.in:
5950         * win32/vs6/gst_inspect.dsp:
5951         * win32/vs6/gst_launch.dsp:
5952         * win32/vs6/libgstbase.dsp:
5953         * win32/vs6/libgstelements.dsp:
5954         * win32/vs6/libgstreamer.dsp:
5955         * win32/vs7/GStreamer.vcproj:
5956         * win32/vs7/gst-inspect.vcproj:
5957         * win32/vs7/gst-launch.vcproj:
5958         * win32/vs7/libgstbase.vcproj:
5959           bump GST_MAJORMINOR to 0.10
5960           reset libtool version
5961
5962 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5963
5964         * po/LINGUAS:
5965         * po/bg.po:
5966           Added Bulgarian translation by (Alexander Shopov)
5967
5968 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5969
5970         * tests/check/gst/gstplugin.c:
5971           fix test
5972
5973 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5974
5975         * common/gst-xmlinspect.py:
5976         * common/gtk-doc-plugins.mak:
5977         * configure.ac:
5978         * docs/Makefile.am:
5979         * docs/gst/Makefile.am:
5980         * docs/gst/gstreamer-docs.sgml:
5981         * docs/gst/gstreamer-sections.txt:
5982         * docs/gst/gstreamer.types:
5983         * docs/gst/gstreamer.types.in:
5984         * docs/plugins/Makefile.am:
5985         * docs/plugins/gstreamer-plugins-docs.sgml:
5986         * docs/plugins/gstreamer-plugins-sections.txt:
5987         * docs/plugins/gstreamer-plugins.types:
5988         * docs/plugins/inspect.stamp:
5989         * docs/plugins/inspect/plugin-coreelements.xml:
5990         * docs/plugins/inspect/plugin-coreindexers.xml:
5991         * docs/plugins/scanobj-build.stamp:
5992         * gstreamer.spec.in:
5993         * plugins/elements/Makefile.am:
5994         * plugins/elements/gstelements.c:
5995         * plugins/elements/gstfakesink.c:
5996         * plugins/elements/gstfakesrc.c:
5997         * plugins/elements/gstfilesink.c:
5998         * plugins/elements/gstfilesrc.c:
5999         * plugins/elements/gstqueue.c:
6000         * plugins/indexers/Makefile.am:
6001         * plugins/indexers/gstindexers.c:
6002           document core plugins in a separate document just like all the
6003           others
6004           rename these plugins to something starting with core
6005
6006 2005-12-01  Andy Wingo  <wingo@pobox.com>
6007
6008         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6009         padding here before, but it missed the commit.
6010
6011 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6012
6013         * libs/gst/controller/gstinterpolation.c:
6014           whitespace prices have crashed, we should feel free to use some now
6015           use gst_guint64_to_gdouble
6016
6017 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         * libs/gst/controller/gstcontroller.c:
6020         * libs/gst/controller/gsthelper.c:
6021         * libs/gst/controller/gstinterpolation.c:
6022         * libs/gst/controller/lib.c:
6023           wrap config.h include
6024
6025 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * docs/gst/gstreamer-sections.txt:
6028           update docs
6029
6030 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6031
6032         * plugins/elements/gstelements.c:
6033         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6034         (gst_fd_sink__class_init), (gst_fd_sink__init),
6035         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6036         (gst_fd_sink__get_property):
6037         * plugins/elements/gstfdsink.h:
6038         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6039         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6040         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6041         (gst_fd_src_unlock), (gst_fd_src_set_property),
6042         (gst_fd_src_get_property), (gst_fd_src_create),
6043         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6044         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6045         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6046         (gst_fd_src_uri_handler_init):
6047         * plugins/elements/gstfdsrc.h:
6048         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6049           more anal cleanup
6050
6051 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6052
6053         * docs/gst/Makefile.am:
6054         * docs/gst/gstreamer.types.in:
6055         * gst/Makefile.am:
6056           fix the docs build
6057
6058 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6059
6060         * configure.ac:
6061         * gst/Makefile.am:
6062         * gst/gst.c:
6063         * gst/gstplugin.h:
6064         * gst/gstregistry.h:
6065         * tests/benchmarks/complexity.c:
6066         * tests/benchmarks/mass-elements.c:
6067         * tests/check/Makefile.am:
6068         * tools/Makefile.am:
6069         * tools/gst-inspect.c:
6070         * tools/gst-xmlinspect.c:
6071           various fixes to make
6072           --disable-nls --disable-registry --disable-loadsave
6073           --disable-parse --disable-gst-debug
6074           work and get the core .so down to 360444 bytes after stripping
6075
6076 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6077
6078         * Makefile.am:
6079         * configure.ac:
6080           descend into tests
6081         * docs/random/thomasvs/TODO:
6082         * tests/Makefile.am:
6083         * tests/README:
6084           add a README
6085
6086 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6087
6088         * win32/GStreamer.vcproj:
6089         * win32/MANIFEST:
6090         * win32/Makefile:
6091         * win32/Makefile.inspect:
6092         * win32/Makefile.launch:
6093         * win32/Makefile.register:
6094         * win32/README.txt:
6095         * win32/gst-inspect.vcproj:
6096         * win32/gst-launch.vcproj:
6097         * win32/gst-register.vcproj:
6098         * win32/gstelements.vcproj:
6099         * win32/gstgetbits.def:
6100         * win32/gstgetbits.vcproj:
6101         * win32/gstreamer-dbg.def:
6102         * win32/gstreamer.def:
6103         * win32/libgstbase.def:
6104         * win32/libgstbase.vcproj:
6105         * win32/link_oldruntime.c:
6106         * win32/mman.c:
6107         * win32/mman.h:
6108         * win32/mman.inl:
6109         * win32/msvc71.sln:
6110           move even more stuff, win32/ is nice and clean now
6111
6112 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * libs/gst/control/.cvsignore:
6115         * win32/MANIFEST:
6116         * win32/config.h:
6117         * win32/dirent.c:
6118         * win32/dirent.h:
6119         * win32/gstbytestream.def:
6120         * win32/gstbytestream.vcproj:
6121         * win32/gstconfig.h:
6122         * win32/gstenumtypes.c:
6123         * win32/gstenumtypes.h:
6124         * win32/gstoptimalscheduler.vcproj:
6125         * win32/gstversion.h:
6126         * win32/gtchar.h:
6127         * win32/testsuite/bins.vcproj:
6128         * win32/testsuite/bytestream.vcproj:
6129         * win32/testsuite/caps.vcproj:
6130         * win32/testsuite/cleanup.vcproj:
6131         * win32/testsuite/clock.vcproj:
6132         * win32/testsuite/debug.vcproj:
6133         * win32/testsuite/dlopen.vcproj:
6134         * win32/testsuite/dynparams.vcproj:
6135         * win32/testsuite/elements.vcproj:
6136         * win32/testsuite/ghostpads.vcproj:
6137         * win32/testsuite/indexers.vcproj:
6138         * win32/testsuite/negotiation.vcproj:
6139         * win32/testsuite/parse.vcproj:
6140         * win32/testsuite/plugin.vcproj:
6141         * win32/testsuite/refcounting.vcproj:
6142         * win32/testsuite/schedulers.vcproj:
6143         * win32/testsuite/states.vcproj:
6144         * win32/testsuite/tags.vcproj:
6145         * win32/testsuite/threads.vcproj:
6146           remove old win32 stuff that isn't maintained and should be
6147           reorganized
6148
6149 2005-11-30  Andy Wingo  <wingo@pobox.com>
6150
6151         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6152         loading the gst.interfaces python module bork.
6153
6154         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6155         available since GLib 2.2. Fixes #318031.
6156
6157 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6158
6159         * Makefile.am:
6160         * check/.cvsignore:
6161         * check/Makefile.am:
6162         * check/elements/.cvsignore:
6163         * check/elements/fakesrc.c:
6164         * check/elements/fdsrc.c:
6165         * check/elements/identity.c:
6166         * check/generic/.cvsignore:
6167         * check/generic/states.c:
6168         * check/gst-libs/.cvsignore:
6169         * check/gst-libs/controller.c:
6170         * check/gst-libs/gdp.c:
6171         * check/gst/.cvsignore:
6172         * check/gst/capslist.h:
6173         * check/gst/gst.c:
6174         * check/gst/gstbin.c:
6175         * check/gst/gstbuffer.c:
6176         * check/gst/gstbus.c:
6177         * check/gst/gstcaps.c:
6178         * check/gst/gstelement.c:
6179         * check/gst/gstevent.c:
6180         * check/gst/gstghostpad.c:
6181         * check/gst/gstiterator.c:
6182         * check/gst/gstmessage.c:
6183         * check/gst/gstminiobject.c:
6184         * check/gst/gstobject.c:
6185         * check/gst/gstpad.c:
6186         * check/gst/gstpipeline.c:
6187         * check/gst/gstplugin.c:
6188         * check/gst/gstsegment.c:
6189         * check/gst/gststructure.c:
6190         * check/gst/gstsystemclock.c:
6191         * check/gst/gsttag.c:
6192         * check/gst/gstutils.c:
6193         * check/gst/gstvalue.c:
6194         * check/net/.cvsignore:
6195         * check/net/gstnetclientclock.c:
6196         * check/net/gstnettimeprovider.c:
6197         * check/pipelines/.cvsignore:
6198         * check/pipelines/cleanup.c:
6199         * check/pipelines/simple_launch_lines.c:
6200         * check/pipelines/stress.c:
6201         * check/states/.cvsignore:
6202         * check/states/sinks.c:
6203         * configure.ac:
6204         * examples/Makefile.am:
6205         * examples/appreader/.cvsignore:
6206         * examples/appreader/Makefile.am:
6207         * examples/appreader/appreader.c:
6208         * examples/controller/.cvsignore:
6209         * examples/controller/Makefile.am:
6210         * examples/controller/audio-example.c:
6211         * examples/cutter/.cvsignore:
6212         * examples/cutter/Makefile.am:
6213         * examples/cutter/cutter.c:
6214         * examples/cutter/cutter.h:
6215         * examples/events/Makefile.am:
6216         * examples/events/seek.c:
6217         * examples/helloworld/.cvsignore:
6218         * examples/helloworld/Makefile.am:
6219         * examples/helloworld/helloworld.c:
6220         * examples/helloworld2/.cvsignore:
6221         * examples/helloworld2/Makefile.am:
6222         * examples/helloworld2/helloworld2.c:
6223         * examples/launch/.cvsignore:
6224         * examples/launch/Makefile.am:
6225         * examples/launch/mp3parselaunch.c:
6226         * examples/launch/mp3play:
6227         * examples/manual/.cvsignore:
6228         * examples/manual/Makefile.am:
6229         * examples/manual/extract.pl:
6230         * examples/metadata/Makefile.am:
6231         * examples/metadata/read-metadata.c:
6232         * examples/mixer/.cvsignore:
6233         * examples/mixer/Makefile.am:
6234         * examples/mixer/mixer.c:
6235         * examples/mixer/mixer.h:
6236         * examples/pingpong/.cvsignore:
6237         * examples/pingpong/Makefile.am:
6238         * examples/pingpong/pingpong.c:
6239         * examples/plugins/.cvsignore:
6240         * examples/plugins/Makefile.am:
6241         * examples/plugins/example.c:
6242         * examples/plugins/example.h:
6243         * examples/pwg/.cvsignore:
6244         * examples/pwg/Makefile.am:
6245         * examples/pwg/extract.pl:
6246         * examples/queue/.cvsignore:
6247         * examples/queue/Makefile.am:
6248         * examples/queue/queue.c:
6249         * examples/queue2/.cvsignore:
6250         * examples/queue2/Makefile.am:
6251         * examples/queue2/queue2.c:
6252         * examples/queue3/.cvsignore:
6253         * examples/queue3/Makefile.am:
6254         * examples/queue3/queue3.c:
6255         * examples/queue4/.cvsignore:
6256         * examples/queue4/Makefile.am:
6257         * examples/queue4/queue4.c:
6258         * examples/retag/.cvsignore:
6259         * examples/retag/Makefile.am:
6260         * examples/retag/retag.c:
6261         * examples/retag/transcode.c:
6262         * examples/thread/.cvsignore:
6263         * examples/thread/Makefile.am:
6264         * examples/thread/thread.c:
6265         * examples/typefind/.cvsignore:
6266         * examples/typefind/Makefile.am:
6267         * examples/typefind/typefind.c:
6268         * examples/xml/.cvsignore:
6269         * examples/xml/Makefile.am:
6270         * examples/xml/createxml.c:
6271         * examples/xml/runxml.c:
6272         * tests/Makefile.am:
6273         * tests/check/Makefile.am:
6274         * testsuite/.cvsignore:
6275         * testsuite/Makefile.am:
6276         * testsuite/Rules:
6277         * testsuite/caps/.cvsignore:
6278         * testsuite/caps/Makefile.am:
6279         * testsuite/caps/app_fixate.c:
6280         * testsuite/caps/audioscale.c:
6281         * testsuite/caps/caps.c:
6282         * testsuite/caps/caps.h:
6283         * testsuite/caps/caps_strings:
6284         * testsuite/caps/compatibility.c:
6285         * testsuite/caps/deserialize.c:
6286         * testsuite/caps/enumcaps.c:
6287         * testsuite/caps/eratosthenes.c:
6288         * testsuite/caps/filtercaps.c:
6289         * testsuite/caps/fixed.c:
6290         * testsuite/caps/fraction-convert.c:
6291         * testsuite/caps/fraction-multiply-and-zero.c:
6292         * testsuite/caps/intersect2.c:
6293         * testsuite/caps/intersection.c:
6294         * testsuite/caps/normalisation.c:
6295         * testsuite/caps/random.c:
6296         * testsuite/caps/renegotiate.c:
6297         * testsuite/caps/sets.c:
6298         * testsuite/caps/simplify.c:
6299         * testsuite/caps/string-conversions.c:
6300         * testsuite/caps/structure.c:
6301         * testsuite/caps/subtract.c:
6302         * testsuite/caps/union.c:
6303         * testsuite/debug/.cvsignore:
6304         * testsuite/debug/Makefile.am:
6305         * testsuite/debug/category.c:
6306         * testsuite/debug/commandline.c:
6307         * testsuite/debug/global.c:
6308         * testsuite/debug/output.c:
6309         * testsuite/debug/printf_extension.c:
6310         * testsuite/dlopen/.cvsignore:
6311         * testsuite/dlopen/Makefile.am:
6312         * testsuite/dlopen/dlopen_gst.c:
6313         * testsuite/dlopen/loadgst.c:
6314         * testsuite/elements/.cvsignore:
6315         * testsuite/elements/Makefile.am:
6316         * testsuite/elements/gst-inspect-check.in:
6317         * testsuite/elements/struct_i386.h:
6318         * testsuite/elements/struct_size.c:
6319         * testsuite/indexers/.cvsignore:
6320         * testsuite/indexers/Makefile.am:
6321         * testsuite/indexers/cache1.c:
6322         * testsuite/indexers/indexdump.c:
6323         * testsuite/parse/.cvsignore:
6324         * testsuite/parse/Makefile.am:
6325         * testsuite/parse/parse1.c:
6326         * testsuite/parse/parse2.c:
6327         * testsuite/plugin/.cvsignore:
6328         * testsuite/plugin/Makefile.am:
6329         * testsuite/plugin/README:
6330         * testsuite/plugin/dynamic.c:
6331         * testsuite/plugin/linked.c:
6332         * testsuite/plugin/loading.c:
6333         * testsuite/plugin/registry.c:
6334         * testsuite/plugin/static.c:
6335         * testsuite/plugin/static2.c:
6336         * testsuite/plugin/testplugin.c:
6337         * testsuite/plugin/testplugin2.c:
6338         * testsuite/plugin/testplugin2_s.c:
6339         * testsuite/plugin/testplugin_s.c:
6340         * testsuite/refcounting/.cvsignore:
6341         * testsuite/refcounting/Makefile.am:
6342         * testsuite/refcounting/bin.c:
6343         * testsuite/refcounting/element.c:
6344         * testsuite/refcounting/element_pad.c:
6345         * testsuite/refcounting/mainloop.c:
6346         * testsuite/refcounting/mem.c:
6347         * testsuite/refcounting/mem.h:
6348         * testsuite/refcounting/object.c:
6349         * testsuite/refcounting/pad.c:
6350         * testsuite/refcounting/sched.c:
6351         * testsuite/refcounting/thread.c:
6352         * testsuite/states/.cvsignore:
6353         * testsuite/states/Makefile.am:
6354         * testsuite/states/bin.c:
6355         * testsuite/states/locked.c:
6356         * testsuite/states/parent.c:
6357         * testsuite/threads/.cvsignore:
6358         * testsuite/threads/159566.c:
6359         * testsuite/threads/159852.c:
6360         * testsuite/threads/Makefile.am:
6361         * testsuite/threads/queue.c:
6362         * testsuite/threads/signals.c:
6363         * testsuite/threads/staticrec.c:
6364         * testsuite/threads/thread.c:
6365         * testsuite/threads/threadb.c:
6366         * testsuite/threads/threadc.c:
6367         * testsuite/threads/threadd.c:
6368         * testsuite/threads/threade.c:
6369         * testsuite/threads/threadf.c:
6370         * testsuite/threads/threadg.c:
6371         * testsuite/threads/threadh.c:
6372         * testsuite/threads/threadi.c:
6373           move all of these under tests
6374
6375 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6376
6377         * configure.ac:
6378         * tests/Makefile.am:
6379           fix distcheck
6380
6381 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6382
6383         * docs/gst/gstreamer-sections.txt:
6384         * tests/sched/.cvsignore:
6385         * tests/sched/Makefile.am:
6386         * tests/sched/cases/(fs-fs).xml:
6387         * tests/sched/cases/(fs-i-fs).xml:
6388         * tests/sched/cases/(fs-i-i-fs).xml:
6389         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6390         * tests/sched/dynamic-pipeline.c:
6391         * tests/sched/interrupt1.c:
6392         * tests/sched/interrupt2.c:
6393         * tests/sched/interrupt3.c:
6394         * tests/sched/runtestcases:
6395         * tests/sched/runxml.c:
6396         * tests/sched/sched-stress.c:
6397         * tests/sched/sort.c:
6398         * tests/sched/testcases:
6399         * tests/sched/testcases1.tc:
6400         * tests/seeking/.cvsignore:
6401         * tests/seeking/Makefile.am:
6402         * tests/seeking/seeking1.c:
6403         * tests/threadstate/.cvsignore:
6404         * tests/threadstate/Makefile.am:
6405         * tests/threadstate/test1.c:
6406         * tests/threadstate/test2.c:
6407         * tests/threadstate/threadstate1.c:
6408         * tests/threadstate/threadstate2.c:
6409         * tests/threadstate/threadstate3.c:
6410         * tests/threadstate/threadstate4.c:
6411         * tests/threadstate/threadstate5.c:
6412           remove obsolete tests
6413         * configure.ac:
6414         * tests/bench-complexity.scm:
6415         * tests/bench-mass_elements.scm:
6416         * tests/complexity.c:
6417         * tests/complexity.gnuplot:
6418         * tests/instantiate/.cvsignore:
6419         * tests/instantiate/Makefile.am:
6420         * tests/instantiate/caps.c:
6421         * tests/mass_elements.c:
6422         * tests/network-clock-utils.scm:
6423         * tests/network-clock.scm:
6424         * tests/plot-data:
6425         First pass at cleaning up tests/ dir before moving the rest
6426         Combined with CVS surgery
6427
6428 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6429
6430         * po/POTFILES.in:
6431           queue has moved, update
6432
6433 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6434
6435         * docs/gst/gstreamer-sections.txt:
6436           remove double entries from the docs
6437         * gst/gst_private.h:
6438         * gst/gstinfo.c: (_gst_debug_init):
6439           remove the THREAD debug category
6440         * gst/Makefile.am:
6441         * gst/gstqueue.c:
6442         * gst/gstqueue.h:
6443         * docs/gst/gstreamer.types:
6444         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6445         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6446           completely move queue and fix up debugging categories
6447
6448 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6449
6450         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6451           make initialization portable, using LL is not
6452
6453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6454
6455         * win32/common/gstconfig.h:
6456           add large padding
6457
6458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * win32/common/libgstreamer.def:
6461           rename symbols; sort base section
6462
6463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6464
6465         * gst/gstclock.c: (do_linear_regression):
6466           remove crack non-portable handrolled DEBUG macro
6467
6468 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6469
6470         * docs/random/release:
6471           update notes
6472         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6473         (gst_object_flags_get_type), (register_gst_bin_flags),
6474         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6475         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6476         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6477         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6478         (gst_caps_flags_get_type), (register_gst_clock_return),
6479         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6480         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6481         (gst_clock_flags_get_type), (register_gst_state),
6482         (gst_state_get_type), (register_gst_state_change_return),
6483         (gst_state_change_return_get_type), (register_gst_state_change),
6484         (gst_state_change_get_type), (register_gst_element_flags),
6485         (gst_element_flags_get_type), (register_gst_core_error),
6486         (gst_core_error_get_type), (register_gst_library_error),
6487         (gst_library_error_get_type), (register_gst_resource_error),
6488         (gst_resource_error_get_type), (register_gst_stream_error),
6489         (gst_stream_error_get_type), (register_gst_event_type_flags),
6490         (gst_event_type_flags_get_type), (register_gst_event_type),
6491         (gst_event_type_get_type), (register_gst_seek_type),
6492         (gst_seek_type_get_type), (register_gst_seek_flags),
6493         (gst_seek_flags_get_type), (register_gst_format),
6494         (gst_format_get_type), (register_gst_index_certainty),
6495         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6496         (gst_index_entry_type_get_type),
6497         (register_gst_index_lookup_method),
6498         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6499         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6500         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6501         (gst_index_flags_get_type), (register_gst_debug_level),
6502         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6503         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6504         (gst_iterator_result_get_type), (register_gst_iterator_item),
6505         (gst_iterator_item_get_type), (register_gst_message_type),
6506         (gst_message_type_get_type), (register_gst_mini_object_flags),
6507         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6508         (gst_pad_link_return_get_type), (register_gst_flow_return),
6509         (gst_flow_return_get_type), (register_gst_activate_mode),
6510         (gst_activate_mode_get_type), (register_gst_pad_direction),
6511         (gst_pad_direction_get_type), (register_gst_pad_flags),
6512         (gst_pad_flags_get_type), (register_gst_pad_presence),
6513         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6514         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6515         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6516         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6517         (gst_plugin_flags_get_type), (register_gst_rank),
6518         (gst_rank_get_type), (register_gst_query_type),
6519         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6520         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6521         (gst_tag_flag_get_type), (register_gst_task_state),
6522         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6523         (gst_alloc_trace_flags_get_type),
6524         (register_gst_type_find_probability),
6525         (gst_type_find_probability_get_type), (register_gst_uri_type),
6526         (gst_uri_type_get_type), (register_gst_parse_error),
6527         (gst_parse_error_get_type):
6528         * win32/common/gstenumtypes.h:
6529         * win32/common/gstversion.h:
6530           update visual studio generated files
6531
6532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * win32/vs6/libgstbase.dsp:
6535         * win32/vs6/libgstelements.dsp:
6536           update project files for new locations
6537
6538 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6539
6540         * Makefile.am:
6541           remove some files
6542         * README:
6543           reinstate and update
6544         * DEVEL:
6545         * REQUIREMENTS:
6546           removed
6547         * LICENSE:
6548         * docs/random/LICENSE:
6549           moved to random
6550
6551 2005-11-30  Edward Hervey  <edward@fluendo.com>
6552
6553         * gst/gsttypefind.c: (gst_type_find_register):
6554         * gst/gsttypefind.h:
6555         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6556         (gst_type_find_factory_dispose):
6557         * gst/gsttypefindfactory.h:
6558         Fix memory leak in GstTypeFindFactory.
6559
6560 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6561
6562         * gst/gst.c:
6563         * plugins/elements/Makefile.am:
6564         * plugins/elements/gstelements.c:
6565         * plugins/elements/gstqueue.c:
6566           move queue from core to the elements plugin
6567
6568 2005-11-29  Andy Wingo  <wingo@pobox.com>
6569
6570         * libs/gst/base/gstbasetransform.h: 
6571         * libs/gst/base/gstbasesrc.h: 
6572         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6573
6574         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6575         of pointers by which to pad very extensible base classes (like the
6576         ones in libs/gst/base).
6577
6578 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6579
6580         * docs/gst/gstreamer-docs.sgml:
6581         * docs/gst/gstreamer-sections.txt:
6582         * docs/libs/gstreamer-libs-docs.sgml:
6583         * docs/libs/gstreamer-libs-sections.txt:
6584           moving documentation from core to lib
6585
6586 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6587
6588         * check/Makefile.am:
6589         * configure.ac:
6590         * docs/gst/Makefile.am:
6591         * gst/Makefile.am:
6592         * gst/base/.cvsignore:
6593         * gst/base/Makefile.am:
6594         * gst/base/README:
6595         * gst/base/gstadapter.c:
6596         * gst/base/gstadapter.h:
6597         * gst/base/gstbasesink.c:
6598         * gst/base/gstbasesink.h:
6599         * gst/base/gstbasesrc.c:
6600         * gst/base/gstbasesrc.h:
6601         * gst/base/gstbasetransform.c:
6602         * gst/base/gstbasetransform.h:
6603         * gst/base/gstcollectpads.c:
6604         * gst/base/gstcollectpads.h:
6605         * gst/base/gstpushsrc.c:
6606         * gst/base/gstpushsrc.h:
6607         * gst/base/gsttypefindhelper.c:
6608         * gst/base/gsttypefindhelper.h:
6609         * gst/check/Makefile.am:
6610         * gst/check/gstcheck.c:
6611         * gst/check/gstcheck.h:
6612         * gst/net/Makefile.am:
6613         * gst/net/gstnet.h:
6614         * gst/net/gstnetclientclock.c:
6615         * gst/net/gstnetclientclock.h:
6616         * gst/net/gstnettimepacket.c:
6617         * gst/net/gstnettimepacket.h:
6618         * gst/net/gstnettimeprovider.c:
6619         * gst/net/gstnettimeprovider.h:
6620         * libs/gst/Makefile.am:
6621         * libs/gst/base/Makefile.am:
6622         * libs/gst/base/gstbasetransform.c:
6623         * libs/gst/check/Makefile.am:
6624         * plugins/elements/Makefile.am:
6625         * po/POTFILES.in:
6626           CVS surgery + support to move base, check, and net out of gst
6627           and into libs/gst
6628
6629 2005-11-29  Andy Wingo  <wingo@pobox.com>
6630
6631         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6632
6633         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6634         padding.
6635
6636         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6637
6638         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6639
6640         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6641
6642         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6643         padding; reduces object size by about 30%. We don't expect
6644         anything else to go into gstobject.
6645
6646         * gst/gstminiobject.h (struct _GstMiniObject)
6647         (struct _GstMiniObjectClass): Only one pointer of padding; the
6648         payload is only a pointer and two ints anyway. For the class there
6649         are only two methods as well.
6650         
6651         * gst/gstelement.h (struct _GstElementClass): Removed
6652         the state_changed signal callback, it is not used.
6653
6654 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * docs/gst/gstreamer.types:
6657           fix includes, though they are a little dinky
6658
6659 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6660
6661         * check/Makefile.am:
6662           look in the right place for elements, a lot more chance of
6663           success
6664         * gst/Makefile.am:
6665           remove indexers and elements subdirs
6666         * plugins/Makefile.am:
6667           make indexers conditional
6668
6669 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6670
6671         * Makefile.am:
6672         * configure.ac:
6673         * plugins/elements/Makefile.am:
6674         * plugins/elements/gstcapsfilter.c:
6675         * plugins/elements/gstfilesink.c:
6676         * plugins/elements/gstfilesrc.c:
6677         * plugins/elements/gstidentity.c:
6678         * plugins/indexers/Makefile.am:
6679           do CVS surgery and related build fixery to move elements
6680           and indexers in a new gstreamer/plugins directory, out of the
6681           gst/ directory
6682
6683 2005-11-29  Andy Wingo  <wingo@pobox.com>
6684
6685         * check/Makefile.am:
6686         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6687         * pkgconfig/gstreamer-net.pc.in:
6688         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6689         #322257.
6690
6691 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6692
6693         * tools/Makefile.am:
6694         * tools/gst-complete.1.in:
6695         * tools/gst-complete.c:
6696         * tools/gst-compprep.1.in:
6697         * tools/gst-compprep.c:
6698           removing -compprep and -complete
6699
6700 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6701
6702         * gst/gstevent.c: (gst_event_new_new_segment),
6703         (gst_event_parse_new_segment):
6704         * gst/gstevent.h:
6705           fix #320529 - clean up new_segment API and structure.
6706           Let's hope everyone was using the methods, and not the structure.
6707
6708 2005-11-29  Edward Hervey  <edward@fluendo.com>
6709
6710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6711         (gst_base_sink_event), (gst_base_sink_do_sync),
6712         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6713         Properly handle non GST_FORMAT_TIME segment
6714         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6715         Properly handle non GST_FORMAT_TIME segment
6716         * gst/gstsegment.c:
6717         This function is valid if the accumulator is 0 and the format
6718         is different from the requested format.
6719         
6720 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6721
6722         * docs/gst/gstreamer-sections.txt:
6723         Add gst_query_new_seeking and gst_query_parse_seeking to the
6724         docs.
6725
6726 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6727
6728         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6729           Treat a pad alloc with new caps the same as if we were not
6730           negotiated, in order to allow a changing upstream output
6731           to produce a new format of data.
6732
6733 2005-11-29  Edward Hervey  <edward@fluendo.com>
6734
6735         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6736         (gst_base_transform_event), (gst_base_transform_eventfunc):
6737         The event virtual method is now properly implemented, with a default
6738         handler
6739         Sub classes should call the parent_class event method. They should
6740         return FALSE if they had a problem handling the given event, or don't
6741         want GstBaseTransform to send that even downstream
6742         * gst/elements/gstidentity.c: (gst_identity_class_init),
6743         (gst_identity_init), (gst_identity_event),
6744         (gst_identity_transform_ip), (gst_identity_set_property),
6745         (gst_identity_get_property):
6746         * gst/elements/gstidentity.h:
6747         Added the single-segment boolean property.
6748         If set to TRUE, it will output a single segment of data, starting from
6749         0, will eat up all incoming newsegment, and modify the timestamp of the
6750         buffers accordingly
6751
6752 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6753
6754         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6755           Don't ref NULL target pad (#322751). Improve docs.
6756
6757 2005-11-29  Michael Smith  <msmith@fluendo.com>
6758
6759         * gst/gstregistryxml.c: (load_plugin):
6760           Don't crash if we failed to load a feature from a plugin. 
6761
6762 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6765         (GST_START_TEST):
6766           use more check API and less GLib API
6767
6768 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         * Makefile.am:
6771           don't run checks if we don't have check
6772         * common/check.mak:
6773           remove the registry when running make torture
6774         * docs/gst/gstreamer-sections.txt:
6775           remove second multiply
6776         * gst/gstqueue.c: (gst_queue_loop):
6777           fix a compile warning when disabling debug
6778
6779 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6780
6781         * gst/gstinfo.h:
6782         Hey! Let's print the pad name if the pointer != NULL instead
6783         of when it == NULL :-)
6784
6785 2005-11-28  Wim Taymans  <wim@fluendo.com>
6786
6787         * check/gst/gstutils.c: (GST_START_TEST):
6788         Updated check, add some scaling accuracy checking code.
6789
6790         * gst/gstutils.c: (gst_util_div128_64),
6791         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6792         (gst_util_uint64_scale_int):
6793         Fix 6 times faster division code. Optimize for common 
6794         1/1 and less common X/1 cases.
6795
6796 2005-11-28  Wim Taymans  <wim@fluendo.com>
6797
6798         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6799         More checks.
6800
6801         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6802         (do_linear_regression), (gst_clock_add_observation):
6803         Cleanups.
6804         Release lock when the clock cannot be slaved.
6805         Catch the case where the regression returned an invalid denominator.
6806
6807         * gst/gstutils.c: (gst_util_div128_64_iterate),
6808         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6809         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6810         Add protentially more performant non-iterative 128/64 divide function
6811         that unfortunatly does not work yet.
6812         Shortcut the trivial 0/X = 0 case.
6813         Remove the warnings on overflow.
6814
6815 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6816
6817         * gst/gstplugin.c: (gst_plugin_register_func):
6818           everything causing a plugin not to load should be at least a WARNING
6819
6820 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6821
6822         * docs/random/ensonic/dparams.txt:
6823           some TODOs for the next dev cycle
6824         * libs/gst/controller/gstcontroller.c:
6825         (gst_controlled_property_set_interpolation_mode),
6826         (gst_controlled_property_new):
6827         * libs/gst/controller/gstcontroller.h:
6828           use base type to assign acccessor functions
6829
6830 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6831
6832         * check/Makefile.am:
6833         Oops, that should have been top_srcdir
6834
6835 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6836
6837         * check/Makefile.am:
6838         * check/elements/fdsrc.c: (GST_START_TEST):
6839         Use a cmdline define to specify the location of a file to use for
6840         testing, to avoid breaking distcheck.
6841
6842 2005-11-28  Andy Wingo  <wingo@pobox.com>
6843
6844         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6845
6846 2005-11-28  Edward Hervey  <edward@fluendo.com>
6847
6848         * tools/gst-launch.c: (main):
6849         Clarify the output strings, makes it easier to translate.
6850         Fixes #322626
6851
6852 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6853
6854         * gst/Makefile.am:
6855           don't try and build net if we don't even have <sys/socket.h>
6856
6857 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6858
6859         * check/Makefile.am:
6860         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6861         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6862           Add tests for fdsrc seekability
6863
6864         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6865         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6866         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6867         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6868         * gst/elements/gstfdsrc.h:
6869           fdsrc should not be a 'live' source.
6870           Implement seeking on seekable fd's.
6871
6872         * gst/gstquery.c: (gst_query_new_seeking),
6873         (gst_query_parse_seeking):
6874         * gst/gstquery.h:
6875           Implement SEEKING query functions: 
6876             *_new_seeking and *_parse_seeking
6877
6878 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6879
6880         * gst/gstelement.c: (gst_element_dispose):
6881           don't loop forever
6882
6883         * gst/gstiterator.c:
6884         * gst/gststructure.c:
6885           doc fixes
6886
6887         * libs/gst/controller/gstcontroller.c:
6888         (gst_controlled_property_set_interpolation_mode):
6889         * libs/gst/controller/gstcontroller.h:
6890         * libs/gst/controller/gstinterpolation.c:
6891         (interpolate_none_get_enum_value_array):
6892           support controlling enums
6893
6894 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6895
6896         * gst/gstvalue.c:
6897           Improve documentation for gst_value_union().
6898
6899         * gst/gstvalue.h:
6900           Change return value for union, intersect and subtract functions
6901           from gint to gboolean.
6902
6903 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6904
6905         * gst/gstvalue.c: (gst_value_serialize_any_list),
6906         (gst_value_transform_any_list_string),
6907         (gst_value_deserialize_list), (gst_value_deserialize_array),
6908         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6909         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6910         (gst_value_set_fraction_range_full),
6911         (gst_value_deserialize_fraction_range),
6912         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6913         (gst_value_deserialize_boolean),
6914         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6915         (gst_value_serialize_float), (gst_value_deserialize_float),
6916         (gst_string_wrap), (gst_value_deserialize_string),
6917         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6918         (gst_value_union_int_range_int_range),
6919         (gst_value_intersect_int_range_int_range),
6920         (gst_value_intersect_double_range_double_range),
6921         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6922         (gst_value_subtract_int_range_int_range),
6923         (gst_value_subtract_double_double_range),
6924         (gst_value_subtract_double_range_double_range),
6925         (gst_value_deserialize_fraction):
6926         * gst/gstvalue.h:
6927           Use gint, gdouble and gchar in our API instead of int, double and
6928           char (and make usage in gstvalue.c more consistent).
6929
6930 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6931
6932         * check/Makefile.am:
6933         * libs/gst/controller/Makefile.am:
6934         * libs/gst/dataprotocol/Makefile.am:
6935           fix up Makefile.am and remove GST_ENABLE_NEW
6936
6937 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         * configure.ac:
6940         * gst/Makefile.am:
6941         * gst/base/Makefile.am:
6942         * gst/check/Makefile.am:
6943         * gst/elements/Makefile.am:
6944         * gst/net/Makefile.am:
6945           update LDFLAGS use some more
6946
6947 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * common/m4/gst-doc.m4:
6950           Fixes #312589
6951
6952 2005-11-26  Edward Hervey  <edward@fluendo.com>
6953
6954         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6955         This shouldn't issue a g_warning since it returns NULL if it
6956         couldn't find the plugin, and all functions using this behave
6957         properly on a NULL return. Switching to a GST_WARNING.
6958
6959 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6960
6961         * gst/gstbin.c: (gst_bin_handle_message_func):
6962         Don't leak clock messages.
6963
6964 2005-11-25  Wim Taymans  <wim@fluendo.com>
6965
6966         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6967         (gst_util_uint64_scale_int):
6968         Optimisations, remove unneeded vars.
6969
6970 2005-11-25  Wim Taymans  <wim@fluendo.com>
6971
6972         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6973         Added more checks for the high precision uint64 cases.
6974
6975         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6976         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6977         Implement high precision (guint64 * guint64) / guint64.
6978
6979 2005-11-24  Wim Taymans  <wim@fluendo.com>
6980
6981         * gst/base/gstbasesrc.c: (gst_base_src_query):
6982         Fix wrong percentage query.
6983
6984         * gst/gstutils.c: (gst_util_uint64_scale),
6985         (gst_util_uint64_scale_int):
6986         Add some more common cases that can be handled 
6987         efficiently to _scale.
6988
6989 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6992         (gst_mini_object_suite):
6993           don't use check calls from threads; check probably isn't
6994           threadsafe and using a lock to make it threadsafe would
6995           defeat the purpose of this check
6996         * gst/check/gstcheck.c:
6997         * gst/check/gstcheck.h:
6998           use GST_DEBUG some more
6999
7000 2005-11-24  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstutils.c: (gst_util_uint64_scale),
7003         (gst_util_uint64_scale_int):
7004         Chain trivial case to _scale_int.
7005
7006 2005-11-24  Wim Taymans  <wim@fluendo.com>
7007
7008         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7009         Added test for scaling.
7010
7011         * gst/gstclock.h:
7012         Small doc fix.
7013
7014         * gst/gstutils.c: (gst_util_uint64_scale_int):
7015         Implemented high precision scaling code.
7016
7017 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7018
7019         * gst/gstinfo.h:
7020           do not crash on pad==NULL
7021
7022 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         Patch by: Stefan Kost
7025
7026         * common/gtk-doc.mak:
7027         * docs/gst/Makefile.am:
7028         * docs/libs/Makefile.am:
7029           Fix distcheck issues for the libraries docs build
7030           Closes #319599.
7031
7032 2005-11-24  Michael Smith <msmith@fluendo.com>
7033
7034         * docs/manual/basics-helloworld.xml:
7035           Fix bug #315027: memory leak in example code in docs.
7036
7037 2005-11-24  Michael Smith <msmith@fluendo.com>
7038
7039         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7040           Unlock the PREROLL_LOCK in a failure case.
7041
7042 2005-11-24  Wim Taymans  <wim@fluendo.com>
7043
7044         * docs/gst/gstreamer-sections.txt:
7045         * gst/base/gstadapter.h:
7046         * gst/base/gstbasesink.h:
7047         * gst/base/gstbasesrc.h:
7048         * gst/base/gstbasetransform.h:
7049         * gst/base/gstpushsrc.h:
7050         * gst/elements/gstfakesink.h:
7051         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7052         * gst/elements/gstfakesrc.h:
7053         * gst/elements/gstfilesink.h:
7054         * gst/elements/gstfilesrc.h:
7055         * gst/gst.c:
7056         * gst/gstbin.c:
7057         * gst/gstbuffer.c: (_gst_buffer_copy):
7058         * gst/gstbus.h:
7059         * gst/gstcaps.c:
7060         * gst/gstchildproxy.c:
7061         * gst/gstclock.c:
7062         * gst/gstelement.c:
7063         * gst/gstelementfactory.c:
7064         * gst/gstelementfactory.h:
7065         * gst/gstevent.c:
7066         * gst/gstghostpad.h:
7067         * gst/gstindex.h:
7068         * gst/gstinterface.h:
7069         * gst/gstminiobject.c:
7070         * gst/gstminiobject.h:
7071         * gst/gstpad.c:
7072         * gst/gstpad.h:
7073         * gst/gstpadtemplate.h:
7074         * gst/gstpipeline.h:
7075         * gst/gstpluginfeature.h:
7076         * gst/gstquery.h:
7077         * gst/gstqueue.h:
7078         * gst/gsttaglist.c:
7079         * gst/gsttaglist.h:
7080         * gst/gsttagsetter.c:
7081         * gst/gsttagsetter.h:
7082         * gst/gsttrace.c:
7083         * gst/gsttrace.h:
7084         * gst/gsttypefind.h:
7085         * gst/gsturi.h:
7086         * gst/gstvalue.c:
7087         * gst/net/gstnetclientclock.c:
7088         * gst/net/gstnetclientclock.h:
7089         * gst/net/gstnettimepacket.c:
7090         * gst/net/gstnettimeprovider.c:
7091         * gst/net/gstnettimeprovider.h:
7092         Doc fixes.
7093
7094 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7095
7096         * configure.ac: back to HEAD
7097
7098 === release 0.9.6 ===
7099
7100 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7101
7102         * configure.ac:
7103           releasing 0.9.6, "Always On Time"
7104
7105 2005-11-23  Wim Taymans  <wim@fluendo.com>
7106
7107         * docs/gst/gstreamer-sections.txt:
7108         * gst/glib-compat.c:
7109         * gst/gsttagsetter.c:
7110         * gst/gstvalue.c:
7111         * gst/net/gstnetclientclock.c:
7112         * gst/net/gstnettimepacket.h:
7113         Doc updates.
7114
7115 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7116
7117         * docs/faq/using.xml:
7118         * docs/libs/tmpl/gstcontrol.sgml:
7119         * docs/manual/advanced-dparams.xml:
7120         * docs/manual/appendix-checklist.xml:
7121         * docs/manual/basics-elements.xml:
7122         * docs/pwg/other-source.xml:
7123         * docs/random/moving-plugins:
7124         * gst/gstpad.c:
7125         * tools/gst-launch.1.in:
7126           remove mentions of sinesrc
7127
7128 2005-11-23  Michael Smith <msmith@fluendo.com>
7129
7130         * docs/gst/gstreamer-sections.txt:
7131           Update for new API and API changes.
7132         * gst/gstobject.h:
7133           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7134         * gst/gstvalue.c:
7135           Documentation typo fix.
7136         * gst/net/gstnettimepacket.c:
7137           Documentation fixes for arguments.
7138
7139 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7140
7141         * gst/gststructure.c: (gst_structure_get_fraction),
7142         (gst_structure_parse_value),
7143         (gst_structure_fixate_field_nearest_fraction):
7144         * gst/gststructure.h:
7145         * gst/gstutils.c: (gst_util_uint64_scale_int):
7146         * gst/gstutils.h:
7147         * scripts/update-funcnames:
7148         API Changes. 
7149         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7150         Make gst_structure_fixate_field_nearest_fraction take a numerator
7151         and denominator argument instead of a GValue
7152         add gst_structure_get_fraction helper function.
7153
7154 2005-11-23  Wim Taymans  <wim@fluendo.com>
7155
7156         * docs/design/part-TODO.txt:
7157         Update TODO.
7158
7159         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7160         * gst/net/gstnetclientclock.h:
7161         Use parent fields for timeout and window_size.
7162
7163 2005-11-23  Andy Wingo  <wingo@pobox.com>
7164
7165         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7166         rate_num/rate_denom change.
7167
7168         * gst/net/gstnetclientclock.c
7169         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7170         OBJECT_LOCK. Don't call add_observation with the lock.
7171
7172         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7173         fraction.
7174         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7175         rate fraction.
7176         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7177         deal with rate as a fraction whose numerator and denominator are
7178         GstClockTime values.
7179         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7180         master; the other fields are protected by the SLAVE_LOCK.
7181         (do_linear_regression): Note that this must be called with the
7182         SLAVE_LOCK.
7183         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7184         OBJECT_LOCK. Call set_calibration instead of touching the
7185         variables directly.
7186         (gst_clock_set_property, gst_clock_get_property): Protect
7187         master/slave parameters with the SLAVE_LOCK.
7188
7189         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7190         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7191         note that all of the instance variables that add_observation and
7192         the set_master functions use are protected by that lock and not
7193         the OBJECT_LOCK.
7194         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7195
7196         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7197         the caller to take the object lock.
7198
7199 2005-11-23  Wim Taymans  <wim@fluendo.com>
7200
7201         * gst/gsterror.c: (_gst_core_errors_init):
7202         * gst/gsterror.h:
7203         Add error for clock stuff.
7204
7205         * gst/gstpipeline.c: (gst_pipeline_change_state),
7206         (gst_pipeline_set_clock):
7207         Post clock error when clock cannot be used in a pipeline.
7208
7209 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7210
7211         * docs/gst/gstreamer-sections.txt:
7212           make two symbols from gstinfo private for the docs
7213         * gst/base/gstcollectpads.h:
7214         * gst/gstutils.c:
7215           fix doc typos, update docs
7216
7217 2005-11-22  Wim Taymans  <wim@fluendo.com>
7218
7219         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7220         (gst_base_sink_wait), (gst_base_sink_do_sync),
7221         (gst_base_sink_handle_event):
7222         * gst/base/gstbasesink.h:
7223         No need to store the clock, the parent element class already
7224         has it.
7225
7226         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7227         Updates for clock_set returning a gboolean
7228
7229         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7230         (gst_clock_id_wait_async), (gst_clock_class_init),
7231         (gst_clock_init), (gst_clock_finalize),
7232         (gst_clock_get_internal_time), (gst_clock_get_time),
7233         (gst_clock_slave_callback), (gst_clock_set_master),
7234         (gst_clock_get_master), (do_linear_regression),
7235         (gst_clock_add_observation), (gst_clock_set_property),
7236         (gst_clock_get_property):
7237         * gst/gstclock.h:
7238         Implement master/slave. When setting a clock as a slave, a
7239         periodic timeout is scheduled to sample master and slave times.
7240         Then the slave clock is recalibrated to match offset and rate
7241         of the master clock.
7242         Update logging a bit.
7243         Add flag so that a clock can state that is cannot be slaved to
7244         another clock.
7245
7246         * gst/gstelement.c: (gst_element_set_clock):
7247         * gst/gstelement.h:
7248         The set clock returns a gboolean for when an element cannot
7249         deal with the selected clock in the pipeline. 
7250
7251         * gst/gstpipeline.c: (gst_pipeline_change_state),
7252         (gst_pipeline_set_clock):
7253         * gst/gstpipeline.h:
7254         Handle the case where the selected clock cannot be set on
7255         the pipeline.
7256
7257         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7258         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7259         (gst_net_client_clock_set_property),
7260         (gst_net_client_clock_get_property),
7261         (gst_net_client_clock_observe_times):
7262         * gst/net/gstnetclientclock.h:
7263         Use regression code in GstClock parent, remove duplicated
7264         functionality.
7265
7266 2005-11-22  Michael Smith <msmith@fluendo.com>
7267
7268         * gst/gstutils.c: (gst_util_clock_time_scale):
7269         * gst/gstutils.h:
7270         * docs/gst/gstreamer-sections.txt:
7271           Rename method to have extra underscore.
7272
7273 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7274
7275         * gst/elements/Makefile.am:
7276         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
7277         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7278         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7279         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
7280         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
7281         * gst/elements/gstfakesrc.h:
7282         * gst/gstqueue.c: (queue_leaky_get_type):
7283           correctly fix GEnumValues so that nick is the short lowercase
7284           dashed tag
7285         * tools/gst-inspect.c: (print_element_properties_info):
7286           also show the nick, since it's useful to use from parse_launch
7287           syntax
7288           Fixes #322139
7289
7290 2005-11-22  Michael Smith <msmith@fluendo.com>
7291
7292         * gst/gstutils.c: (gst_util_clocktime_scale):
7293         * gst/gstutils.h:
7294         * docs/gst/gstreamer-sections.txt:
7295           Add util method for scaling a clocktime by a fraction. Useful 
7296           implementation is left as an exercise for the reader.
7297
7298 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7299
7300         * gst/gstvalue.c: (gst_value_collect_fraction_range):
7301         If needed, allocate storage in the destination value during
7302         collection.
7303
7304 2005-11-22  Edward Hervey  <edward@fluendo.com>
7305
7306         * docs/gst/gstreamer-sections.txt:
7307         * gst/Makefile.am:
7308         * gst/gst.h:
7309         * gst/gsturitype.c:
7310         * gst/gsturitype.h:
7311         * gst/gstutils.c: (gst_util_set_object_arg):
7312         * tools/gst-compprep.c: (main):
7313         * tools/gst-inspect.c: (print_element_properties_info):
7314         Removed GstURI, closes bug #321061
7315
7316 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7317
7318         * check/gst/gststructure.c: (GST_START_TEST):
7319         * gst/gststructure.c: (gst_structure_parse_value):
7320           Oops, broke automatic string type parsing.
7321           Add a test to catch it in future.
7322
7323 2005-11-22  Andy Wingo  <wingo@pobox.com>
7324
7325         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7326         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7327         Actually rename the function implementations. Grr.
7328
7329 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7330
7331         * check/gst/capslist.h:
7332           Comment test cases
7333         * check/gst/gststructure.c: (GST_START_TEST),
7334         (gst_structure_suite):
7335           Test automatic value type detection in gst_structure_from_string.
7336         * gst/gststructure.c: (gst_structure_parse_value):
7337           Add fraction as a type we try and guess automatically in
7338           caps/structure strings.
7339
7340 2005-11-22  Andy Wingo  <wingo@pobox.com>
7341
7342         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7343
7344         * gst/gsttagsetter.h:
7345         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7346         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7347         (gst_tag_setter_add_tag_valist)
7348         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7349         _add_values, _add_valist, and _add_valist_values. Since this is an
7350         interface the function suffixes should be more explicit so
7351         language binding don't end up with element.add_valist ->
7352         gst_tag_setter_add_valist, for example. Fixes #322069.
7353
7354 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7355
7356         * check/gst/gstcaps.c: (GST_START_TEST):
7357           Extend caps string tests to check that a caps to string
7358           conversion is reversible and produces the same caps.
7359
7360         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7361           Output "fraction" as the generic type fraction range, so caps
7362           serialisation and deserialisation works.
7363         * check/gst/capslist.h:
7364         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7365           Support 'MIN' and 'MAX' for deserialising fractions.
7366
7367 2005-11-22  Andy Wingo  <wingo@pobox.com>
7368
7369         * gst/gstevent.h (gst_event_new_new_segment)
7370         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7371         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7372         Renamed from *_newsegment, *_buffersize, *_notarget.
7373
7374         * scripts/update-funcnames: New script, performs the changes
7375         listed above.
7376
7377 2005-11-22  Wim Taymans  <wim@fluendo.com>
7378
7379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7380         Make sure the GstFlowReturn is returned.
7381
7382         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7383         (gst_bus_add_signal_watch):
7384         * gst/gstbus.h:
7385         add gst_bus_add_signal_watch_full.
7386
7387         * gst/gstplugin.c: (gst_plugin_load_file):
7388         Small style cleanup.
7389
7390 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7391
7392         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7393           Block the fakesrc srcpad when we send an event, to avoid
7394           contention on the stream_lock causing random test failures.
7395
7396 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7397
7398         * check/gst/gstvalue.c: (GST_START_TEST):
7399         * gst/gstvalue.c: (gst_value_fraction_subtract):
7400           Fix subtraction.
7401
7402 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7403
7404         * gst/gst.h:
7405           include "gstchildproxy.h"
7406         * gst/gstchildproxy.h:
7407         * libs/gst/controller/gstcontroller.h:
7408           use G_GNUC_NULL_TERMINATED
7409
7410 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7411
7412         * check/gst/capslist.h:
7413         * check/gst/gstcaps.c: (GST_START_TEST):
7414         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7415         * gst/gststructure.c: (gst_structure_parse_range),
7416         (gst_structure_fixate_field_nearest_fraction):
7417         * gst/gststructure.h:
7418         * gst/gstvalue.c: (gst_value_init_fraction_range),
7419         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7420         (gst_value_collect_fraction_range),
7421         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7422         (gst_value_set_fraction_range_full),
7423         (gst_value_get_fraction_range_min),
7424         (gst_value_get_fraction_range_max),
7425         (gst_value_serialize_fraction_range),
7426         (gst_value_transform_fraction_range_string),
7427         (gst_value_compare_fraction_range),
7428         (gst_value_deserialize_fraction_range),
7429         (gst_value_intersect_fraction_fraction_range),
7430         (gst_value_intersect_fraction_range_fraction_range),
7431         (gst_value_subtract_fraction_fraction_range),
7432         (gst_value_subtract_fraction_range_fraction),
7433         (gst_value_subtract_fraction_range_fraction_range),
7434         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7435         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7436         (gst_value_transform_string_fraction), (_gst_value_initialize):
7437         * gst/gstvalue.h:
7438           Implement fraction ranges and extend GstFraction to support
7439           arithmetic subtraction, as well as deserialization from integer
7440           strings such as "100"
7441           Add a testsuite as for int and double range set operations
7442
7443 2005-11-21  Andy Wingo  <wingo@pobox.com>
7444
7445         * gst/gsttaglist.h: 
7446         * gst/gstcaps.h: 
7447         * gst/gststructure.h: Add glib-compat.h.
7448
7449 2005-11-21  Wim Taymans  <wim@fluendo.com>
7450
7451         * gst/gstbin.c: (gst_bin_change_state_func):
7452         Fix for #321595
7453
7454 2005-11-21  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstsegment.h:
7457         And add a nice define too.
7458
7459 2005-11-21  Wim Taymans  <wim@fluendo.com>
7460
7461         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7462         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7463         (gst_segment_set_duration), (gst_segment_set_last_stop),
7464         (gst_segment_set_seek), (gst_segment_set_newsegment),
7465         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7466         (gst_segment_clip):
7467         * gst/gstsegment.h:
7468         Make binding friendly.
7469
7470 2005-11-21  Andy Wingo  <wingo@pobox.com>
7471
7472         * gst/gsttagsetter.h: 
7473         * gst/gsttaglist.h: 
7474         * gst/gststructure.h: 
7475         * gst/gstcaps.h: 
7476         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7477         #319940.
7478
7479         * gst/gsterror.c (_gst_core_errors_init):
7480         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7481         category.
7482
7483         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7484         (noinst_HEADERS): noinst the -private.
7485
7486 2005-11-21  Michael Smith <msmith@fluendo.com>
7487
7488         * gst/gstplugin.h:
7489         * gst/gstregistry.h:
7490           Remove unimplemented declarations for which we can see no sensible
7491           use.
7492
7493 2005-11-21  Andy Wingo  <wingo@pobox.com>
7494
7495         * gst/gst.h: Include glib-compat.h.
7496
7497         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7498
7499         * gst/glib-compat.c: Include the public and the private header.
7500
7501         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7502
7503         * gst/gstvalue.c: 
7504         * gst/gstpad.c: 
7505         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7506
7507         * check/gst/gstevent.c (create_custom_events): Check that
7508         FLUSH_STOP is serialized.
7509
7510         * check/elements/identity.c (event_func): 
7511         * check/elements/fakesrc.c (event_func): No stream lock, the core
7512         takes it.
7513
7514         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7515         stream lock taking, yay.
7516
7517         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7518         ensure that core takes the stream lock.
7519
7520         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7521         lock name change.
7522
7523         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7524         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7525         it already. For the flush start we do take it though so we get the
7526         right preroll state change messages.
7527
7528         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7529         the stream lock here, the core does it for us.
7530
7531         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7532         GST_STREAM_GET_LOCK.
7533         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7534         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7535         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7536         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7537         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7538         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7539
7540         * gst/gstpad.c: Update for stream lock name change.
7541
7542         * gst/base/gstbasesink.c: Update for preroll lock name change.
7543
7544 2005-11-21  Wim Taymans  <wim@fluendo.com>
7545
7546         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7547         (gst_clock_get_master):
7548         * gst/gstclock.h:
7549         * gst/gstsystemclock.c: (gst_system_clock_init):
7550         Convert Clock flags to object flags.
7551         Added methods to manage master/slave clocks.
7552
7553 2005-11-21  Wim Taymans  <wim@fluendo.com>
7554
7555         * check/gst/gstsegment.c: (GST_START_TEST):
7556         * docs/design/part-TODO.txt:
7557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7558         (gst_base_sink_event), (gst_base_sink_do_sync),
7559         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7560         (gst_base_sink_query), (gst_base_sink_change_state):
7561         * gst/base/gstbasesink.h:
7562         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7563         (gst_base_src_default_newsegment),
7564         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7565         (gst_base_src_get_range), (gst_base_src_loop),
7566         (gst_base_src_change_state):
7567         * gst/base/gstbasesrc.h:
7568         * gst/base/gstbasetransform.c:
7569         (gst_base_transform_prepare_output_buf),
7570         (gst_base_transform_event), (gst_base_transform_change_state):
7571         * gst/base/gstbasetransform.h:
7572         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7573         (gst_collect_pads_event):
7574         * gst/base/gstcollectpads.h:
7575         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7576         (gst_fake_src_create):
7577         * gst/elements/gstfakesrc.h:
7578         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7579         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7580         (gst_segment_set_last_stop), (gst_segment_set_seek),
7581         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7582         (gst_segment_to_running_time), (gst_segment_clip):
7583         * gst/gstsegment.h:
7584         More segment updates, replace code in plugins with segment
7585         helper functions.
7586
7587 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7588
7589         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7590         Don't ignore sscanf results
7591
7592 2005-11-21  Andy Wingo  <wingo@pobox.com>
7593
7594         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7595
7596         * *.h:
7597         * *.c: Ran scripts/update-macros. Oh yes.
7598
7599         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7600         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7601         GST_GET_LOCK, etc.
7602
7603         * scripts/update-macros: New script. Run it on your files to
7604         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7605         well.
7606
7607 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7608
7609         * docs/gst/Makefile.am:
7610         * docs/gst/gstreamer-docs.sgml:
7611         * docs/gst/gstreamer-sections.txt:
7612         * docs/gst/gstreamer.types:
7613         * gst/gstinfo.h:
7614           more docs fixes, add new api to the docs
7615
7616 2005-11-21  Andy Wingo  <wingo@pobox.com>
7617
7618         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7619         state_broadcast call.
7620
7621         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7622
7623 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7624
7625         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7626         function calls for arrays.
7627
7628 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7629
7630         * docs/random/ensonic/media-device-daemon.txt:
7631           wild idea, can this be done?
7632         * docs/gst/gstreamer-sections.txt:
7633         * gst/gsterror.h:
7634         * gst/gstfilter.c:
7635         * gst/gstfilter.h:
7636         * gst/gstplugin.h:
7637         * gst/gstpluginfeature.c:
7638         * gst/gsttrace.c:
7639         * gst/gstvalue.c:
7640         * gst/gstvalue.h:
7641           doc fixes and additions
7642
7643 2005-11-21  Andy Wingo  <wingo@pobox.com>
7644
7645         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7646         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7647         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7648         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7649         private to the basesrc implementation.
7650
7651         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7652         behalf of event function if necessary. It should no longer be
7653         necessary to take the stream lock in pad's event functions. Fixes
7654         #320299.
7655
7656 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7657         * docs/gst/gstreamer-sections.txt:
7658         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7659         (gst_structure_fixate_field_nearest_double),
7660         (gst_structure_fixate_field_boolean):
7661         * gst/gststructure.h:
7662         * win32/common/libgstreamer.def:
7663         * win32/gstreamer.def:
7664
7665         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7666         (#322027)
7667
7668 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7669
7670         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7671         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7672         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7673         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7674         (gst_fdsrc_uri_handler_init):
7675         * gst/elements/gstfdsrc.h:
7676           Port fd:// URI handler from 0.8 to fdsrc
7677
7678 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7679
7680         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7681         (gst_value_serialize_fourcc):
7682         * gst/gstvalue.h:
7683           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7684           consistent with our other format defines (#320324).
7685
7686 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7687
7688         * gst/gstvalue.c: (gst_value_is_fixed):
7689           Revert previous commit. Value lists are by definition
7690           not fixed, as they are a list of possible values.
7691
7692 2005-11-21  Andy Wingo  <wingo@pobox.com>
7693
7694         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7695         during the stable series if we need it. Fixes #319178.
7696
7697         * gst/gstevent.c (gst_event_new_filler): Removed.
7698
7699         * check/gst/gstevent.c: Update comment about filler events.
7700
7701 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7702
7703         * gst/gstvalue.c: (gst_value_is_fixed):
7704           Should handle both value arrays and value lists.
7705
7706 2005-11-21  Andy Wingo  <wingo@pobox.com>
7707
7708         patch by: Alessandro Dessina <alessandro nnva org>
7709
7710         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7711         functions to access arrays. Fixes #321962.
7712
7713 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7714
7715         * docs/gst/gstreamer.types:
7716           gst_collectpads_get_type => gst_collect_pads_get_type.
7717           
7718         * gst/base/gstbasetransform.c:
7719           Remove unused SIGNAL_HANDOFF enum.
7720
7721 2005-11-21  Andy Wingo  <wingo@pobox.com>
7722
7723         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7724         the event type (upstream, downstream, serialized). Renamed
7725         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7726         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7727         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7728
7729         * gst/gstevent.c: Update for new CUSTOM event names.
7730
7731         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7732
7733         * gst/gstevent.h:
7734         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7735         bug #319392.
7736
7737 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7738
7739         * docs/gst/gstreamer-sections.txt:
7740         * win32/common/libgstbase.def:
7741         * win32/libgstbase.def:
7742         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7743         (gst_collect_pads_class_init), (gst_collect_pads_init),
7744         (gst_collect_pads_finalize), (gst_collect_pads_new),
7745         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7746         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7747         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7748         (gst_collect_pads_start), (gst_collect_pads_stop),
7749         (gst_collect_pads_peek), (gst_collect_pads_pop),
7750         (gst_collect_pads_available), (gst_collect_pads_read),
7751         (gst_collect_pads_flush), (gst_collect_pads_event),
7752         (gst_collect_pads_chain):
7753         * gst/base/gstcollectpads.h:
7754           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7755           unimplemented functions as unimplemented. Add padding to
7756           GstCollectData. (#320766, #320423)
7757
7758 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7759
7760         * gst/gstmessage.c:
7761           Improve docs for DURATION message (usage of duration parameter)
7762           (#320113)
7763
7764 2005-11-20  Wim Taymans  <wim@fluendo.com>
7765
7766         * check/Makefile.am:
7767         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7768         (main):
7769         * gst/Makefile.am:
7770         * gst/gst.h:
7771         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7772         (gst_segment_set_seek), (gst_segment_set_newsegment),
7773         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7774         (gst_segment_clip):
7775         * gst/gstsegment.h:
7776         Added segment helper structure and methods. Not fully implemented
7777         yet.
7778         Added segment check.
7779
7780 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7781
7782         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7783           Add a deserialisation test for fractions
7784         * examples/metadata/read-metadata.c: (message_loop),
7785         (make_pipeline), (main):
7786           Fix up metadata reading sample.
7787         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7788           Debug format fix
7789         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7790           Don't try and fixate empty caps
7791         * gst/gst_private.h:
7792           Wrap in G_BEGIN_DECLS/G_END_DECLS
7793         * gst/gstvalue.c: (gst_value_collect_fraction),
7794         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7795         (gst_value_transform_string_fraction),
7796         (gst_value_compare_fraction):
7797           Add some extra guards to ensure that we don't end up 
7798           with an invalid denominator of 0 in a gstfraction and
7799           that fractions always get reduced.
7800
7801 2005-11-20  Wim Taymans  <wim@fluendo.com>
7802
7803         * docs/gst/gstreamer-sections.txt:
7804         * gst/gstbuffer.h:
7805         * gst/gstelement.c:
7806         * gst/gstformat.c:
7807         * gst/gstformat.h:
7808         * gst/gstindex.h:
7809         * gst/gstquery.c:
7810         * gst/gstquery.h:
7811         * gst/gstvalue.c:
7812         Doc fixes.
7813
7814 2005-11-20  Wim Taymans  <wim@fluendo.com>
7815
7816         * docs/design/part-TODO.txt:
7817         * gst/gstcaps.h:
7818         Make a proper enum of the flag.
7819
7820 2005-11-19  Wim Taymans  <wim@fluendo.com>
7821
7822         * docs/design/part-TODO.txt:
7823         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7824         (gst_format_to_quark), (gst_format_register):
7825         * gst/gstformat.h:
7826         * gst/gstquery.c: (_gst_query_initialize),
7827         (gst_query_type_get_name), (gst_query_type_to_quark),
7828         (gst_query_type_register):
7829         * gst/gstquery.h:
7830         Add type to quark and type to string conversions.
7831
7832 2005-11-19  Andy Wingo  <wingo@pobox.com>
7833
7834         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7835         #320097.
7836
7837 2005-11-19  Wim Taymans  <wim@fluendo.com>
7838
7839         * docs/design/part-TODO.txt:
7840         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7841         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7842         (gst_bin_handle_message_func):
7843         * gst/gstbin.h:
7844         Make message handling overridable.
7845
7846 2005-11-19  Andy Wingo  <wingo@pobox.com>
7847
7848         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7849
7850         * gst/gstclock.h:
7851         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7852         be a GstClockTime.
7853         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7854         is a GstClockTime. Fixes #321710.
7855
7856         * gst/gstclock.h (GstClock): Remove offset property. Add
7857         internal_calibration and external_calibration. Fix padding. Pad
7858         also by GstClockTime so we don't run into problems.
7859
7860         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7861         (gst_clock_get_rate_offset): Remove.
7862         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7863
7864         * gst/gstutils.h:
7865         * gst/gstutils.c (g_static_rec_cond_wait)
7866         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7867
7868         * gst/gstbin.c: Remove terrible continue_state prototype.
7869
7870         * gst/gstelement.h (gst_element_continue_state): Make public.
7871
7872         * gst/gstelement.h:
7873         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7874         by continue_state. Fixes #319389.
7875
7876         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7877         Really fixes #168438. However I don't see anywhere where the
7878         filter function is called... stupid GStreamer...
7879         
7880         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7881         don't have a dispose function, so it won't get called when the
7882         object is unreffed, but oh well!
7883
7884         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7885         allows a destroy function to be set so user_data can be freed.
7886         Fixes #168438.
7887         (gst_index_set_filter): Call gst_index_set_filter_full.
7888
7889         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7890
7891         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7892         string should produce an error, given the lack of a way to
7893         represent NULL strings. Fixes #165650.
7894         
7895         * gst/gstvalue.h: 
7896         * gst/gstvalue.c (gst_value_array_append_value) 
7897         (gst_value_array_prepend_value, gst_value_array_get_size) 
7898         (gst_value_array_get_value): New API, copied from
7899         gst_value_list_*, only operates on arrays.
7900         (gst_value_list_append_value, gst_value_list_prepend_value) 
7901         (gst_value_list_concat, gst_value_list_get_size) 
7902         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7903
7904         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7905         init_list, because it works on both.
7906         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7907         (gst_value_copy_list_or_array): Renamed from copy_list.
7908         (gst_value_free_list_or_array): Renamed from free_list.
7909         (gst_value_collect_list_or_array): Renamed from collect_list.
7910         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7911         (gst_value_list_or_array_peek_pointer): Renamed from
7912         list_peek_pointer.
7913         (_gst_value_array_value_table, _gst_value_list_value_table):
7914         Update value table functions.
7915         (gst_value_compare_list_or_array): Renamed from compare_list.
7916
7917         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7918         some constness.
7919
7920         * gst/gsttaglist.c:
7921         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7922         GstTagList*. Fixes #143472.
7923
7924         * gst/gststructure.h: Clarify what the foreach/map functions can
7925         or can't do to their arguments.
7926
7927 2005-11-18  Wim Taymans  <wim@fluendo.com>
7928
7929         * gst/gstclock.c: (gst_clock_set_calibration),
7930         (gst_clock_get_calibration):
7931         Doc and API fixes.
7932         Calibration can be set with internal time equal to current
7933         internal time too.
7934
7935 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         * gst/gsterror.c:
7938         * gst/gsterror.h:
7939           document
7940
7941 2005-11-18  Andy Wingo  <wingo@pobox.com>
7942
7943         * configure.ac: 
7944         * pkgconfig/gstreamer-net.pc.in:
7945         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7946         * pkgconfig/Makefile.am: Add net pkgconfig files.
7947
7948 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7949
7950         * gst/gstcaps.c:
7951         * gst/gstghostpad.c:
7952         * gst/gsttrace.c:
7953         * gst/gstvalue.c:
7954         * gst/gstvalue.h:
7955           docs fixes
7956
7957 2005-11-18  Andy Wingo  <wingo@pobox.com>
7958
7959         * gst/net/gstnetclientclock.c: Turn off debugging.
7960
7961         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7962         times connverge somewhat. Can't make a real test.
7963
7964         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7965         integer arithmetic. Return the minimum of the domain, which can be
7966         set as "internal" for gst_clock_set_calibration.
7967         (gst_net_client_clock_observe_times): Call _set_calibration.
7968         (gst_net_client_clock_new): Call _set_calibration instead of
7969         rate_offset.
7970
7971         * check/net/gstnetclientclock.c (test_functioning): Use the right
7972         adjustment api.
7973
7974         * gst/gstclock.h:
7975         * gst/gstclock.c (gst_clock_get_calibration) 
7976         (gst_clock_set_calibration): New functions, obsolete the ones I
7977         added yesterday. Doh. Precision issues mean we have to extrapolate
7978         from a point in the more recent past than 1970.
7979         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7980         obsolete.
7981         (gst_clock_adjust_unlocked): Use the right calibration data.
7982
7983 2005-11-18  Edward Hervey  <edward@fluendo.com>
7984
7985         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7986         Also reset the ->current_* values in READY->PAUSED
7987
7988 2005-11-18  Andy Wingo  <wingo@pobox.com>
7989
7990         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7991         Whoops, check the right fd. Also add some debugging.
7992         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7993         (do_linear_regression): Add a crapload of debugging. Subtract off
7994         the minimum values from the input series to discard unneeded bits.
7995         Use only int arithmetic. There is still double arithmetic when
7996         calculating the intercept that needs fixing. Return boolean to
7997         indicate success; FALSE would mean the domain or range is too
7998         great. Still needs fixes.
7999
8000 2005-11-18  Wim Taymans  <wim@fluendo.com>
8001
8002         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8003         For the current position in stream time, we need to subtract
8004         accumulated time.
8005         
8006         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8007         Release lock before calling the callback function of async
8008         entries.
8009
8010 2005-11-18  Andy Wingo  <wingo@pobox.com>
8011
8012         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8013         Port goes all the way to MAXUINT16.
8014
8015         * gst/net/gstnettimeprovider.c: Make the port range the same as
8016         for the kernel: 0 assigns, otherwise ports are less than
8017         MAXUINT16.
8018
8019         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8020         port change.
8021
8022         * check/net/gstnetclientclock.c (test_functioning): Add the start
8023         of another test. 
8024
8025 2005-11-18  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8028         (gst_bin_remove_func), (bin_bus_handler):
8029         * gst/gstbin.h:
8030         Removing a clock provider from a bin, triggers a clock lost message
8031         so that a new clock will be selected.
8032         Adding a clock to a bin triggers a clock provider message.
8033         Make sure we reselect a clock when we received a clock lost message.
8034         Keep a reference to the element that provided the clock.
8035
8036 2005-11-18  Andy Wingo  <wingo@pobox.com>
8037
8038         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8039         the clock initially so it produces values around the base time.
8040         (gst_net_client_clock_class_init): Typo fix.
8041         (gst_net_client_clock_thread): Add note on when the socket gets
8042         closed.
8043
8044 2005-11-17  Wim Taymans  <wim@fluendo.com>
8045
8046         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8047         Free remote and local time arrays.
8048
8049 2005-11-17  Wim Taymans  <wim@fluendo.com>
8050
8051         * gst/net/gstnetclientclock.c: (do_linear_regression),
8052         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8053         Fix compilation, uninitialized vars and a forgotten continue.
8054
8055 2005-11-17  Andy Wingo  <wingo@pobox.com>
8056
8057         * check/Makefile.am (check_PROGRAMS): 
8058         * check/net/gstnetclientclock.c: Add a most minimal test for the
8059         net client clock. More to come later.
8060
8061         * gst/net/gstnet.h: 
8062         * gst/net/Makefile.am: Add netclientclock.
8063
8064         * gst/net/gstnetclientclock.h:
8065         * gst/net/gstnetclientclock.c: New files, implement an untested
8066         GstClock that takes its time from a network time provider.
8067         Implements the algorithm in network-clock.scm.
8068
8069         * tests/network-clock.scm (*window-size*): Rename from
8070         *queue-length*.
8071         * tests/network-clock.scm (network-time): 
8072         * tests/network-clock-utils.scm (q-push): Update callers.
8073
8074 2005-11-17  Wim Taymans  <wim@fluendo.com>
8075
8076         * gst/gstbin.c: (gst_bin_provide_clock_func),
8077         (gst_bin_sort_iterator_new):
8078         And unref the child too..
8079
8080 2005-11-17  Wim Taymans  <wim@fluendo.com>
8081
8082         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8083         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8084         Refactor the sort iterator so it can be used while holding the
8085         LOCK too.
8086         Make clock selection select a clock closest to the source.
8087
8088 2005-11-17  Michael Smith <msmith@fluendo.com>
8089
8090         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8091         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8092         * gst/gstclock.h:
8093           Anonymous structs are a gcc (and some other compilers) extension, so
8094           don't use them. Since this is only for ABI-compatibility, and our
8095           API/ABI freeze is over in a few days, this whole thing will only
8096           last a few days, so don't bother trying to think up a meaningful
8097           name for the struct.
8098
8099 2005-11-17  Andy Wingo  <wingo@pobox.com>
8100
8101         * gst/gstclock.h (GstClock): Add rate and offset properties,
8102         preserving ABI stability. Add rate/offset accessors. Will file bug
8103         for the freeze break.
8104
8105         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8106         and offset, trying to keep precision and avoiding
8107         underflow/overflow.
8108         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8109         functions. Make gst_clock_set_time_adjust obsolete.
8110         (gst_clock_set_time_adjust): Note that this function is obsolete.
8111         Will file bug soon.
8112
8113         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8114         greppable by using GST_PADDING-1+1.
8115
8116 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8117
8118         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8121           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8122
8123         * gst/gstpadtemplate.h:
8124         * gst/gstpluginfeature.h:
8125           Don't use c++ style comments in headers (#321638).
8126
8127 2005-11-16  Andy Wingo  <wingo@pobox.com>
8128
8129         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8130         buffer.
8131
8132         * check/net/gstnettimeprovider.c: Check to see that the time
8133         provider actually provides times. Works, yo!
8134
8135 2005-11-16  Wim Taymans  <wim@fluendo.com>
8136
8137         * check/Makefile.am:
8138         Enable more tests.
8139
8140         * check/elements/fakesrc.c: (GST_START_TEST):
8141         Set element to NULL before disposing it.
8142
8143 2005-11-16  Andy Wingo  <wingo@pobox.com>
8144
8145         * gst/net/Makefile.am:
8146         * gst/net/gstnet.h:
8147         * gst/net/gstnettimeprovider.c: 
8148         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8149         provider, include it from gstnet.h, and add it to the build.
8150
8151         * gst/net/gstnettimepacket.h: 
8152         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8153         sending and receiving.
8154
8155 2005-11-16  Wim Taymans  <wim@fluendo.com>
8156
8157         * check/Makefile.am:
8158         Enable valgrind check.
8159
8160         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8161         (gst_fake_src_alloc_buffer):
8162         Fix memleak.
8163
8164 2005-11-16  Wim Taymans  <wim@fluendo.com>
8165
8166         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8167         Call parent finalize too.
8168
8169 2005-11-16  Wim Taymans  <wim@fluendo.com>
8170
8171         * check/Makefile.am:
8172         Enable valgrind check that should work fine now.
8173
8174         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8175         * gst/gstqueue.c: (gst_queue_init):
8176         Fix memleaks in pad allocation.
8177
8178 2005-11-16  Andy Wingo  <wingo@pobox.com>
8179
8180         * gst/net/Makefile.am:
8181         * gst/net/gstnet.h: New part of core to hold network elements and
8182         objects. Put in core because it exposes API that applications want
8183         to use. The library is named libgstnet-tempname right now because
8184         of the existing libgstnet in gst-plugins-base. Solution is
8185         probably to rename the one in plugins-base; will file a bug for
8186         the freeze break.
8187
8188         * gst/net/gstnettimeprovider.c: 
8189         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8190         get_time call over the network.
8191
8192         * configure.ac: 
8193         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8194
8195         * check/Makefile.am:
8196         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8197         get additions shortly.
8198
8199 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8200
8201         * gst/gstpad.c: (gst_pad_new_from_static_template):
8202         * gst/gstpad.h:
8203           add gst_pad_new_from_static_template functions
8204         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8205         (gst_check_setup_sink_pad):
8206         * gst/elements/gsttee.c: (gst_tee_init):
8207           and use them
8208
8209 2005-11-16  Wim Taymans  <wim@fluendo.com>
8210
8211         * gst/gstpad.c: (gst_pad_pause_task):
8212         Removed warning, it's not really an error either.
8213
8214 2005-11-16  Wim Taymans  <wim@fluendo.com>
8215
8216         * gst/base/gstbasetransform.c:
8217         (gst_base_transform_prepare_output_buf),
8218         (gst_base_transform_event):
8219         Check if the caps are NULL, this can happen if the element
8220         is shutting down and the pad caps are set to NULL.
8221
8222 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8223
8224         * gst/elements/gsttee.c: (gst_tee_init):
8225           fix pad template leak in tee
8226
8227 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8228
8229         * gst/glib-compat.c: (g_value_dup_gst_object):
8230         * gst/glib-compat.h:
8231         * gst/gstpad.c: (gst_pad_set_property):
8232           use gst_object_ref when setting the pad template; this will
8233           trigger the pad template leaks on GLib 2.6 and the slaves
8234
8235 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * gst/glib-compat.c: (gst_flags_get_first_value):
8238         * gst/glib-compat.h:
8239         * gst/gstregistryxml.c:
8240           remove functions copied from GLib 2.6
8241
8242 2005-11-16  Michael Smith <msmith@fluendo.com>
8243
8244         * gst/Makefile.am:
8245           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8246           do, but only breaks with newer valgrind versions. We're not a
8247           valgrind tool, we have no link-time dependencies on libcoregrind.
8248
8249 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8252           some debug changes
8253         * gst/gstmessage.h:
8254           typo fixes
8255
8256 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8257
8258         * gst/base/gstbasesrc.c: (gst_base_src_init):
8259         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8260         * gst/gstqueue.c: (gst_queue_init):
8261         * gst/gstregistryxml.c: (load_feature):
8262           Revert all these unrefs, they don't even pass make check !
8263
8264 2005-11-15  Johan Dahlin  <johan@gnome.org>
8265
8266         * gst/base/gstbasesrc.c: (gst_base_src_init):
8267         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8268         * gst/gstqueue.c: (gst_queue_init): 
8269         Free pad templates, fixes a couple of leaks.
8270
8271 2005-11-15  Daniel Fischer  <dan at f3c dot com>
8272
8273         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8274
8275         * gst/gstpad.c: (gst_pad_get_property):
8276           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
8277           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
8278           (#321452)
8279
8280 2005-11-15  Wim Taymans  <wim@fluendo.com>
8281
8282         * gst/gstevent.c:
8283         Small doc update.
8284
8285 2005-11-15  Andy Wingo  <wingo@pobox.com>
8286
8287         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
8288
8289         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
8290         using GST_CLOCK_TIME_NONE to disable base time management.
8291         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
8292         time if it was NONE before.
8293         (gst_pipeline_change_state): Only munge the base time if
8294         stream_time != GST_CLOCK_TIME_NONE.
8295
8296         * check/gst/gstpipeline.c (test_base_time): Punt around the
8297         problem of the probe not being called, because that's not the
8298         issue I'm looking at. Add a check that setting stream_time to NONE
8299         disables base time management.
8300         
8301 2005-11-15  Wim Taymans  <wim@fluendo.com>
8302
8303         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8304         segment_stop == -1 at startup.
8305
8306         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8307         (gst_base_transform_change_state):
8308         Init segment values at start.
8309
8310 2005-11-15  Wim Taymans  <wim@fluendo.com>
8311
8312         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8313         0 segment values are 0 in any format.
8314
8315         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8316         * gst/base/gstbasetransform.h:
8317         Parse newsegment correctly in basetransform
8318
8319         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8320         Sync to clock using updated segment values.
8321
8322 2005-11-15  Andy Wingo  <wingo@pobox.com>
8323
8324         * check/gst/gstpipeline.c (test_base_time): Add check that the
8325         base time and stream time are reset correctly.
8326
8327 2005-11-15  Wim Taymans  <wim@fluendo.com>
8328
8329         * docs/design/part-TODO.txt:
8330         Some more TODO items.
8331
8332 2005-11-15  Andy Wingo  <wingo@pobox.com>
8333
8334         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8335         error if the user selected "no clock" as the clocking method.
8336
8337         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8338         timestamps with live capture.
8339
8340         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8341         is 0 but we are a live source, timestamp the buffers using the
8342         element's clock.
8343
8344 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8345
8346         * docs/gst/gstreamer-sections.txt:
8347         * gst/gsterror.c:
8348         * gst/gstghostpad.c:
8349         * gst/gstobject.h:
8350         * gst/gstxml.c:
8351           more section docs
8352
8353 2005-11-14  Wim Taymans  <wim@fluendo.com>
8354
8355         * common/gst.supp:
8356           add suppressions from Wim's Debian machine
8357
8358 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * common/gst.supp:
8361           add suppressions from Andy's AMD64 Ubuntu machine
8362
8363 2005-11-14  Andy Wingo  <wingo@pobox.com>
8364
8365         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8366         STATE_LOCK not necessary. Fixes #311489.
8367
8368         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8369         #305291.
8370
8371         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8372         this function is not implemented.
8373
8374 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8375
8376         * gst/base/gstbasetransform.c:
8377         (gst_base_transform_prepare_output_buf):
8378         Ref the source pad caps while we need them.
8379         Fixes (#321386)
8380
8381 2005-11-11  Wim Taymans  <wim@fluendo.com>
8382
8383         * docs/gst/gstreamer-sections.txt:
8384         Added some docs for GstCollectData.
8385
8386         * gst/base/gstadapter.c:
8387         Some small code example fix.
8388
8389         * gst/base/gstcollectpads.c:
8390         * gst/base/gstcollectpads.h:
8391         Document some more.
8392
8393 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8394
8395         * configure.ac: back to HEAD
8396
8397 === release 0.9.5 ===
8398
8399 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8400
8401         * configure.ac:
8402           releasing 0.9.5, "Bike Lunch Day"
8403
8404 2005-11-11  Wim Taymans  <wim@fluendo.com>
8405
8406         * gst/gstbuffer.c: (_gst_buffer_copy):
8407         Copy more flags.
8408
8409         * gst/gstcaps.c: (gst_caps_is_equal):
8410         Fix some docs.
8411         Make _is_equal fast in the trivial cases.
8412
8413         * gst/gstminiobject.c:
8414         * gst/gstminiobject.h:
8415         More docs. Spifify .h file.
8416
8417         * gst/gstutils.c:
8418         Small doc update.
8419
8420 2005-11-11  Wim Taymans  <wim@fluendo.com>
8421
8422         * gst/base/gstbasetransform.c:
8423         (gst_base_transform_prepare_output_buf),
8424         (gst_base_transform_handle_buffer):
8425         Small cleanups.
8426         If we're processing a buffer and need to allocate an output
8427         buffer, we cannot accept a format change. If we did get a 
8428         format change, we have to alloc a buffer ourselves of the 
8429         right size.
8430
8431 2005-11-11  Wim Taymans  <wim@fluendo.com>
8432
8433         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8434         While checking the flag for reentrancy in the gstcaps function
8435         is nice to detect recursive invocations, it also makes it 
8436         impossible to call getcaps from multiple threads, which must be
8437         possible. So, checking for recursive calls has to go.
8438
8439 2005-11-11  Michael Smith <msmith@fluendo.com>
8440
8441         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8442           Don't sync on buffers that fall partially outside our current
8443           segment. Prevents an assertion failure/abort playing some files.
8444
8445 2005-11-10  Andy Wingo  <wingo@pobox.com>
8446
8447         * check/gst/gstbin.c (test_message_state_changed_children): Style
8448         fix..
8449
8450         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8451         gst_bus_poll with the signal watch. Ensures that poll and a signal
8452         watch see the same messages.
8453
8454         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8455         a poll and a watch at the same time get the same messages.
8456
8457 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8460         * gst/gstcaps.c: (gst_caps_intersect):
8461           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8462           and it's not needed.
8463
8464 2005-11-10  Wim Taymans  <wim@fluendo.com>
8465
8466         * docs/design/part-TODO.txt:
8467         Updated todo.
8468
8469 2005-11-10  Wim Taymans  <wim@fluendo.com>
8470
8471         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8472         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8473         (gst_base_src_do_sync), (gst_base_src_get_range):
8474         Implement clock sync in base class.
8475
8476 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         patch by: Tim-Philipp Müller <tim at centricular dot net>
8479
8480         * gst/gststructure.c: (gst_structure_parse_field),
8481         (gst_structure_from_string):
8482           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8483           so that gst_parse_launch() can deal with spaces in filtered link
8484           caps (fixes #164479)
8485         * check/gst/capslist.h:
8486         * check/gst/gststructure.c: (GST_START_TEST):
8487           add unit tests for this change
8488
8489 2005-11-10  Wim Taymans  <wim@fluendo.com>
8490
8491         * docs/gst/gstreamer-sections.txt:
8492         * gst/gstelement.c:
8493         * gst/gstelement.h:
8494         Fix docs, move some STATE macros to private.
8495
8496 2005-11-10  Wim Taymans  <wim@fluendo.com>
8497
8498         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8499         Added check for bug #317341
8500
8501         * gst/gstbuffer.c:
8502         * gst/gstbuffer.h:
8503         Some more spiffifying.
8504
8505         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8506         Call peer linkfunction if we are a source pad. Totally fixes
8507         #317341
8508
8509         * gst/gstpad.c:
8510         Update docs, source pads should call the peer linkfunction
8511         so they can atomically perform the pad link.
8512
8513 2005-11-09  Wim Taymans  <wim@fluendo.com>
8514
8515         * gst/gstbuffer.c:
8516         * gst/gstbuffer.h:
8517         Uber-spiffy-spiffify some more.
8518
8519 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8520
8521         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8522         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8523         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8524         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8525         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8526         * gst/gstpad.c: (gst_pad_init):
8527           Use GST_DEBUG_FUNCPTR() more extensively.
8528
8529 2005-11-09  Wim Taymans  <wim@fluendo.com>
8530
8531         * gst/gstobject.c: (gst_object_class_init):
8532         * gst/gstobject.h:
8533         Documentation fixes.
8534
8535 2005-11-09  Edward Hervey  <edward@fluendo.com>
8536
8537         * gst/gsttypefindfactory.c:
8538         Fix docs.
8539         
8540 2005-11-09  Edward Hervey  <edward@fluendo.com>
8541
8542         * gst/base/gsttypefindhelper.c:
8543         * gst/gsttypefind.c:
8544         * gst/gsttypefind.h:
8545         Fix docs.
8546
8547 2005-11-09  Wim Taymans  <wim@fluendo.com>
8548
8549         * gst/gstiterator.c:
8550         Fix revision data.
8551
8552         * gst/gsttask.c:
8553         * gst/gsttask.h:
8554         Fix docs.
8555
8556 2005-11-09  Wim Taymans  <wim@fluendo.com>
8557
8558         * gst/gstevent.h:
8559         * gst/gsturi.h:
8560         Fix docs.
8561
8562 2005-11-09  Wim Taymans  <wim@fluendo.com>
8563
8564         * docs/gst/gstreamer-sections.txt:
8565         Moved the message async delivery private lock and cond
8566         to the private section.
8567
8568         * gst/gstmessage.c:
8569         * gst/gstmessage.h:
8570         Fixed docs.
8571
8572 2005-11-09  Edward Hervey  <edward@fluendo.com>
8573
8574         * docs/gst/gstreamer-sections.txt:
8575         * gst/gsturi.c:
8576         * gst/gsturi.h:
8577         Document GstURIHandler
8578
8579 2005-11-09  Wim Taymans  <wim@fluendo.com>
8580
8581         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8582         (gst_iterator_find_custom):
8583         * gst/gstiterator.h:
8584         Fix iterator docs.
8585
8586 2005-11-09  Wim Taymans  <wim@fluendo.com>
8587
8588         * gst/gstbin.h:
8589         Document another field.
8590
8591         * gst/gststructure.c:
8592         * gst/gststructure.h:
8593         Document.
8594
8595 2005-11-09  Wim Taymans  <wim@fluendo.com>
8596
8597         * gst/gstbin.h:
8598         Documented structs.
8599
8600 2005-11-09  Wim Taymans  <wim@fluendo.com>
8601
8602         * docs/gst/gstreamer-sections.txt:
8603         Added some new macros.
8604
8605         * gst/gstclock.c:
8606         * gst/gstclock.h:
8607         * gst/gstobject.h:
8608         Docs updates.
8609
8610 2005-11-09  Wim Taymans  <wim@fluendo.com>
8611
8612         * docs/design/part-TODO.txt:
8613         Some more items for the TODO
8614
8615         * gst/gstcaps.c:
8616         * gst/gstcaps.h:
8617         Document GstCaps.
8618
8619 2005-11-09  Andy Wingo  <wingo@pobox.com>
8620
8621         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8622         to work on something else now tho...
8623
8624         * gst/base/gstadapter.c: More adapter docs.
8625
8626         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8627         (gst_file_sink_stop): New functions, replace the state change
8628         handler.
8629         (gst_file_sink_class_init): Hook up the start and stop functions.
8630         (gst_file_sink_base_init): Don't set the state change handler any
8631         more. It was a bit ugly too, being set from here...
8632         (gst_file_sink_get_property, gst_file_sink_set_property):
8633         Cleanups...
8634         (gst_file_sink_set_location): More robust check that doesn't call
8635         GST_STATE. Ugggggg.
8636
8637 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8638
8639         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8640           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8641
8642 2005-11-08  Wim Taymans  <wim@fluendo.com>
8643
8644         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8645         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8646         (gst_base_sink_chain), (gst_base_sink_change_state):
8647         * gst/base/gstbasesink.h:
8648         * gst/base/gstbasesrc.h:
8649         * gst/gstelement.h:
8650         * gst/gstevent.h:
8651         Avoid excessive typechecking in macros.
8652
8653         * gst/gstminiobject.c: (gst_mini_object_get_type),
8654         (gst_mini_object_init), (gst_mini_object_new),
8655         (gst_mini_object_free):
8656         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8657         (gst_object_finalize):
8658         Remove cruft code, optimize alloc_trace.
8659
8660 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8661
8662         * docs/faq/gst-uninstalled:
8663           fix up PS1 for systems that try to reset it
8664
8665 2005-11-07  Wim Taymans  <wim@fluendo.com>
8666
8667         * gst/base/gstbasesrc.c: (gst_base_src_init),
8668         (gst_base_src_get_range):
8669         Set the segment_end to -1 initially. Fixed typefind.
8670
8671 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * gst/base/gstadapter.c:
8674           Debug category should be 'adapter', not 'GstAdapter'.
8675           
8676         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8677         (gst_collectpads_class_init), (gst_collectpads_init),
8678         (gst_collectpads_peek), (gst_collectpads_pop),
8679         (gst_collectpads_event), (gst_collectpads_chain):
8680           Add debug category and some debugging output. Use boilerplate
8681           macros. Remove some extraneous words from docs.
8682
8683 2005-11-05  Andy Wingo  <wingo@pobox.com>
8684
8685         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8686         macro.
8687
8688 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8689
8690         * docs/gst/gstreamer-sections.txt:
8691         * gst/gstcaps.h:
8692         * gst/gstinfo.c:
8693         * gst/gstminiobject.h:
8694         * gst/gstobject.h:
8695         * gst/gstutils.h:
8696           more docs added
8697
8698 2005-11-04  Wim Taymans  <wim@fluendo.com>
8699
8700         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8701         Small update to stop at the configured segment_end
8702         position.
8703
8704 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8705
8706         * gst/gstregistry.c:
8707         * gst/gstregistry.h:
8708           added missing docs
8709
8710 2005-11-04  Edward Hervey  <edward@fluendo.com>
8711
8712         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8713         Check if we are doing a segment seek and have arrived at the
8714         end of that segment.
8715
8716 2005-11-04  Wim Taymans  <wim@fluendo.com>
8717
8718         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8719         Don't leak a mutex unlock in case of an error.
8720
8721         * gst/gstbus.h:
8722         Doc fixes.
8723
8724 2005-11-04  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8727         (gst_bus_post):
8728         Get the context to wake up only once.
8729
8730 2005-11-03  Wim Taymans  <wim@fluendo.com>
8731
8732         * check/states/sinks.c: (GST_START_TEST):
8733         Uncomment fixed check.
8734
8735         * docs/design/part-TODO.txt:
8736         Updated TODO.
8737
8738         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8739         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8740         (gst_base_sink_get_position):
8741         If we are going to PLAYING, post the right pending state
8742         when we post the intermediate paused message.
8743
8744         * gst/gstelement.c: (gst_element_continue_state),
8745         (gst_element_set_state_func), (gst_element_change_state):
8746         Don't post state changes that were between the same state
8747         and were not ASYNC.
8748
8749 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8750
8751         * docs/gst/gstreamer-sections.txt:
8752         * gst/gstcaps.h:
8753         * gst/gstinfo.c:
8754         * gst/gstminiobject.h:
8755         * gst/gstobject.h:
8756         * gst/gstutils.h:
8757           more docs and doc style fixes
8758
8759 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8760
8761         * docs/gst/gstreamer-sections.txt:
8762         * gst/gstelement.c:
8763         * gst/gstminiobject.c:
8764         doc fixes
8765
8766 2005-11-03  Andy Wingo  <wingo@pobox.com>
8767
8768         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8769         state-changed messages actually have the right order and the right
8770         values.
8771
8772 2005-11-03  Wim Taymans  <wim@fluendo.com>
8773
8774         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8775         Added some more checks. Specifically the case where NO_PREROLL
8776         elements are in the pipeline.
8777
8778         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8779         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8780         (gst_base_sink_get_position):
8781         Post READY->PAUSED state change messages too.
8782         Fix bug where VOID was posted as pending state...
8783
8784         * gst/gstbin.c: (gst_bin_recalc_state):
8785         use _element_continue_state() to continue the state change.
8786
8787         * gst/gstelement.c: (gst_element_continue_state),
8788         (gst_element_commit_state), (gst_element_set_state_func),
8789         (gst_element_change_state), (gst_element_change_state_func):
8790         Lots of state change cleanups, assign the STATE_RETURN in
8791         a new continue_state() function that also propagates the
8792         last return value from a state change to the app.
8793         Update some debug statements with proper category.
8794
8795 2005-11-03  Wim Taymans  <wim@fluendo.com>
8796
8797         * docs/design/part-events.txt:
8798         * docs/design/part-gstpipeline.txt:
8799         * docs/design/part-messages.txt:
8800         * docs/design/part-overview.txt:
8801         * docs/design/part-seeking.txt:
8802         * docs/design/part-states.txt:
8803         * docs/design/part-trickmodes.txt:
8804         * docs/manual/advanced-position.xml:
8805         Small docs updates.
8806
8807         * gst/gstobject.h:
8808         People think !! is ugly, this looks better.
8809
8810         * gst/gstpad.c: (gst_pad_set_blocked_async):
8811         Remove !! since it's fixed elsewhere now.
8812
8813 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8814
8815         * gst/gstminiobject.h:
8816         * gst/gstobject.h:
8817           Add !! to _FLAG_IS_SET macros to make the result boolean.
8818
8819 2005-11-03  Edward Hervey  <edward@fluendo.com>
8820
8821         * gst/gstpad.c: (gst_pad_set_blocked_async):
8822         comparing a flag and a gboolean rarely returns coherent results...
8823         Added two characters (!!) to make that work correctly.
8824         
8825 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8826
8827         * gst/gstbus.c: (gst_bus_class_init):
8828           Fix some typos.
8829           
8830         * gst/gstqueue.c: (gst_queue_loop):
8831           Don't assume a miniobject that isn't a buffer is an
8832           event (it could be that there is a refcounting
8833           problem somewhere and the pointer is stale and
8834           refers to an already destroyed miniobject).
8835
8836 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8837
8838         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8839
8840 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8841
8842         * docs/manual/advanced-position.xml:
8843           Update seek example and explanations to current 0.9 API.
8844
8845         * gst/elements/gsttypefindelement.c:
8846         (gst_type_find_element_activate):
8847           Remove FIXME comment now that the found caps
8848           are unreffed.
8849
8850 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8851
8852         * gst/gstregistryxml.c: (load_feature):
8853           Add another GST_STR_NULL instance
8854
8855 2005-11-02  Edward Hervey  <edward@fluendo.com>
8856
8857         * gst/gstpad.c: (handle_pad_block):
8858         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8859         
8860 2005-11-02  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/gstbin.c:
8863         Fix typo in docs.
8864
8865         * gst/gstelement.c: (gst_element_commit_state):
8866         Remove unused value.
8867
8868         * gst/gstiterator.c:
8869         Mention that the returned element is reffed in the docs.
8870
8871 2005-11-02  Wim Taymans  <wim@fluendo.com>
8872
8873         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8874         (gst_pad_push), (gst_pad_push_event):
8875         Unlock blocked pads when they are flushed.
8876
8877 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8878
8879         * docs/README:
8880         * docs/gst/gstreamer-sections.txt:
8881         * gst/gstbin.c:
8882           doc updates
8883         * gst/gstregistry.c: (gst_registry_scan_path_level):
8884           fix for a nasty little missed situation where an installed plug-in
8885           which was in the cache did not get overridden by an uninstalled one
8886           which was earlier in the plugin path because the newly created plugin
8887           for the uninstalled one (not in the registry) didn't get its
8888           ->registered set to TRUE
8889
8890 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8891
8892         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8893         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8894         (gst_collectpads_is_active), (gst_collectpads_collect),
8895         (gst_collectpads_collect_range), (gst_collectpads_start),
8896         (gst_collectpads_stop), (gst_collectpads_peek),
8897         (gst_collectpads_pop), (gst_collectpads_available),
8898         (gst_collectpads_read), (gst_collectpads_flush):
8899           Guard public API with assertions.
8900         
8901         * gst/gstpad.c:
8902           Fix docs for gst_pad_set_link_function().
8903
8904 2005-11-02  Johan Dahlin  <johan@gnome.org>
8905
8906         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8907         Unref found_caps after we used it.
8908
8909 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8912           Don't try to ref NULL.
8913
8914 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8915
8916         * win32/common/config.h.in:
8917           provide a GST_FUNCTION that just gives a string for now
8918
8919 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8920
8921         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8922         (gst_object_flags_get_type), (register_gst_bin_flags),
8923         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8924         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8925         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8926         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8927         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8928         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8929         (gst_clock_flags_get_type), (register_gst_state),
8930         (gst_state_get_type), (register_gst_state_change_return),
8931         (gst_state_change_return_get_type), (register_gst_state_change),
8932         (gst_state_change_get_type), (register_gst_element_flags),
8933         (gst_element_flags_get_type), (register_gst_core_error),
8934         (gst_core_error_get_type), (register_gst_library_error),
8935         (gst_library_error_get_type), (register_gst_resource_error),
8936         (gst_resource_error_get_type), (register_gst_stream_error),
8937         (gst_stream_error_get_type), (register_gst_event_type),
8938         (gst_event_type_get_type), (register_gst_seek_type),
8939         (gst_seek_type_get_type), (register_gst_seek_flags),
8940         (gst_seek_flags_get_type), (register_gst_format),
8941         (gst_format_get_type), (register_gst_index_certainty),
8942         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8943         (gst_index_entry_type_get_type),
8944         (register_gst_index_lookup_method),
8945         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8946         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8947         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8948         (gst_index_flags_get_type), (register_gst_debug_level),
8949         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8950         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8951         (gst_iterator_result_get_type), (register_gst_iterator_item),
8952         (gst_iterator_item_get_type), (register_gst_message_type),
8953         (gst_message_type_get_type), (register_gst_mini_object_flags),
8954         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8955         (gst_pad_link_return_get_type), (register_gst_flow_return),
8956         (gst_flow_return_get_type), (register_gst_activate_mode),
8957         (gst_activate_mode_get_type), (register_gst_pad_direction),
8958         (gst_pad_direction_get_type), (register_gst_pad_flags),
8959         (gst_pad_flags_get_type), (register_gst_pad_presence),
8960         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8961         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8962         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8963         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8964         (gst_plugin_flags_get_type), (register_gst_rank),
8965         (gst_rank_get_type), (register_gst_query_type),
8966         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8967         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8968         (gst_tag_flag_get_type), (register_gst_task_state),
8969         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8970         (gst_alloc_trace_flags_get_type),
8971         (register_gst_type_find_probability),
8972         (gst_type_find_probability_get_type), (register_gst_uri_type),
8973         (gst_uri_type_get_type), (register_gst_parse_error),
8974         (gst_parse_error_get_type):
8975         * win32/common/gstversion.h:
8976           update win32 copies
8977
8978 2005-11-01  Luca Ognibene  <luogni@tin.it>
8979
8980         * gst/gst.c:
8981           fix docs. popt is dead, long live GOption.
8982
8983 2005-10-31  Wim Taymans  <wim@fluendo.com>
8984
8985         * gst/gstbuffer.h:
8986         Small doc fix.
8987
8988 2005-10-31  Andy Wingo  <wingo@pobox.com>
8989
8990         * Boo!
8991
8992         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8993
8994         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8995         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8996         the possibility of deadlocks here if code calling notify() or
8997         set() has a lock that can be taken in another notify handler (ABBA
8998         with class lock and e.g. python GIL state lock).
8999
9000 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9001
9002         * gst/gstbus.c: Doc updates.
9003
9004 2005-10-28  Wim Taymans  <wim@fluendo.com>
9005
9006         * docs/design/part-TODO.txt:
9007         * gst/gstiterator.c:
9008         * gst/gstsystemclock.c:
9009         * gst/gstsystemclock.h:
9010         Doc updates.
9011
9012 2005-10-28  Edward Hervey  <edward@fluendo.com>
9013
9014         * docs/gst/gstreamer-docs.sgml:
9015         * docs/gst/gstreamer-sections.txt:
9016         the GstURIType documentation page is private, it only defines GstURIType
9017         which should be defined in the GstURIHandler page
9018         
9019 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * gst/gstbin.c: (gst_bin_class_init):
9022         * gst/gstbin.h:
9023         * gst/gstutils.c:
9024         Documentation updates.
9025
9026 2005-10-28  Wim Taymans  <wim@fluendo.com>
9027
9028         * docs/gst/gstreamer-sections.txt:
9029         * gst/gstclock.c:
9030         * gst/gstclock.h:
9031         Documented the clocks.
9032
9033 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9034
9035         * docs/gst/gstreamer-sections.txt:
9036           move some macros to private sections
9037         * gst/gstminiobject.c:
9038         * gst/gstminiobject.h:
9039           add descriptions provided by ds and some more
9040         * gst/gstpad.h:
9041           mark macro as to be removed
9042
9043 2005-10-28  Wim Taymans  <wim@fluendo.com>
9044
9045         * docs/design/part-TODO.txt:
9046         Add an item to TODO.
9047
9048         * gst/gstiterator.c: (gst_iterator_fold),
9049         (gst_iterator_find_custom):
9050         * gst/gstiterator.h:
9051         Add iterator docs.
9052
9053 2005-10-28  Wim Taymans  <wim@fluendo.com>
9054
9055         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9056         (gst_base_transform_init):
9057         Don't leak class.
9058
9059         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9060         An EOS event marks the queue as completely filled.
9061
9062 2005-10-27  Wim Taymans  <wim@fluendo.com>
9063
9064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9065         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9066         Some more debugging.
9067
9068         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9069         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9070         (gst_base_transform_event), (gst_base_transform_getrange),
9071         (gst_base_transform_chain):
9072         * gst/base/gstbasetransform.h:
9073         Fix debugging,
9074         Protect transform and concurrent buffer alloc with a new lock.
9075         Try not to break ABI/API.
9076
9077 2005-10-27  Wim Taymans  <wim@fluendo.com>
9078
9079         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9080         (gst_base_src_init), (gst_base_src_query),
9081         (gst_base_src_default_newsegment),
9082         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9083         (gst_base_src_send_event), (gst_base_src_event_handler),
9084         (gst_base_src_pad_get_range), (gst_base_src_loop),
9085         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9086         (gst_base_src_start), (gst_base_src_deactivate),
9087         (gst_base_src_activate_push), (gst_base_src_change_state):
9088         Move some stuff around and cleanup things.
9089
9090 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9091
9092         * gst/base/gstbasesrc.c: (gst_base_src_query):
9093           Add missing break statements.
9094
9095 2005-10-27  Wim Taymans  <wim@fluendo.com>
9096
9097         * check/gst/gstbin.c: (GST_START_TEST):
9098         An extra refcount is taken in basesrc.
9099
9100         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9101         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9102         (gst_base_src_loop):
9103         Small cleanups, check for flushing after being unlocked from the 
9104         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9105         Don't send out EOS when going to READY.
9106
9107 2005-10-27  Wim Taymans  <wim@fluendo.com>
9108
9109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9110         (gst_base_sink_get_position):
9111         Some more debug.
9112
9113         * gst/gstbin.c: (message_check), (bin_replace_message),
9114         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9115         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9116         (bin_query_duration_init), (bin_query_duration_fold),
9117         (bin_query_duration_done), (bin_query_generic_fold),
9118         (gst_bin_query):
9119         * tools/gst-launch.c: (main):
9120         Remove old option.
9121
9122 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9123
9124         * examples/controller/audio-example.c: (main):
9125         * examples/queue/queue.c: (event_loop):
9126         * gst/base/gstbasetransform.h:
9127         * gst/gstelement.c: (gst_element_send_event):
9128         * gst/gstevent.h:
9129         * gst/gstpad.c: (gst_pad_send_event):
9130           fixing examples
9131           fixing docs typos
9132           changing log priority in error situations
9133
9134 2005-10-25  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/gstbin.c: (message_check), (bin_replace_message),
9137         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9138         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9139         (bin_query_duration_init), (bin_query_duration_fold),
9140         (bin_query_duration_done), (bin_query_generic_fold),
9141         (gst_bin_query):
9142         Some doc and debug updates.
9143         Cache previously requested query DURATION for speed. invalidate
9144         cached duration if element posts a DURATION message.
9145
9146 2005-10-25  Wim Taymans  <wim@fluendo.com>
9147
9148         * docs/design/part-TODO.txt:
9149         Update TODO.
9150
9151         * gst/gstbin.c: (message_check), (bin_replace_message),
9152         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9153         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9154         (bin_query_duration_init), (bin_query_duration_fold),
9155         (bin_query_duration_done), (bin_query_generic_fold),
9156         (gst_bin_query):
9157         Handle SEGMENT_START/DONE messages correctly.
9158         More evolved query algorithm that handles duration queries
9159         correctly.
9160
9161         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9162         (gst_element_get_state_func), (gst_element_abort_state),
9163         (gst_element_commit_state), (gst_element_lost_state):
9164         Some more debugging.
9165
9166         * gst/gstmessage.h:
9167         Added doc.
9168
9169 2005-10-25  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9172         Don't use invalid stream_time.
9173
9174         * gst/gstevent.c: (gst_event_new_newsegment):
9175         stream_time in newsegment cannot be undefined.
9176
9177 2005-10-24  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/gstbus.c:
9180         Doc fix.
9181
9182         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9183         (gst_queue_loop):
9184         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9185
9186 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9187
9188         * docs/libs/tmpl/gstdparam.sgml:
9189         * docs/libs/tmpl/gstdplinint.sgml:
9190         * docs/libs/tmpl/gstdpman.sgml:
9191         * docs/libs/tmpl/gstdpsmooth.sgml:
9192         * docs/libs/tmpl/gstunitconvert.sgml:
9193           these are obsolete
9194
9195 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9196
9197         * configure.ac:
9198           back to HEAD
9199
9200 === release 0.9.4 ===
9201
9202 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9203
9204         * configure.ac:
9205           releasing 0.9.4, "Tyrannosaurus Rex"
9206
9207 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9208
9209         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9210         (gst_file_sink_get_current_offset):
9211           Use fseeko() and ftello() if available. When falling back on
9212           lseek() to get the current offset, fflush() first to make sure
9213           everything is up-to-date and we get the right offset.
9214
9215 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9216
9217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9218         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9219         * gst/gsterror.c: (_gst_stream_errors_init):
9220         * gst/gsterror.h:
9221         * gst/gstqueue.c: (gst_queue_loop):
9222         * po/POTFILES.in:
9223           remove prematurely added error category and clean up the instances
9224
9225 2005-10-21  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9228         (gst_base_sink_get_position), (gst_base_sink_query),
9229         (gst_base_sink_change_state):
9230         Simply set the right flag when going to playing, that's all
9231         we need to do instead of calling a function inside the object
9232         lock (that could take the lock as well and deadlock)
9233
9234 2005-10-21  Wim Taymans  <wim@fluendo.com>
9235
9236         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9237         (gst_base_src_loop):
9238         Don't warn, the peer element knows what to do best when
9239         the seek failed, it might try something else.
9240
9241 2005-10-21  Wim Taymans  <wim@fluendo.com>
9242
9243         * gst/base/gstbasesrc.c: (gst_base_src_init),
9244         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9245         Fix seeking.
9246
9247 2005-10-21  Wim Taymans  <wim@fluendo.com>
9248
9249         * docs/design/part-segments.txt:
9250         More docs.
9251
9252         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9253         Correctly set caps, even on the subbufer.
9254
9255 2005-10-21  Wim Taymans  <wim@fluendo.com>
9256
9257         * docs/gst/gstreamer-docs.sgml:
9258         * docs/gst/gstreamer-sections.txt:
9259         * gst/gstelement.h:
9260         * gst/gstevent.c:
9261         * gst/gstevent.h:
9262         * gst/gstmessage.h:
9263         * gst/gstpad.h:
9264         * gst/gstparse.h:
9265         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
9266         * gst/gsttask.h:
9267         * gst/gstutils.c:
9268         * gst/gstutils.h:
9269         And 2% more doc coverage.
9270
9271 2005-10-21  Andy Wingo  <wingo@pobox.com>
9272
9273         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
9274         position reporting.
9275
9276 2005-10-20  Wim Taymans  <wim@fluendo.com>
9277
9278         * gst/gsterror.c: (gst_error_get_message):
9279         * gst/gstparse.h:
9280         * gst/gstquery.h:
9281         * gst/gststructure.c:
9282         * gst/gsttrace.c:
9283         * gst/gstutils.c:
9284         More docs.
9285
9286 2005-10-20  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/gstbuffer.h:
9289         * gst/gstpad.c:
9290         * gst/gstparse.c:
9291         Another 1% more coverage.
9292
9293 2005-10-20  Wim Taymans  <wim@fluendo.com>
9294
9295         * docs/gst/gstreamer-sections.txt:
9296         * gst/gstelement.c: (gst_element_get_state_func),
9297         (gst_element_abort_state), (gst_element_commit_state),
9298         (gst_element_lost_state):
9299         * gst/gstevent.h:
9300         * gst/gstquery.c: (gst_query_set_position),
9301         (gst_query_parse_position), (gst_query_set_duration),
9302         (gst_query_parse_duration), (gst_query_new_convert):
9303         * gst/gstutils.c:
9304         Yay! 1% more docs coverage.
9305
9306 2005-10-20  Wim Taymans  <wim@fluendo.com>
9307
9308         * gst/gstpad.h:
9309         * gst/gstquery.c: (gst_query_set_position),
9310         (gst_query_parse_position), (gst_query_set_duration),
9311         (gst_query_parse_duration), (gst_query_new_convert):
9312         * gst/gstquery.h:
9313         * gst/gstutils.c: (gst_element_query_convert):
9314         * gst/gstutils.h:
9315         Docs and consistency fixes.
9316
9317 2005-10-20  Wim Taymans  <wim@fluendo.com>
9318
9319         * gst/gsttask.c:
9320         * gst/gsttask.h:
9321         More docs.
9322
9323 2005-10-20  Wim Taymans  <wim@fluendo.com>
9324
9325         * gst/gstbin.c: (message_check), (bin_replace_message),
9326         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9327         (update_degree), (gst_bin_sort_iterator_next),
9328         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9329         Reworked the message handling a bit, cache the messages instead of
9330         only the senders. alows us to do more in the future.
9331
9332 2005-10-20  Wim Taymans  <wim@fluendo.com>
9333
9334         * docs/design/part-TODO.txt:
9335         Update TODO
9336
9337         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9338         (gst_base_sink_query):
9339         Don't use clock time to report position when in EOS.
9340
9341 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9342
9343         * tools/gst-inspect.c: (print_interfaces),
9344         (print_element_properties_info), (print_element_info):
9345           Fix interface output with gst-inspect -a; don't print
9346           newlines after double/float properties.
9347
9348 2005-10-20  Wim Taymans  <wim@fluendo.com>
9349
9350         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9351         (gst_base_sink_query):
9352         Speed up current position calculation.
9353
9354         * gst/base/gstbasesrc.c: (gst_base_src_query),
9355         (gst_base_src_default_newsegment):
9356         Correctly set stream position in newsegment.
9357
9358         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9359         (update_degree), (gst_bin_sort_iterator_next),
9360         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9361         * gst/gstmessage.c: (gst_message_new_custom):
9362         Clean up debugging info
9363
9364         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9365         (gst_queue_loop), (gst_queue_handle_src_query):
9366         Pause task faster.
9367
9368 2005-10-19  Wim Taymans  <wim@fluendo.com>
9369
9370         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9371         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9372         Fix query handling again.
9373
9374 2005-10-19  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9377         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9378         * gst/base/gstbasesrc.c: (gst_base_src_query):
9379         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9380         * gst/elements/gsttypefindelement.c:
9381         (gst_type_find_handle_src_query), (find_element_get_length),
9382         (gst_type_find_element_activate):
9383         API change fix.
9384
9385         * gst/gstquery.c: (gst_query_new_position),
9386         (gst_query_set_position), (gst_query_parse_position),
9387         (gst_query_new_duration), (gst_query_set_duration),
9388         (gst_query_parse_duration), (gst_query_set_segment),
9389         (gst_query_parse_segment):
9390         * gst/gstquery.h:
9391         Bundling query position/duration is not a good idea since duration
9392         does not change much and we don't want to recalculate it for every
9393         position query, so they are separated again..
9394         Base value in segment query is not needed.
9395
9396         * gst/gstqueue.c: (gst_queue_handle_src_query):
9397         * gst/gstutils.c: (gst_element_query_position),
9398         (gst_element_query_duration), (gst_pad_query_position),
9399         (gst_pad_query_duration):
9400         * gst/gstutils.h:
9401         Updates for query API change.
9402         Added some docs here and there.
9403
9404 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * check/gst/gstbin.c: (GST_START_TEST):
9407         * check/gst/gstghostpad.c: (GST_START_TEST):
9408         * check/pipelines/cleanup.c: (GST_START_TEST):
9409           wait on thread to die so we can check refcount correctly
9410
9411 2005-10-18  Wim Taymans  <wim@fluendo.com>
9412
9413         * check/pipelines/stress.c: (GST_START_TEST):
9414         Make check a little more time consuming.
9415
9416 2005-10-18  Wim Taymans  <wim@fluendo.com>
9417
9418         * check/Makefile.am:
9419         * check/pipelines/stress.c: (GST_START_TEST),
9420         (simple_launch_lines_suite), (main):
9421         Small state change torture test.
9422
9423         * docs/design/part-states.txt:
9424         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9425         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9426         (gst_base_sink_change_state):
9427         Never take state lock from streaming thread, clean up ugly
9428         hacks. Unfortunatly core does not yet support nice ways to
9429         async commit state.
9430         
9431         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9432         (bin_bus_handler):
9433         Start state recalc if a STATE_DIRTY message is posted, but only
9434         on the toplevel bin.
9435
9436         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9437         (gst_element_get_state_func), (gst_element_abort_state),
9438         (gst_element_commit_state), (gst_element_lost_state),
9439         (gst_element_set_state_func), (gst_element_change_state):
9440         * gst/gstelement.h:
9441         State variables are now protected with the LOCK, the state
9442         lock is only used to serialize _set_state().
9443
9444 2005-10-18  Wim Taymans  <wim@fluendo.com>
9445
9446         * check/gst/gstbin.c: (GST_START_TEST):
9447         * check/gst/gstmessage.c: (GST_START_TEST):
9448         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9449         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9450         (bin_bus_handler):
9451         * gst/gstelement.c: (gst_element_abort_state),
9452         (gst_element_commit_state), (gst_element_lost_state):
9453         * gst/gstmessage.c: (gst_message_new_state_changed),
9454         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9455         (gst_message_new_segment_done), (gst_message_new_duration),
9456         (gst_message_parse_state_changed),
9457         (gst_message_parse_segment_start),
9458         (gst_message_parse_segment_done), (gst_message_parse_duration):
9459         * gst/gstmessage.h:
9460         * tools/gst-launch.c: (event_loop):
9461         Seriously, this is better than a previous commit as we only need
9462         to notify the fact that an element changed state in a streaming
9463         thread, marking the state of the parents dirty, hence the 
9464         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9465         message.
9466
9467 2005-10-18  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9470         (gst_bin_recalc_func):
9471         * gst/gstelement.c: (gst_element_set_clock),
9472         (gst_element_abort_state), (gst_element_lost_state):
9473         Cleanups, prepare for state change fixes.
9474
9475 2005-10-18  Wim Taymans  <wim@fluendo.com>
9476
9477         * gst/gstbin.h:
9478         * gst/gstelement.c: (gst_element_class_init),
9479         (gst_element_set_state), (gst_element_set_state_func):
9480         * gst/gstelement.h:
9481         Pending ABI changes.
9482         GThreadPool in GstBinClass to monitor async state changes.
9483         state_cookie in GstElement to detect concurrent gst/set state.
9484         set_state is now virtual too in case a very complicated element
9485         has to be constructed.
9486
9487 2005-10-18  Wim Taymans  <wim@fluendo.com>
9488
9489         * check/gst/gstbin.c: (GST_START_TEST):
9490         * check/gst/gstmessage.c: (GST_START_TEST):
9491         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9492         * gst/gstbin.c: (bin_bus_handler):
9493         * gst/gstelement.c: (gst_element_commit_state),
9494         (gst_element_lost_state):
9495         * gst/gstmessage.c: (gst_message_new_state_changed),
9496         (gst_message_new_segment_start), (gst_message_new_segment_done),
9497         (gst_message_new_duration), (gst_message_parse_state_changed),
9498         (gst_message_parse_segment_start),
9499         (gst_message_parse_segment_done), (gst_message_parse_duration):
9500         * gst/gstmessage.h:
9501         * tools/gst-launch.c: (event_loop):
9502         Make messages future proof.
9503         state-change gets a flag if it was a message comming from the
9504         streaming thread.
9505         segment-start/stop can also be specified in other formats.
9506         A message to notify an app that a pipeline changed playback 
9507         duration.
9508         Also fix a GstMessage leak in -launch
9509
9510 2005-10-18  Andy Wingo  <wingo@pobox.com>
9511
9512         * gst/gstelement.c (gst_element_dispose): More helpful message.
9513
9514 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         reviewed by: <delete if not using a buddy>
9517
9518         * common/gtk-doc.mak:
9519
9520 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * gst/gstregistry.c: (gst_registry_scan_path_level):
9523           unref a plug-in we get that was already initialized
9524
9525 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9526
9527         * docs/gst/gstreamer-sections.txt:
9528         * docs/libs/gstreamer-libs-sections.txt:
9529         * gst/gstelement.h:
9530           add new api entries
9531           hide internal macro
9532
9533 2005-10-17  Andy Wingo  <wingo@pobox.com>
9534
9535         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9536         cleanup.
9537
9538         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9539
9540         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9541
9542         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9543         (gst_element_get_state_func): Better debug message.
9544         (gst_element_commit_state): s/INFO/DEBUG/.
9545         (gst_element_lost_state, gst_element_change_state): 
9546
9547         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9548         (gst_message_new_custom): s/INFO/LOG/.
9549
9550 2005-10-17  Michael Smith <msmith@fluendo.com>
9551
9552         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9553           Check if end time is valid using end time, not start time.
9554
9555 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9556
9557         * check/gst-libs/controller.c: (GST_START_TEST),
9558         (gst_controller_suite):
9559         * libs/gst/controller/gstcontroller.c:
9560         (gst_controlled_property_set_interpolation_mode):
9561         * libs/gst/controller/gstcontroller.h:
9562         * libs/gst/controller/gstinterpolation.c:
9563         * testsuite/controller/.cvsignore:
9564         * testsuite/controller/Makefile.am:
9565         * testsuite/controller/interpolator.c:
9566           merge controller testsuites
9567           fix broken tests
9568           remove mem-chunk from docs
9569
9570 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9571
9572         * gst/gstmemchunk.c:
9573         * gst/gstmemchunk.h:
9574         * gst/gsttrashstack.c:
9575         * gst/gsttrashstack.h:
9576           out.  get out.  you're fired.  to the Attic !
9577
9578 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * gst/gstcaps.c: (gst_caps_intersect):
9581           fix signedness issues in a (hopefully) correct way
9582         * gst/gstelement.c: (gst_element_pads_activate):
9583           some debugging
9584         * gst/gstobject.c: (gst_object_set_parent):
9585           some debugging
9586
9587 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9588
9589         * gst/gstvalue.h: Fix prototypes.
9590
9591 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9592
9593         * docs/gst/gstreamer-sections.txt:
9594         * gst/gst.c: (gst_version_string):
9595         * gst/gst.h:
9596         * gst/gstversion.h.in:
9597         * win32/common/libgstreamer.def:
9598           add gst_version_string ()
9599
9600 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * configure.ac:
9603           clean up further
9604         * gst/gst.c: (init_post):
9605         * win32/common/config.h.in:
9606           it's PLUGINDIR now
9607         * gst/gstcaps.c: (gst_caps_intersect):
9608           use gint64, the range could be bigger than a guint
9609
9610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * gst/gstclock.h:
9613           document potential problem in 2038
9614
9615 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9616
9617         * gst/gstcaps.c: (gst_caps_intersect):
9618           Fix guint j diving under 0
9619
9620 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * configure.ac:
9623         * win32/common/config.h:
9624         * win32/common/config.h.in:
9625           check for process.h, declares getpid() on Windows
9626         * gst/gstinfo.c:
9627           include process.h if we have it
9628         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9629         * gst/gstmemchunk.h:
9630           fix signedness issues
9631         * win32/common/libgstreamer.def:
9632           fix get_type's
9633
9634 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9635
9636         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9637         fix. Because of unsigned ints, caps intersection was going nuts and
9638         trying to access structures with G_MAXUINT index. That fixes
9639         videotestsrc ! ffmpegcolorspace ! fakesink
9640         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9641         consistency.
9642
9643 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * configure.ac:
9646           use the gettext macro
9647         * gst/elements/gstelements.c:
9648         * gst/gst.c:
9649         * gst/indexers/gstindexers.c:
9650           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9651         * win32/common/config.h:
9652           updated config.h
9653         * win32/common/config.h.in:
9654           add the template to generate config.h
9655         * win32/common/gstenumtypes.c:
9656         * win32/common/gstversion.h:
9657           updated copies
9658
9659 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         * gst/gst.c: (gst_version):
9662         * gst/gstversion.h.in:
9663           add the nano
9664
9665 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9666
9667         * gst/gstevent.h:
9668           Oops, add missing closing bracket.
9669
9670 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * configure.ac:
9673           use common m4's for argument checking
9674
9675 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9676
9677         * docs/gst/gstreamer-sections.txt:
9678         * gst/gstevent.h:
9679           Add GST_EVENT_TYPE_NAME() macro.
9680
9681 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9682
9683         * gst/gstinfo.c:
9684         * gst/gstpluginfeature.c:
9685         * gst/gsttask.c:
9686           privatize more symbols
9687
9688 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * configure.ac:
9691           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9692           everything that uses GStreamer API should have the includes
9693
9694 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * docs/gst/gstreamer-sections.txt:
9697         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9698         * gst/gstvalue.h:
9699           give each value a _get_type, removes the DATA exports
9700
9701 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * gst/gst.c:
9704         * gst/gst.h:
9705           remove _gst_registry_auto_load, not used anymore
9706         * gst/gstbin.c: (gst_bin_get_type):
9707         * gst/gstbin.h:
9708         * gst/gstelement.c: (gst_element_get_type):
9709         * gst/gstelement.h:
9710         * gst/gstobject.c: (gst_object_get_type):
9711         * gst/gstobject.h:
9712         * gst/gstpad.c: (gst_pad_get_type):
9713         * gst/gstpad.h:
9714           make _get_type functions similar, fixes data export from library
9715
9716 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * configure.ac:
9719           correctly make conditionals
9720         * gst/elements/Makefile.am:
9721         * gst/elements/gstelements.c:
9722           fix typo causing fdsrc not to build
9723
9724 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * testsuite/Makefile.am:
9727         * testsuite/bytestream/.cvsignore:
9728         * testsuite/bytestream/Makefile.am:
9729         * testsuite/bytestream/filepadsink.c:
9730         * testsuite/bytestream/gstbstest.c:
9731         * testsuite/bytestream/test1.c:
9732         * testsuite/bytestream/testfile1:
9733         * testsuite/caps/normalisation.c:
9734         * testsuite/caps/random.c: (main):
9735         * testsuite/cleanup/.cvsignore:
9736         * testsuite/cleanup/Makefile.am:
9737         * testsuite/cleanup/cleanup1.c:
9738         * testsuite/cleanup/cleanup2.c:
9739         * testsuite/cleanup/cleanup3.c:
9740         * testsuite/cleanup/cleanup4.c:
9741         * testsuite/cleanup/cleanup5.c:
9742         * testsuite/controller/interpolator.c:
9743         * testsuite/debug/printf_extension.c: (main):
9744         * testsuite/elements/tee.c:
9745         * testsuite/negotiation/.cvsignore:
9746         * testsuite/negotiation/Makefile.am:
9747         * testsuite/negotiation/pad_link.c:
9748         * testsuite/pad/Makefile.am:
9749         * testsuite/pad/chainnopull.c:
9750         * testsuite/pad/getnopush.c:
9751         * testsuite/pad/link.c:
9752         * testsuite/refcounting/sched.c: (create_pipeline):
9753         * testsuite/registry/Makefile.am:
9754         * testsuite/registry/gst-print-formats.c:
9755         * testsuite/schedulers/.cvsignore:
9756         * testsuite/schedulers/142183-2.c:
9757         * testsuite/schedulers/142183.c:
9758         * testsuite/schedulers/143777-2.c:
9759         * testsuite/schedulers/143777.c:
9760         * testsuite/schedulers/147713.c:
9761         * testsuite/schedulers/147819.c:
9762         * testsuite/schedulers/147894-2.c:
9763         * testsuite/schedulers/147894.c:
9764         * testsuite/schedulers/Makefile.am:
9765         * testsuite/schedulers/group_link.c:
9766         * testsuite/schedulers/queue_link.c:
9767         * testsuite/schedulers/relink.c:
9768         * testsuite/schedulers/unlink.c:
9769         * testsuite/schedulers/unref.c:
9770         * testsuite/schedulers/useless_iteration.c:
9771         * testsuite/states/bin.c:
9772           clean out/remove some stuff from the testsuite directories
9773
9774 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9775
9776         * configure.ac:
9777           check for some headers
9778         * gst/elements/Makefile.am:
9779         * gst/elements/gstelements.c:
9780           don't compile fdsrc without sys/socket.h
9781         * gst/indexers/Makefile.am:
9782         * gst/indexers/gstindexers.c: (plugin_init):
9783           don't compile fileindex without mmap
9784
9785 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9786
9787         * configure.ac:
9788           reorganize
9789           clean up
9790           document more
9791           remove cruft
9792         * check/Makefile.am:
9793         * docs/gst/Makefile.am:
9794         * examples/helloworld/Makefile.am:
9795         * gst/Makefile.am:
9796         * gst/base/Makefile.am:
9797         * gst/check/Makefile.am:
9798         * gst/elements/Makefile.am:
9799         * gst/indexers/Makefile.am:
9800         * gst/parse/Makefile.am:
9801         * libs/gst/controller/Makefile.am:
9802         * libs/gst/dataprotocol/Makefile.am:
9803         * examples/helloworld/helloworld.c: (event_loop):
9804           compile fixes, though it's not being compiled currently
9805
9806 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9807
9808         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9809           Add some simple tests for the new taglist date API.
9810
9811 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9812
9813         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9814         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9815           Beautify 'last-message' output: print 'none' for buffer timestamps
9816           and durations if none is set; improve alignment with next messages.
9817
9818 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9819
9820         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9821         * gst/gstpluginfeature.h:
9822         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9823         * gst/gstregistry.h:
9824         * docs/gst/gstreamer-sections.txt:
9825           Add new API to check plugin feature version requirements.
9826
9827         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9828           Some basic tests for the above.         
9829
9830 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9831
9832         * gst/gststructure.c: (gst_structure_to_string):
9833           guard against NULL printf - happens when for example
9834           a message structure with GstClock gets serialized
9835
9836 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9837
9838         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9839           Fix presumable copy'n'pasto.
9840
9841 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9842
9843         * gst/elements/gstfakesrc.h:
9844         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9845         * gst/elements/gsttypefindelement.c:
9846           fix some signedness
9847         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9848           I wonder if this could actually write +2GB files before
9849
9850 2005-10-13  Andy Wingo  <wingo@pobox.com>
9851
9852         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9853         Fix Timmeke Waymans bug.
9854         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9855         string of the proper length to gst_caps_from_string. There's a
9856         potential for, before this fix, that this could cause someone
9857         connecting over the network to cause a segfault if the payload is
9858         not NUL-terminated.
9859
9860 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9861
9862         * docs/design/draft-push-pull.txt:
9863         * docs/design/part-overview.txt:
9864         * docs/random/TODO-pre-0.9:
9865         * docs/random/old/ChangeLog.gstreamer:
9866         * gst/base/gstpushsrc.c:
9867         * gst/gstclock.c:
9868           fixed typos
9869
9870 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * gst/glib-compat.c: (gst_flags_get_first_value):
9873         * gst/glib-compat.h:
9874         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9875         (gst_value_compare_double), (gst_value_serialize_flags):
9876           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9877           infinite loop
9878
9879 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9882         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9883           fix up debugging
9884         * tools/gst-launch.c: (event_loop):
9885           print out clock nicely
9886
9887 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9888
9889         * docs/gst/gstreamer-sections.txt:
9890         * gst/gsttaglist.h:
9891         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9892         (gst_tag_list_get_date_index):
9893           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9894           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9895
9896 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9897
9898         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9899         (gst_collectpads_chain):
9900         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9901         in CollectData.
9902
9903 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9904
9905         * docs/gst/gstreamer-sections.txt:
9906         * gst/gst.c:
9907         * gst/gsterror.h:
9908         * tools/gst-inspect.c: (main):
9909         * tools/gst-launch.c: (main):
9910         * tools/gst-run.c: (main):
9911         * tools/gst-xmlinspect.c: (main):
9912           fix GOption context leaks
9913           doc fixes
9914
9915 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * gst/gstbus.c:
9918           use HAVE_UNISTD_H
9919         * win32/common/config.h:
9920           update config
9921         * win32/vs6/grammar.dsp:
9922         * win32/vs6/libgstelements.dsp:
9923         * win32/vs6/libgstreamer.dsp:
9924           update vs6 files
9925
9926 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9929         * gst/base/gstbasesrc.c: (gst_base_src_query):
9930           fix more guint64<->gdouble conversions
9931
9932 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9933
9934         * Makefile.am:
9935           add win32-update target
9936         * win32/common/gstconfig.h:
9937         * win32/common/gstenumtypes.c:
9938         * win32/common/gstenumtypes.h:
9939         * win32/common/gstversion.h:
9940           add files that visual studio can't generate
9941
9942 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9943
9944         * Makefile.am:
9945           add a win32-update target
9946         * configure.ac:
9947
9948 2005-10-12  Wim Taymans  <wim@fluendo.com>
9949
9950         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9951         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9952         * gst/gstelement.c: (gst_element_commit_state),
9953         (gst_element_set_state):
9954         Protect flags with proper lock.
9955         unref provided cached clock in dispose.
9956
9957 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9958
9959         * gst/gst.c:
9960         * gst/gstminiobject.h:
9961         * gst/gstpad.h:
9962         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9963           removed unused flags from miniobject
9964           doc fixes
9965
9966 2005-10-12  Wim Taymans  <wim@fluendo.com>
9967
9968         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9969         (gst_file_sink_event), (gst_file_sink_render):
9970         Flush before seeking.
9971
9972 2005-10-12  Andy Wingo  <wingo@pobox.com>
9973
9974         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9975         always been the case.
9976
9977 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9978
9979         * check/gst/gstbin.c: (GST_START_TEST):
9980         * docs/gst/gstreamer-sections.txt:
9981         * gst/base/gstbasesink.c: (gst_base_sink_init):
9982         * gst/base/gstbasesrc.c: (gst_base_src_init),
9983         (gst_base_src_get_range), (gst_base_src_check_get_range),
9984         (gst_base_src_start), (gst_base_src_stop):
9985         * gst/base/gstbasesrc.h:
9986         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9987         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9988         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9989         (bin_bus_handler):
9990         * gst/gstbin.h:
9991         * gst/gstbuffer.h:
9992         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9993         * gst/gstbus.h:
9994         * gst/gstelement.c: (gst_element_is_locked_state),
9995         (gst_element_set_locked_state), (gst_element_commit_state),
9996         (gst_element_set_state):
9997         * gst/gstelement.h:
9998         * gst/gstindex.c: (gst_index_init):
9999         * gst/gstindex.h:
10000         * gst/gstminiobject.h:
10001         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10002         (gst_object_set_parent):
10003         * gst/gstobject.h:
10004         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10005         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10006         * gst/gstpad.h:
10007         * gst/gstpadtemplate.h:
10008         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10009         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10010         * gst/gstpipeline.h:
10011         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10012         (gst_file_index_commit):
10013         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10014         * testsuite/pad/link.c: (gst_test_src_init),
10015         (gst_test_filter_init), (gst_test_sink_init):
10016         * testsuite/states/locked.c: (main):
10017           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10018           moved bitshift from macro to enum definition
10019
10020 2005-10-12  Wim Taymans  <wim@fluendo.com>
10021
10022         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10023         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10024         (gst_file_sink_render):
10025         Some more debugging info.
10026
10027 2005-10-12  Wim Taymans  <wim@fluendo.com>
10028
10029         * docs/design/part-states.txt:
10030         * tools/gst-launch.c: (main):
10031         Some doc updates.
10032         Revert non-intentional change.
10033
10034 2005-10-12  Wim Taymans  <wim@fluendo.com>
10035
10036         * check/gst/gstbin.c: (GST_START_TEST):
10037         * check/gst/gstelement.c: (GST_START_TEST):
10038         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10039         * check/gst/gstghostpad.c: (GST_START_TEST):
10040         * check/gst/gstpipeline.c: (GST_START_TEST):
10041         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10042         * check/states/sinks.c: (GST_START_TEST):
10043         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10044         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10045         (gst_bin_remove_func), (gst_bin_get_state_func),
10046         (gst_bin_recalc_state), (gst_bin_change_state_func),
10047         (bin_bus_handler):
10048         * gst/gstelement.c: (gst_element_get_state_func),
10049         (gst_element_get_state), (gst_element_abort_state),
10050         (gst_element_commit_state), (gst_element_set_state),
10051         (gst_element_change_state), (gst_element_change_state_func):
10052         * gst/gstelement.h:
10053         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10054         (gst_pipeline_provide_clock_func):
10055         * gst/gstutils.c: (gst_element_link_pads_filtered):
10056         * tools/gst-launch.c: (main):
10057         * tools/gst-typefind.c: (main):
10058         Use GstClockTime in _get_state() instead of GTimeVal.
10059         Remove old code in gstutils.c
10060
10061 2005-10-12  Andy Wingo  <wingo@pobox.com>
10062
10063         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10064         removed.
10065
10066         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10067         there is no task. Shouldn't affect any code, as nothing in our
10068         plugins checks this return value.
10069         (gst_pad_stop_task): Also take the stream lock if the pad has no
10070         task. Docs updated.
10071
10072 2005-10-12  Wim Taymans  <wim@fluendo.com>
10073
10074         * gst/gstpad.c: (pre_activate), (post_activate),
10075         (gst_pad_activate_pull), (gst_pad_activate_push):
10076         Cleanup activation code. Reset old state if
10077         activation failed.
10078
10079 2005-10-12  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10082         (gst_base_sink_change_state):
10083         No need to prerol after receiving EOS.
10084
10085         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10086         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10087         * gst/elements/gstidentity.c: (gst_identity_event):
10088         Print events more verbosely.
10089
10090 2005-10-12  Wim Taymans  <wim@fluendo.com>
10091
10092         * check/Makefile.am:
10093         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10094         * check/states/sinks2.c:
10095         Moved sinks2 testcode in sinks check.
10096
10097         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10098         (gst_bin_remove_func), (gst_bin_recalc_state),
10099         (gst_bin_change_state_func), (bin_bus_handler):
10100         Fix potential race condition when _get_state() iterated over an
10101         ASYNC element right before it posted a state completion.
10102
10103         * gst/gstclock.h:
10104         Do proper cast here.
10105
10106         * gst/gstevent.c: (gst_event_new_newsegment),
10107         (gst_event_parse_newsegment):
10108         A playback rate of 0.0 is not allowed.
10109
10110 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10111
10112         * win32/common/config.h:
10113         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10114         (_trewinddir), (_ttelldir), (_tseekdir):
10115         * win32/common/dirent.h:
10116         * win32/common/gtchar.h:
10117         * win32/common/libgstbase.def:
10118         * win32/common/libgstreamer.def:
10119         * win32/vs6/grammar.dsp:
10120         * win32/vs6/gst_inspect.dsp:
10121         * win32/vs6/gst_launch.dsp:
10122         * win32/vs6/gstreamer.dsw:
10123         * win32/vs6/libgstbase.dsp:
10124         * win32/vs6/libgstelements.dsp:
10125         * win32/vs6/libgstreamer.dsp:
10126           Visual Studio 6 project files, and a new common directory.
10127           Phear.
10128
10129 2005-10-11  Wim Taymans  <wim@fluendo.com>
10130
10131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10132         (gst_base_sink_do_sync), (gst_base_sink_query),
10133         (gst_base_sink_change_state):
10134         * gst/base/gstbasesink.h:
10135         Correctly parse newsegment info.
10136
10137 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10138
10139         * gst/gst.c: (init_post):
10140           split plugin paths correctly
10141
10142 2005-10-11  Wim Taymans  <wim@fluendo.com>
10143
10144         * check/gst/gstevent.c: (GST_START_TEST):
10145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10146         (gst_base_sink_change_state):
10147         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10148         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10149         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10150         * gst/gstevent.c: (gst_event_new_newsegment),
10151         (gst_event_parse_newsegment):
10152         * gst/gstevent.h:
10153         Added extra flag to newsegment for future API freeze.
10154         Updated check and base elements.
10155
10156 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10157
10158         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10159         (gst_collectpads_add_pad), (gst_collectpads_pop),
10160         (gst_collectpads_event), (gst_collectpads_chain):
10161         * gst/base/gstcollectpads.h: Handle EOS correctly.
10162
10163 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10164
10165         * tools/gst-launch.c: (main):
10166           more null protecting
10167
10168 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * gst/gst-i18n-lib.h:
10171           check for ENABLE_NLS, not GETTEXT_PACKAGE
10172         * gst/gstregistry.c: (gst_registry_add_plugin),
10173         (gst_registry_scan_path_level),
10174         (_gst_registry_remove_cache_plugins):
10175           protect possibly NULL strings
10176         * gst/parse/types.h:
10177           config.h already included before
10178         * tools/gst-inspect.c: (main):
10179           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10180           check for ENABLE_NLS, not GETTEXT_PACKAGE
10181         * tools/gst-launch.c: (main):
10182           check for ENABLE_NLS, not GETTEXT_PACKAGE
10183
10184 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10185
10186         * configure.ac:
10187           if we don't have glib, fail before testing 2.8
10188         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10189           fix a leak, should fix plugins-base testsuite
10190
10191 2005-10-11  Andy Wingo  <wingo@pobox.com>
10192
10193         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10194         take the mode we're going to as an arg. Go head and set the mode
10195         and flushing flags now, so that if the activate function starts a
10196         thread all the flags will be in the right state.
10197         (post_activate): Renamed also. Just handle making sure streaming
10198         finishes for the deactivation case, and setting the deactivated
10199         mode.
10200         (gst_pad_set_active): Complain loudly if deactivation fails.
10201         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10202         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10203         remove the terrible hack.
10204
10205 2005-10-11  Wim Taymans  <wim@fluendo.com>
10206
10207         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10208         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10209         (gst_bin_recalc_state), (gst_bin_change_state_func),
10210         (gst_bin_dispose), (bin_bus_handler):
10211         * gst/gstbin.h:
10212         Prepare to make current EOS message queue more generic.
10213         Fix some typos.
10214
10215         * gst/gstevent.c: (gst_event_new_newsegment),
10216         (gst_event_parse_newsegment):
10217         * gst/gstevent.h:
10218         Rename base to stream_time.
10219
10220         * gst/gstmessage.h:
10221         Fix typo in docs.
10222
10223 2005-10-11  Wim Taymans  <wim@fluendo.com>
10224
10225         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10226         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10227         (gst_bin_change_state_func), (bin_bus_handler):
10228         * gst/gstbin.h:
10229         Work on proper clock selection.
10230
10231 2005-10-11  Edward Hervey  <edward@fluendo.com>
10232
10233         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10234         * libs/gst/controller/gstcontroller.h:
10235         Added GList* version of _remove_properties() in order to be able to wrap
10236         it in bindings.
10237
10238 2005-10-11  Wim Taymans  <wim@fluendo.com>
10239
10240         * docs/design/part-states.txt:
10241         Some more docs.
10242
10243         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10244         (gst_bin_change_state_func), (bin_bus_handler):
10245         Doc updates. Don't distribute the same clock over and over again.
10246
10247         * gst/gstclock.c:
10248         * gst/gstclock.h:
10249         Doc updates.
10250
10251         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10252         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10253         (gst_pad_send_event):
10254         * gst/gstpad.h:
10255         Make probe emission threadsafe again.
10256         Register quarks and move _get_name() from utils.
10257         Doc updates.
10258
10259         * gst/gstpipeline.c: (gst_pipeline_class_init),
10260         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10261         Only redistribute the clock of it changed.
10262
10263         * gst/gstsystemclock.h:
10264         Doc updates. 
10265
10266         * gst/gstutils.c:
10267         * gst/gstutils.h:
10268         Moved the _flow_get_name() to GstPad.
10269
10270 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10271
10272         * check/gst-libs/gdp.c: (GST_START_TEST):
10273         * check/gst/gstcaps.c: (GST_START_TEST):
10274         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
10275         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
10276         (gst_dp_packet_from_caps):
10277           fix more valgrind warnings before turning up the heat
10278
10279 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10280
10281         * gst/parse/grammar.y:
10282           some cleanup before the hacking
10283
10284 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * gst/base/gstbasesrc.c: (gst_base_src_query):
10287           use conversions
10288         * gst/gstutils.c: (gst_guint64_to_gdouble),
10289         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
10290         * gst/gstutils.h:
10291           externalize, basesrc uses it
10292           obviously the implementation needs testing
10293
10294 2005-10-10  Wim Taymans  <wim@fluendo.com>
10295
10296         * tests/sched/Makefile.am:
10297         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
10298         (make_pipeline3), (make_pipeline4), (print_elem), (main):
10299
10300 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
10303           apparently converting from guint64 to double is not implemented
10304           on MSVC
10305
10306 2005-10-10  Wim Taymans  <wim@fluendo.com>
10307
10308         * check/Makefile.am:
10309         * check/generic/states.c: (GST_START_TEST):
10310         * check/gst/gstbin.c: (GST_START_TEST):
10311         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10312         * check/states/sinks.c: (GST_START_TEST):
10313         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10314         (main):
10315         Check fixes, use API as stated in design docs, remove hacks.
10316
10317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10318         (gst_base_sink_change_state):
10319         Catch stopping our task while we're shutting down.
10320
10321         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10322         (gst_bin_remove_func), (gst_bin_get_state_func),
10323         (gst_bin_recalc_state), (gst_bin_change_state_func),
10324         (bin_bus_handler):
10325         * gst/gstbin.h:
10326         * gst/gstelement.c: (gst_element_init),
10327         (gst_element_get_state_func), (gst_element_abort_state),
10328         (gst_element_commit_state), (gst_element_lost_state),
10329         (gst_element_set_state), (gst_element_change_state),
10330         (gst_element_change_state_func):
10331         * gst/gstelement.h:
10332         New state change algorithm (see #318116)
10333
10334         * gst/gstpipeline.c: (gst_pipeline_class_init),
10335         (gst_pipeline_init), (gst_pipeline_set_property),
10336         (gst_pipeline_get_property), (do_pipeline_seek),
10337         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10338         * gst/gstpipeline.h:
10339         Remove crude state change hacks.
10340
10341         * gst/gstutils.h:
10342         Remove crude hacks.
10343
10344         * tools/gst-launch.c: (main):
10345         Fixes for state change. Needs some more work to fully use the
10346         new stuff.
10347
10348 2005-10-10  Andy Wingo  <wingo@pobox.com>
10349
10350         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10351
10352         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10353         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10354         issue.
10355
10356 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10357
10358         * gst/gstiterator.c: (gst_iterator_new):
10359           Fix my previous commit: GTypes passed to gst_iterator_new()
10360           can be fundamental types.
10361
10362 2005-10-10  Wim Taymans  <wim@fluendo.com>
10363
10364         * gst/gstelement.c: (gst_element_iterate_pad_list),
10365         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10366         (gst_element_iterate_sink_pads):
10367         Use src/sink pads lists for the respective iterators instead
10368         of filtering.
10369
10370 2005-10-10  Andy Wingo  <wingo@pobox.com>
10371
10372         Merged in popt removal + GOption addition patch from Ronald, bug
10373         #169772.
10374
10375         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10376         GstElement macros around, remove popt-related symbols, add goption
10377         stuff.
10378
10379         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10380         
10381         * docs/gst/Makefile.am:
10382         * docs/libs/Makefile.am: No POPT_CFLAGS.
10383         
10384         * examples/manual/Makefile.am:
10385         * docs/manual/basics-init.xml: Doc updates with an example.
10386         
10387         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10388         (gst_init), (parse_one_option), (parse_goption_arg):
10389         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10390         bit of hand merging and debugging to get the GOption stuff working
10391         tho.
10392         
10393         * tests/Makefile.am:
10394         * tools/Makefile.am:
10395         * tools/gst-inspect.c: (main):
10396         * tools/gst-launch.c: (main):
10397         * tools/gst-run.c: (main):
10398         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10399
10400 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10401
10402         * gst/gstiterator.c: (gst_iterator_new):
10403           Add assertions to make sure passed GType is likely to really
10404           be a GType (as the compiler won't catch it if the size and
10405           GType arguments get mixed up, see #318447).
10406
10407 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10408
10409         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10410
10411         * gst/gstbin.c: (gst_bin_iterate_sorted):
10412           Pass GType and size arguments to gst_iterator_new() in the right
10413           order (maybe we should make _new() take the GType as first argument
10414           just like _new_list()?) (#318447).
10415           
10416
10417 2005-10-10  Wim Taymans  <wim@fluendo.com>
10418
10419         * gst/gstelement.c: (gst_element_finalize):
10420         And free the GStaticRecMutex too
10421
10422 2005-10-10  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10425         Allocate and free the mutex properly.
10426
10427         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10428         New macros.
10429         (GstElement): The state_lock is now recursive. Rebuild your
10430         plugins, suckers. Old macros adapted.
10431
10432         * docs/gst/gstreamer-sections.txt: Doc updates.
10433
10434         * gst/gstutils.h:
10435         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10436         (g_static_rec_cond_wait): Ported from state changes patch, while
10437         we wait on bug #317802 to be solved in a well-distributed GLib.
10438
10439         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10440         gst_element_change_state, variable name changes.
10441         (gst_element_change_state): Split out of gst_element_set_state in
10442         preparation for the state change merge. Doesn't pay attention to
10443         the 'transition' argument.
10444         (gst_element_set_state): Updates, hopefully purely cosmetic.
10445         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10446         state change patch.
10447         (gst_element_get_state_func): Renamed from get_state, cosmetic
10448         changes.
10449
10450 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10451
10452         * gst/elements/gstelements.c:
10453         * win32/GStreamer.vcproj:
10454         * win32/config.h:
10455         * win32/dirent.c: (_tseekdir):
10456         * win32/gst-inspect.vcproj:
10457         * win32/gst-launch.vcproj:
10458         * win32/gstconfig.h:
10459         * win32/gstelements.vcproj:
10460         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10461         * win32/gstreamer.def:
10462         * win32/msvc71.sln:
10463           updates for the win32 build (patch from Sebastien Moutte)
10464
10465 2005-10-10  Andy Wingo  <wingo@pobox.com>
10466
10467         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10468         gst_bin_get_state, cleaned up (but no logic changes).
10469         (bin_element_is_sink): Comment updates.
10470         (sink_iterator_filter): Remove needless cast.
10471         (gst_bin_iterate_sinks): Doc update.
10472         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10473         cleaned up (but no logic changes).
10474
10475         * check/states/sinks.c (test_src_sink): Cleanups from the state
10476         change patch.
10477         (test_livesrc_sink): Sync on the state.
10478
10479         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10480         the state change patch.
10481
10482         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10483         change patch.
10484
10485         * check/gst/gstbin.c: Merge in some style fixes and additional
10486         checks from Wim's state change patch.
10487
10488 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10489
10490         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10491         (gst_type_find_helper):
10492           Check whether we have the requested data already in our list of
10493           cached buffers before pulling a new buffer; also make the buffer
10494           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10495
10496 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10497
10498         * gst/gstcaps.c:
10499         * gst/gstevent.c:
10500           doc updates
10501         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10502           don't use long long, it's not portable.  Replacing with
10503           gint64 seems to work; let's hope no skeletons fall out of the closet.
10504
10505 2005-10-10  Andy Wingo  <wingo@pobox.com>
10506
10507         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10508
10509 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10510
10511         * docs/gst/gstreamer-sections.txt:
10512         * gst/gstevent.c:
10513         * gst/gstevent.h:
10514         * gst/gstinfo.c:
10515         * gst/gstinfo.h:
10516         * gst/gstmessage.c: (gst_message_parse_state_changed):
10517         * gst/gstpad.c:
10518         * gst/gstpad.h:
10519           more docs, fix compilation
10520
10521 2005-10-09  Philippe Khalaf <burger@speedy.org>
10522         * gst/gstmessage.c:
10523           Fixed a few forgotten variables on previous commit
10524
10525 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10526
10527         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10528           Fix evil typefind crasher: getrange() might return a short
10529           buffer at the end of a file, but gst_type_find_peek() must
10530           either return the full data as requested or NULL, but
10531           never a short buffer.
10532
10533 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10534
10535         * gst/gstmessage.c: (gst_message_new_state_changed),
10536         (gst_message_parse_state_changed):
10537         * gst/gstmessage.h:
10538           don't use "new", it's a C++ keyword
10539
10540 2005-10-08  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10543         * gst/gstelement.c: (gst_element_post_message):
10544         * gst/gstpipeline.c: (gst_pipeline_change_state):
10545         Small docs and debug updates.
10546
10547 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10548
10549         * docs/gst/gstreamer-sections.txt:
10550         * gst/gstelementfactory.c:
10551         * gst/gstevent.c:
10552         * gst/gsttaglist.c:
10553           more docs
10554
10555 2005-10-08  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10558         (gst_bin_dispose), (bin_bus_handler):
10559         Fix typos, add comments.
10560         Clear EOS list when going to PAUSED from any direction and do it
10561         in a threadsafe way.
10562         Get base time in a threadsafe way too.
10563         Fix confusing debug in the change_state function.
10564         Various other small cleanups.
10565         
10566         * gst/gstelement.c: (gst_element_post_message):
10567         Fix very verbose bus posting code.
10568
10569         * gst/gstpipeline.c: (gst_pipeline_class_init),
10570         (gst_pipeline_set_property), (gst_pipeline_get_property),
10571         (gst_pipeline_change_state):
10572         Small ARG_ -> PROP_ cleanup
10573
10574 2005-10-08  Wim Taymans  <wim@fluendo.com>
10575
10576         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10577         Do a less CPU demanding EOS check because we can.
10578
10579 2005-10-08  Wim Taymans  <wim@fluendo.com>
10580
10581         * libs/gst/dataprotocol/dataprotocol.c:
10582         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10583         (gst_dp_packet_from_event):
10584         * libs/gst/dataprotocol/dataprotocol.h:
10585         * libs/gst/dataprotocol/dp-private.h:
10586         It's about time we bump the version number.
10587         Since event types don't fit in the guint8 anymore describing
10588         the payload type, make payload type 16 bits wide.
10589
10590 2005-10-08  Wim Taymans  <wim@fluendo.com>
10591
10592         * docs/design/part-TODO.txt:
10593         * docs/design/part-clocks.txt:
10594         * docs/design/part-events.txt:
10595         * docs/design/part-gstbin.txt:
10596         * docs/design/part-gstelement.txt:
10597         * docs/design/part-gstpipeline.txt:
10598         * docs/design/part-live-source.txt:
10599         * docs/design/part-messages.txt:
10600         * docs/design/part-overview.txt:
10601         * docs/design/part-states.txt:
10602         Many doc updates.
10603
10604 2005-10-08  Wim Taymans  <wim@fluendo.com>
10605
10606         * gst/gstevent.c:
10607         * gst/gstevent.h:
10608         Fix event quark registration.
10609         Add some space between events so we can insert them in the
10610         right groups.
10611
10612 2005-10-08  Wim Taymans  <wim@fluendo.com>
10613
10614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10615         (gst_base_sink_handle_buffer):
10616         Better log message.
10617
10618         * gst/gstbus.h:
10619         * gst/gstelement.h:
10620         More docs.
10621
10622         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10623         (gst_queue_set_property), (gst_queue_get_property):
10624         * gst/gstqueue.h:
10625         Remove old unused properties.
10626
10627 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10628         * docs/gst/gstreamer-sections.txt:
10629         * gst/gstmessage.c:
10630         * gst/gstmessage.h:
10631         * gst/gstminiobject.c:
10632         * gst/gstminiobject.h:
10633         * gst/gstobject.h:
10634         * gst/gstpad.h:
10635         * gst/gstutils.h:
10636           lots of new docs and doc fixes
10637
10638 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10639
10640         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10641         * gst/gstplugin.h:
10642         * gst/gstregistry.c: (gst_registry_lookup_locked),
10643         (gst_registry_scan_path_level):
10644         * gst/gstregistryxml.c: (load_plugin):
10645           Only ever load one plugin for a given plugin basename.
10646           This ensures correct overriding of GST_PLUGIN_PATH over
10647           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10648           system installed plugins.
10649
10650 2005-10-08  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10653         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10654         Prepare for doing QOS.
10655
10656 2005-10-08  Wim Taymans  <wim@fluendo.com>
10657
10658         * check/gst/gstbin.c: (GST_START_TEST):
10659         * check/pipelines/cleanup.c: (GST_START_TEST):
10660         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10661         Allow new clock message too.
10662
10663 2005-10-08  Wim Taymans  <wim@fluendo.com>
10664
10665         * gst/gstmessage.c: (gst_message_new_error),
10666         (gst_message_new_warning), (gst_message_new_tag),
10667         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10668         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10669         (gst_message_new_segment_start), (gst_message_new_segment_done),
10670         (gst_message_parse_state_changed),
10671         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10672         (gst_message_parse_new_clock):
10673         * gst/gstmessage.h:
10674         Also carry the clock in question.
10675
10676 2005-10-08  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gstmessage.c: (gst_message_new_custom),
10679         (gst_message_new_eos), (gst_message_new_error),
10680         (gst_message_new_warning), (gst_message_new_tag),
10681         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10682         (gst_message_new_new_clock), (gst_message_new_segment_start),
10683         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10684         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10685         * gst/gstmessage.h:
10686         Clean up.
10687         Added clock related messages.
10688
10689         * gst/gstpipeline.c: (gst_pipeline_change_state):
10690         Post message when the clock changed.
10691
10692         * tools/gst-launch.c: (event_loop):
10693         Print new clock.
10694
10695 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10696
10697         * tools/gst-inspect.c: (print_element_properties_info):
10698           Can't pass NULL strings to g_print() on windows.
10699
10700 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10701
10702         * docs/Makefile.am:
10703         * docs/gst/Makefile.am:
10704         * docs/gst/gstreamer-docs.sgml:
10705         * docs/gst/running.xml:
10706         * docs/version.entities.in:
10707           add a chapter on running GStreamer.
10708           document GST_DEBUG and GST_PLUGIN* env vars
10709
10710 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10711
10712         * Makefile.am:
10713           remove include dir
10714         * configure.ac:
10715           remove PLUGINS_BUILDDIR stuff
10716         * gst/gst.c: (init_post):
10717           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10718         * idiottest.mak:
10719           remove, it was condescending and not needed
10720
10721 2005-10-08  Wim Taymans  <wim@fluendo.com>
10722
10723         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10724         (gst_base_sink_handle_object), (gst_base_sink_event),
10725         (gst_base_sink_wait), (gst_base_sink_handle_event),
10726         (gst_base_sink_change_state):
10727         * gst/base/gstbasesink.h:
10728         Repost EOS message while going to PLAYING if still EOS.
10729         Make sure that when receiving a FLUSH_START we don't attempt
10730         to sync on the clock anymore.
10731
10732 2005-10-08  Wim Taymans  <wim@fluendo.com>
10733
10734         * tools/gst-launch.c: (event_loop):
10735         Better message printout.
10736
10737 2005-10-08  Wim Taymans  <wim@fluendo.com>
10738
10739         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10740         (gst_bin_child_proxy_get_children_count):
10741         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10742         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10743         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10744         (gst_child_proxy_set_valist):
10745         * gst/parse/grammar.y:
10746         Make ChildProxy threadsafe and fix mem leaks.
10747
10748 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10749
10750         * gst/gst.c: (init_post):
10751           debug the GST_PLUGIN_ env vars
10752
10753 2005-10-08  Wim Taymans  <wim@fluendo.com>
10754
10755         * check/gst/gstbin.c: (GST_START_TEST):
10756         * check/gst/gstmessage.c: (GST_START_TEST):
10757         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10758         * gst/gstelement.c: (gst_element_commit_state),
10759         (gst_element_lost_state):
10760         * gst/gstmessage.c: (gst_message_new_state_changed),
10761         (gst_message_parse_state_changed):
10762         * gst/gstmessage.h:
10763         * tools/gst-launch.c: (event_loop):
10764         Added extra field to STATE_CHANGE message with the pending
10765         state, which will be different from the new state soon.
10766
10767 2005-10-08  Wim Taymans  <wim@fluendo.com>
10768
10769         * gst/gstbus.c: (gst_bus_pop):
10770         * gst/gstclock.c:
10771         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10772         Small cleanups and doc updates.
10773
10774 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         * gst/gst.c: (init_pre):
10777         * gst/gstbin.c: (gst_bin_add_func):
10778           log distributing clocks and base time
10779         * gst/gstregistry.c: (gst_registry_add_plugin),
10780         (gst_registry_scan_path_level), (gst_registry_scan_path):
10781           clean up the debugging output a little
10782         * gst/gstutils.c: (gst_element_state_get_name):
10783           warn about a memleak (I've actually seen this be used, though
10784           it was probably a bug)
10785
10786 2005-10-07  Wim Taymans  <wim@fluendo.com>
10787
10788         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10789         (gst_base_src_init), (gst_base_src_default_newsegment),
10790         (gst_base_src_newsegment), (gst_base_src_do_seek),
10791         (gst_base_src_loop), (gst_base_src_start):
10792         * gst/base/gstbasesrc.h:
10793         Make the newsegment event customizable by subclasses.
10794
10795 2005-10-07  Wim Taymans  <wim@fluendo.com>
10796
10797         * gst/gstevent.c: (gst_event_new_buffersize),
10798         (gst_event_parse_buffersize):
10799         * gst/gstevent.h:
10800         New event for future idea.
10801
10802 2005-10-07  Andy Wingo  <wingo@pobox.com>
10803
10804         * gst/gstelement.c (gst_element_post_message): Doc update.
10805
10806         * docs/gst/gstreamer-sections.txt: Update.
10807
10808         * gst/gstmessage.c (gst_message_new_application): Made into a
10809         function like honest API calls.
10810         (gst_message_new_element): New message type.
10811
10812         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10813
10814         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10815         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10816         times.
10817
10818         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10819         NO_PREROLL from gst_element_change_state to fall through.
10820
10821 2005-10-07  Wim Taymans  <wim@fluendo.com>
10822
10823         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10824         (gst_ghost_pad_do_activate_push):
10825         Activating a ghostpad with no internal pad in push mode
10826         is ok.
10827
10828 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10829
10830         * gst/gstobject.h:
10831           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10832           Fixes compilation on Windows.
10833
10834 2005-10-07  Michael Smith <msmith@fluendo.com>
10835
10836         * tools/gst-inspect.c:
10837           Print out feature and plugin count at the end when printing out
10838           all features.
10839
10840 2005-10-04  Michael Smith <msmith@fluendo.com>
10841
10842         * gst/gsterror.c: (_gst_stream_errors_init):
10843           Add another error string used in a few existing plugins.
10844
10845         * gst/gstplugin.c:
10846         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10847         * tools/gst-inspect.c: (print_element_info):
10848           When a feature disappears from a plugin (and the feature exists in
10849           the cached registry file), things went horribly wrong. This isn't a
10850           complete fix, we should actually be removing the 'missing' features
10851           from the features list when we load the actual plugin. That's not
10852           yet implemented. 
10853
10854 2005-10-04  Johan Dahlin  <johan@gnome.org>
10855
10856         * check/gst/gstiterator.c: (GST_START_TEST):
10857         * gst/gstbin.c: (gst_bin_iterate_elements),
10858         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10859         * gst/gstelement.c: (gst_element_iterate_pads):
10860         * gst/gstformat.c: (gst_format_iterate_definitions):
10861         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10862         (gst_iterator_new_list), (gst_iterator_filter):
10863         * gst/gstiterator.h:
10864         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10865         Add a GType to GstIterator, update callsites and tests.
10866
10867 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10870           give events a chance to be handled by event probes when the pad
10871           is not linked
10872
10873 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10874
10875         * gst/gstevent.c: (gst_event_type_get_name),
10876         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10877         * gst/gstevent.h:
10878           add string representations for event types
10879
10880 2005-10-06  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10883         Don't use NULL pointers.
10884
10885 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * gst/gst_private.h:
10888         * gst/gstbus.c:
10889         * gst/gstelement.c:
10890         * gst/gstinfo.c:
10891         * gst/gstpluginfeature.c:
10892           widen the debug category in output to fit the biggest one we have
10893           add a bus category and use it
10894           play with the colors
10895           fix up some categories
10896
10897 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10898
10899         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10900           add push activation of sink ghost pads.
10901           Andye, please verify
10902
10903 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10904
10905         * gst/gstutils.c: (gst_element_link_pads):
10906           fix a bug in the case where neither element has a pad
10907         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10908           add a test for that case
10909
10910 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10913           emit have-data before checking for peers.  This allows
10914           for probe handlers to connect elements.  This helps autopluggers.
10915         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10916         (gst_pad_suite):
10917           add six checks, linked/unlinked with no/true/false probe
10918
10919 2005-10-04  Wim Taymans  <wim@fluendo.com>
10920
10921         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10922         (gst_fake_sink_event), (gst_fake_sink_preroll),
10923         (gst_fake_sink_render), (gst_fake_sink_change_state):
10924         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10925         (gst_fake_src_get_property), (gst_fake_src_create),
10926         (gst_fake_src_stop):
10927         * gst/elements/gstidentity.c: (gst_identity_stop):
10928         Protect last_message with lock.
10929
10930 2005-10-04  Edward Hervey  <edward@fluendo.com>
10931
10932         * gst/gstformat.h: 
10933         Added precision in the comments for GST_FORMAT_DEFAULT
10934
10935 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10936
10937         * tools/gst-launch.c: (main):
10938           Don't try to run erroneous pipelines.
10939
10940 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10941
10942         * gst/gstbus.c: We don't need this header.
10943
10944 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * configure.ac:
10947           back to development
10948
10949 === release 0.9.3 ===
10950
10951 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10952
10953         * README:
10954         * configure.ac:
10955           Releasing 0.9.3, "Unregistered"
10956
10957 2005-10-03  Andy Wingo  <wingo@pobox.com>
10958
10959         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10960         whereby calling a pad's activatepush() function can start a thread
10961         that starts to push or pull before the pad gets the FLUSHING flag
10962         unset. Hack around it by holding the stream lock until the flag is
10963         set. Need to replace this with a proper solution. Together with
10964         the ghost pad fixes, this fixes mp3 playing/tagreading.
10965
10966         * docs/design/part-gstghostpad.txt: Add a note about activation of
10967         proxy pads outside of ghost pads.
10968
10969         * gst/gstghostpad.c: Implement the ghost pad activation design.
10970
10971 2005-10-02  Andy Wingo  <wingo@pobox.com>
10972
10973         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10974         It is volatile, after all.
10975
10976         * docs/design/part-gstghostpad.txt: Flesh out activation with
10977         ghost pads.
10978
10979         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10980         GST_DEBUG_FUNCPTR.
10981
10982 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10983
10984         * configure.ac:
10985           Fix (unused) AM_CONDITIONAL tests.
10986
10987 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10988
10989         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10990
10991         * gst/gstutils.c: (gst_pad_query_convert):
10992           Add assertion that makes sure src_val is >=0, just like
10993           gst_query_new_convert() has. (#315895)
10994
10995 2005-09-30  Edward Hervey  <edward@fluendo.com>
10996
10997         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10998         Let's not iterate pads we're not interested in, it avoids getting 
10999         sky-high refcounts on sinkpad.
11000
11001 2005-09-30  Wim Taymans  <wim@fluendo.com>
11002
11003         * gst/gstelement.c: (gst_element_set_state),
11004         (gst_element_change_state):
11005         Small tweak, element in ASYNC remains ASYNC.
11006
11007 2005-09-30  Wim Taymans  <wim@fluendo.com>
11008
11009         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11010         Only error is an error.
11011
11012         * gst/gstbin.c: (gst_bin_change_state):
11013         Better debugging.
11014
11015         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11016         Also call pad_block in pad alloc.
11017
11018         * gst/gstutils.c: (gst_flow_get_name):
11019         Better debugging.
11020
11021 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11022
11023         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11024         (gst_base_src_get_range):
11025           Fix documentation typos. Add some more debug info.
11026
11027 2005-09-29  David Schleef  <ds@schleef.org>
11028
11029         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11030           more end-user friendly.
11031         * tools/gst-inspect.c: (main): Check if command-line argument is
11032           a file and attempt to load that file as a plugin.
11033
11034 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * check/gst/gstbin.c:
11037         * check/states/sinks.c:
11038           fix tests for the new warning
11039         * check/gst/gstpipeline.c:
11040           add a test for pipeline and bus interaction
11041         * gst/gstelement.c:
11042           elements should be NULL if they get disposed; add a warning if not
11043
11044 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * gst/gstobject.c:
11047           for 2.6 refcounting, make debug log more correct by printing
11048           the actual refcounts at the time of swap (Wim)
11049
11050 2005-09-29  Andy Wingo  <wingo@pobox.com>
11051
11052         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11053         removes signal watches previously added via
11054         gst_bus_add_signal_watch.
11055         (gst_bus_add_signal_watch): Don't return the source id, just store
11056         it on the bus if there wasn't an id already.
11057
11058         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11059         add_signal_watch and remove_signal_watch.
11060
11061 2005-09-29  Edward Hervey  <edward@fluendo.com>
11062
11063         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11064         Better if we actually iterate the list :)
11065
11066 2005-09-29  Wim Taymans  <wim@fluendo.com>
11067
11068         * check/gst/gstbin.c: (GST_START_TEST):
11069         Change for new bus API.
11070
11071         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11072         (send_messages), (GST_START_TEST), (gstbus_suite):
11073         Change for new bus signal API.
11074
11075         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11076         (gst_bus_source_prepare), (gst_bus_source_check),
11077         (gst_bus_create_watch), (gst_bus_add_watch_full),
11078         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11079         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11080         * gst/gstbus.h:
11081         Remove support for multiple GSources operating on different
11082         message types as it is too complex and unneeded when using
11083         signals.
11084         Added support for receiving signals from the bus.
11085
11086 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * docs/libs/tmpl/gstdataprotocol.sgml:
11089         * docs/manual/advanced-dataaccess.xml:
11090         * gst/elements/gstcapsfilter.c:
11091         * gst/gstutils.c:
11092           rename filter-caps to caps property
11093
11094 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11095
11096         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11097           More robust fraction string parsing.
11098
11099         * docs/pwg/appendix-porting.xml:
11100           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11101
11102 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11103
11104         * gst/gstcaps.c: (gst_caps_do_simplify):
11105           Thou shalt not free a structure and then continue using it
11106           in the next loop iteration.
11107
11108         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11109         (gst_caps_suite):
11110           Add test case for caps simplification.
11111
11112 2005-09-29  Wim Taymans  <wim@fluendo.com>
11113
11114         * check/gst/gstbin.c: (GST_START_TEST):
11115         Oops.
11116
11117 2005-09-29  Wim Taymans  <wim@fluendo.com>
11118
11119         * check/gst/gstbin.c: (GST_START_TEST):
11120         Add bus to bin.
11121
11122         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11123         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11124         (find_element), (gst_bin_sort_iterator_next),
11125         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11126         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11127         (gst_bin_change_state), (gst_bin_dispose):
11128         A bin does not have a bus, it gets the bus from the parent.
11129
11130         * gst/gstelement.c: (gst_element_requires_clock),
11131         (gst_element_provides_clock), (gst_element_is_indexable),
11132         (gst_element_is_locked_state), (gst_element_change_state),
11133         (gst_element_set_bus_func):
11134         Small cleanups.
11135
11136         * gst/gstpipeline.c: (gst_pipeline_class_init),
11137         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11138         The pipeline provides a bus.
11139
11140 2005-09-28  Johan Dahlin  <johan@gnome.org>
11141
11142         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11143         gst_structure_get_enum instead of gst_structure_get_int
11144
11145         * gst/gststructure.c (gst_structure_get_enum): Impl.
11146
11147         * gst/gststructure.h (gst_structure_get_enum): Add
11148
11149         * docs/gst/gstreamer-sections.txt: Ditto
11150
11151         * gst/gstmessage.c (gst_message_new_state_changed): Use
11152         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11153         which does introspection.
11154         Reviewed by Christian Schaller
11155
11156 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11157
11158         * gst/gstinfo.c: (gst_debug_log_default):
11159           don't do dummy g_strdup()s
11160         * libs/gst/controller/gstcontroller.c:
11161         (on_object_controlled_property_changed),
11162         (gst_controlled_property_new), (gst_controller_new_valist),
11163         (gst_controller_new_list),
11164         (gst_controller_remove_properties_valist), (gst_controller_set),
11165         (gst_controller_get), (gst_controller_sync_values),
11166         (gst_controller_get_value_array), (_gst_controller_class_init),
11167         (gst_controller_get_type):
11168         * libs/gst/controller/gstcontroller.h:
11169         * libs/gst/controller/gstinterpolation.c:
11170         (gst_controlled_property_find_timed_value_node):
11171           convert // to /**/ comments
11172
11173 2005-09-28  Wim Taymans  <wim@fluendo.com>
11174
11175         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11176         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11177         (gst_bus_sync_signal_handler):
11178         * gst/gstbus.h:
11179         Added async-message and sync-message signals to the bus.
11180         Added helper BusFunc to emit signals for all posted messages.
11181
11182         * gst/gstmessage.c: (gst_message_type_get_name),
11183         (gst_message_type_to_quark), (gst_message_get_type):
11184         * gst/gstmessage.h:
11185         Register quarks for message names.
11186
11187 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11188
11189         * docs/libs/gstreamer-libs-sections.txt:
11190         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11191         (gst_controller_new_list):
11192         * libs/gst/controller/gstcontroller.h:
11193           added another constructor for language bindings
11194
11195 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11196
11197         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11198           add another check
11199         * gst/gstbus.c:
11200           add some doc
11201         * gst/gstinfo.c: (_gst_debug_init):
11202           slightly more readable color for refcount debugging
11203
11204 2005-09-28  Wim Taymans  <wim@fluendo.com>
11205
11206         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11207         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11208         (find_element), (gst_bin_sort_iterator_next),
11209         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11210         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11211         (gst_bin_change_state), (gst_bin_dispose):
11212         Small doc fixes. get_clock -> provide_clock.
11213
11214         * gst/gstelement.c: (gst_element_class_init),
11215         (gst_element_provides_clock), (gst_element_provide_clock),
11216         (gst_element_get_clock), (gst_element_commit_state),
11217         (gst_element_lost_state):
11218         * gst/gstelement.h:
11219         Make get/set_clock() symetric. Add provide_clock vmethod since
11220         that is actually what this function does.
11221
11222         * gst/gstpipeline.c: (gst_pipeline_class_init),
11223         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11224         (gst_pipeline_get_clock):
11225         get_clock -> provide_clock.
11226
11227 2005-09-28  Andy Wingo  <wingo@pobox.com>
11228
11229         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11230         lieu of real docs...
11231
11232         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11233
11234 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11235
11236         * gst/elements/gstcapsfilter.c:
11237         * gst/elements/gstfakesink.c:
11238         * gst/elements/gstfakesrc.c:
11239         * gst/elements/gstfdsink.c:
11240         * gst/elements/gstfdsrc.c:
11241         * gst/elements/gstfilesink.c:
11242         * gst/elements/gstfilesrc.c:
11243         * gst/elements/gstidentity.c:
11244         * gst/elements/gsttee.c:
11245         * gst/elements/gsttypefindelement.c:
11246           Make element details static.
11247
11248 2005-09-28  Wim Taymans  <wim@fluendo.com>
11249
11250         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11251         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11252         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11253         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11254         (gst_bin_change_state), (gst_bin_dispose):
11255         Some documentation updates.
11256         Clean up dispose handlers.
11257
11258         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11259         * gst/gstpad.c: (gst_pad_dispose):
11260         Clean up dispose handler.
11261
11262         * gst/gstpipeline.c: (gst_pipeline_change_state):
11263         Removed spurious UNLOCK.
11264
11265 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
11266
11267         * docs/gst/gstreamer-sections.txt:
11268         * gst/base/gstbasesrc.h:
11269         * gst/gstelement.h:
11270         * gst/gstevent.h:
11271         * gst/gstobject.h:
11272         * gst/gstpad.h:
11273         * gst/gstpipeline.c:
11274         * gst/gstpipeline.h:
11275         * gst/gstutils.h:
11276         * gst/gstxml.h:
11277           added two new functions to the docs
11278                 documents all undocumented GstXXXFlags
11279                 completed some incomplete docs 
11280
11281 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11282
11283         * gst/gstbin.c: (gst_bin_dispose):
11284         * gst/gstelement.c: (gst_element_dispose):
11285           remove now useless and leaky resurrection code in dispose
11286         * gst/base/gstbasesrc.c: (gst_base_src_init):
11287         * gst/gstelementfactory.c: (gst_element_factory_create):
11288         * gst/gstobject.c: (gst_object_set_parent):
11289           add some debugging
11290
11291 2005-09-27  Wim Taymans  <wim@fluendo.com>
11292
11293         * docs/design/part-TODO.txt:
11294         Update TODO.
11295
11296         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11297         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11298         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11299         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11300         (gst_bin_change_state):
11301         * gst/gstelement.h:
11302         Remove element variable, we keep element info in the iterator now.
11303
11304 2005-09-27  Andy Wingo  <wingo@pobox.com>
11305
11306         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11307         values.
11308
11309 2005-09-27  Wim Taymans  <wim@fluendo.com>
11310
11311         * check/gst/gstbin.c: (GST_START_TEST):
11312         Enable check that works now.
11313
11314         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11315         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11316         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11317         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11318         (gst_bin_change_state):
11319         * gst/gstbin.h:
11320         Redid the state change algorithm using a topological sort algo.
11321         Handles all cases correctly.
11322         Exposed iterator for state change order.
11323
11324         * gst/gstelement.h:
11325         Temp storage for state changes. Need to get rid of this soon.
11326
11327 2005-09-27  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11330         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11331         (link_fold_func), (gst_pad_proxy_setcaps):
11332         Leak fixes, the fold functions need to unref the passed object and
11333         _get_parent_*() returns ref to parent.
11334
11335 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11336
11337         * check/gst/gstbuffer.c: (test_make_writable):
11338           Plug leak in test case and fix 'make check-valgrind'
11339
11340 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11341
11342         * gst/gstbuffer.c: (gst_subbuffer_init):
11343           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11344           works correctly in all circumstances (we could have just copied
11345           the parent buffer's readonly flag, but conceptually it seems
11346           cleaner to mark all subbuffers as read-only). (based on patch
11347           by Alessandro Decina, #314710).
11348         
11349         * check/gst/gstbuffer.c: (create_read_only_buffer),
11350         (test_make_writable), (test_subbuffer_make_writable),
11351         (gst_test_suite):
11352           Add some tests for gst_buffer_make_writable().
11353
11354 2005-09-27  Wim Taymans  <wim@fluendo.com>
11355
11356         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11357         use gst_object_has_ancestor().
11358
11359         * gst/gstobject.c: (gst_object_has_ancestor):
11360         * gst/gstobject.h:
11361         gst_object_has_ancestor() copied from gstbin.c as it is a
11362         usefull function.
11363
11364         * tests/instantiate/create.c: (create_all_elements):
11365         * tests/lat.c: (handoff_src), (handoff_sink):
11366         * tests/sched/runxml.c: (main):
11367         * tests/seeking/seeking1.c: (main):
11368         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11369         (main):
11370         Fix compilation of some tests.
11371
11372 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11373
11374         * gst/gsterror.h:
11375           Remove comment. GST_TYPE_G_ERROR is here to stay,
11376           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11377           (#316961, #300610).
11378
11379 2005-09-26  Wim Taymans  <wim@fluendo.com>
11380
11381         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11382         Added check that shows error in state change order.
11383
11384 2005-09-26  Wim Taymans  <wim@fluendo.com>
11385
11386         * gst/gstbin.c: (gst_bin_change_state):
11387         Make state change function use 3 queues again, we were
11388         adding elements in the wrong order.
11389
11390         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11391         Some debug info,
11392
11393         * gst/gstpad.c: (gst_pad_dispose):
11394         Added some debug info first.
11395
11396 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         * docs/design/draft-push-pull.txt:
11399         * docs/design/part-events.txt:
11400         * docs/design/part-overview.txt:
11401         * docs/design/part-scheduling.txt:
11402           Replace all _pull_region() with _pull_range()
11403           
11404 2005-09-26  Andy Wingo  <wingo@pobox.com>
11405
11406         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11407
11408         * check/gst-libs/controller.c: Update for controller api change.
11409
11410         * configure.ac: 
11411         * tests/Makefile.am:
11412         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11413         over by GLib bug 118439.
11414         
11415         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11416         routines to a function.
11417
11418         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11419
11420         * libs/gst/controller/gsthelper.c:
11421         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11422         (gst_object_sync_values): Renamed from sink_values. Ugh.
11423
11424         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11425
11426         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11427         Renamed from controller_key, as it is exported.
11428
11429         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11430
11431 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * gst/Makefile.am:
11434         * gst/gst.h:
11435         * gst/gstpad.h:
11436         * gst/gstpadtemplate.h:
11437         * gst/gstquery.c:
11438         * gst/gstquery.h:
11439         * gst/gstqueryutils.c:
11440         * gst/gstqueryutils.h:
11441           remove queryutils headers after moving the two used functions
11442           to gstquery.  also fixes build problem for gstsiddec
11443
11444 2005-09-26  Michael Smith <msmith@fluendo.com>
11445
11446         * tools/gst-launch.1.in:
11447         Correct documentation in manpage of debug syntax
11448
11449 2005-09-26  Wim Taymans  <wim@fluendo.com>
11450
11451         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11452         (gst_base_src_is_seekable), (gst_base_src_change_state):
11453         Some more debugging info.
11454
11455 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11456
11457         * docs/gst/gstreamer-sections.txt:
11458         * gst/base/gstbasetransform.h:
11459         * gst/gstindex.h:
11460           added more docs
11461
11462 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11463
11464         * docs/gst/.cvsignore:
11465         * docs/gst/tmpl/.cvsignore:
11466         * docs/gst/tmpl/gstpipeline.sgml:
11467         * docs/gst/tmpl/gstplugin.sgml:
11468         * gst/gstpipeline.c:
11469         * gst/gstplugin.c:
11470         * gst/gstplugin.h:
11471           inlined the last two docs files
11472           removed the tmpl directory from cvs (no more conflicts here!)
11473
11474 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11475
11476         * docs/gst/gstreamer-sections.txt:
11477         * docs/gst/tmpl/.cvsignore:
11478         * docs/gst/tmpl/gstpad.sgml:
11479         * docs/gst/tmpl/gstpadtemplate.sgml:
11480         * gst/Makefile.am:
11481         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11482         (gst_pad_finalize), (gst_pad_set_pad_template):
11483         * gst/gstpad.h:
11484         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11485         (gst_pad_template_class_init), (gst_pad_template_init),
11486         (gst_pad_template_dispose), (name_is_valid),
11487         (gst_static_pad_template_get), (gst_pad_template_new),
11488         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11489         (gst_pad_template_pad_created):
11490         * gst/gstpadtemplate.h:
11491           inlined two more docs
11492           factored gstpadtemplate out of gstpad
11493
11494 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11495
11496         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11497         (test_children_state_change_order_semi_sink):
11498           Fix test case: we can't rely on a fixed state change order when
11499           going from READY => PAUSED because the sink might commit its 
11500           new state first when the first buffer created by the source 
11501           reaches the sink before the source has finished its change state.
11502           (Test case still fails at times, see #316856, comment 5 onwards)
11503
11504 2005-09-24  Wim Taymans  <wim@fluendo.com>
11505
11506         * docs/design/part-events.txt:
11507         * docs/design/part-gstbus.txt:
11508         * docs/design/part-gstpipeline.txt:
11509         * docs/design/part-messages.txt:
11510         * docs/design/part-overview.txt:
11511         * docs/design/part-segments.txt:
11512         * gst/gstbin.c:
11513         * gst/gstbuffer.c:
11514         * gst/gstclock.c:
11515         * gst/gstelement.c:
11516         * gst/gstevent.c:
11517         * gst/gstfilter.c:
11518         * gst/gstiterator.c:
11519         Various documentation updates.
11520
11521 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11522
11523         * gst/gstclock.h:
11524           Well, that's embarassing.  Luckily we weren't using
11525           GST_CLOCK_DIFF anywhere.
11526
11527 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * common/gtk-doc.mak:
11530           don't fail on building XML, FC4 slave shows a bunch of doc
11531           missing bits that I don't get
11532         * gst/gstpad.c:
11533         * gst/gstpipeline.c:
11534         * gst/gststructure.c:
11535           some doc updates
11536
11537 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11538
11539         * docs/design/part-gstbin.txt:
11540         * docs/design/part-gstbus.txt:
11541         * gst/gstbus.c:
11542           Add blurb about how the bus goes into flushing mode and
11543           drops all messages when its bin goes from READY into NULL 
11544           state.
11545
11546 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11547
11548         * docs/gst/gstreamer-sections.txt:
11549         * gst/gststructure.c: (gst_structure_get_clock_time):
11550         * gst/gststructure.h:
11551           add a method to get a GstClockTime out of a structure
11552
11553 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11554
11555         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11556         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11557           Added test to check state change order in bins (can still be made
11558           to fail here under heavy disk load; bails out with 'Push on pad
11559           fakesink:sink0, but it was not activated in push mode').
11560
11561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11562           Fix state change order when there is only a semi sink (#316856)
11563
11564         * gst/gstbus.c: (gst_bus_class_init):
11565           Use _class_peek_parent(), not _class_ref(); fix docs to say
11566           'default main context' instead of 'mainloop' where that is
11567           what's meant.
11568
11569         * gst/gstelement.c: (gst_element_commit_state),
11570         (gst_element_set_state):
11571           Fix typos in debug messages
11572
11573 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11574
11575         * docs/README:
11576         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11577         * gst/gstpluginfeature.c:
11578         * gst/gstutils.c:
11579           various doc updates
11580         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11581           change an assert into an error until it gets fixed properly
11582
11583 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11584
11585         * docs/gst/gstreamer-sections.txt:
11586         * docs/gst/tmpl/.cvsignore:
11587         * docs/gst/tmpl/gstelement.sgml:
11588         * docs/gst/tmpl/gstinfo.sgml:
11589         * docs/gst/tmpl/gstobject.sgml:
11590         * gst/gstelement.c:
11591         * gst/gstelement.h:
11592         * gst/gstinfo.c:
11593         * gst/gstinfo.h:
11594         * gst/gstobject.c: (gst_object_class_init):
11595         * gst/gstobject.h:
11596           inlined 3 more biiiig doc files and added some missing docs on the fly
11597
11598 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11599
11600         * check/gst/.cvsignore:
11601         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11602         * gst/gstregistryxml.c: (load_plugin),
11603         (gst_registry_xml_save_plugin):
11604           put back source in registry.  add checks for find_plugin.
11605         * testsuite/states/bin.c: (assert_state), (empty_bin),
11606         (test_adding_one_element), (main):
11607         * testsuite/states/locked.c: (main):
11608           some compile/run fixes
11609
11610 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * check/gst/gstvalue.c: (GST_START_TEST):
11613           fix leaks in the test itself
11614
11615 2005-09-22  Wim Taymans  <wim@fluendo.com>
11616
11617         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11618         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11619         (gst_base_sink_query):
11620         Prepare for more accurate position reporting and query
11621         handling.
11622
11623         * gst/gstelement.c: (gst_element_send_event),
11624         (gst_element_set_state):
11625         Add some comment.
11626
11627 2005-09-22  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11630         (gst_query_parse_segment):
11631         * gst/gstquery.h:
11632         More documentation.
11633         Add segment query for future use.
11634
11635 2005-09-22  Wim Taymans  <wim@fluendo.com>
11636
11637         * gst/gstbin.c: (gst_bin_add_func):
11638         Some more debug info.
11639
11640         * gst/gstelement.c: (gst_element_send_event):
11641         Simplify send_event
11642
11643         * gst/gstelement.h:
11644         Don't know how flags got broken.
11645
11646         * gst/gstquery.h:
11647         Added new query.
11648
11649 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11650
11651         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11652           Add simplistic test suite for GST_TYPE_DATE serialisation and
11653           deserialisation.
11654
11655 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11656
11657         * docs/gst/gstreamer-sections.txt:
11658         * gst/gststructure.c: (gst_structure_set_valist),
11659         (gst_structure_get_date):
11660         * gst/gststructure.h:
11661         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11662         (gst_date_copy), (gst_value_compare_date),
11663         (gst_value_serialize_date), (gst_value_deserialize_date),
11664         (gst_value_transform_date_string),
11665         (gst_value_transform_string_date), (_gst_value_initialize):
11666         * gst/gstvalue.h:
11667           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11668           bunch of utility functions along with a hack that checks that
11669           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11670           is required. Part of the grand scheme in #170777.
11671
11672 2005-09-22  Andy Wingo  <wingo@pobox.com>
11673
11674         * gst/gstconfig.h.in: Psych out gtk-doc.
11675
11676         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11677
11678         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11679
11680         * tools/gst-inspect.c (print_element_list): Plug some
11681         inconsequential leaks.
11682
11683         * gst/gstregistry.c (gst_registry_get_default): Doc.
11684
11685         * check/gst/gstplugin.c: 
11686         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11687         * gst/gstelementfactory.c (gst_element_factory_create): 
11688         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11689         refcount changes.
11690
11691         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11692         (gst_plugin_feature_load): Doc, don't eat refs.
11693
11694         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11695         (gst_plugin_list_free): Doc.
11696         (gst_plugin_load_file): Doc updates.
11697
11698         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11699         accessors returning refcounted objects, return a ref.
11700
11701         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11702         accessor for caps. IDEMPOTENCE. Oh yes.
11703
11704 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11705
11706         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11707
11708         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11709         (_gst_debug_register_funcptr):
11710           Add mutex to serialise access to the hash table with
11711           the function pointer => function name string mapping;
11712           make that hash table static scope (#316809).
11713
11714         * gst/registries/.cvsignore:
11715           Remove left-over file.
11716
11717 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11718
11719         * docs/pwg/appendix-porting.xml:
11720           And something about newsegment events and caps-on-buffers to
11721           the porting guide (feel free to improve).
11722
11723 2005-09-21  Andy Wingo  <wingo@pobox.com>
11724
11725         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11726         data and event probes on the same pad.
11727         (test_buffer_probe_once): Test that removing probes from within
11728         the probe functions works.
11729
11730 2005-09-21  Andy Wingo  <wingo@pobox.com>
11731
11732         * check/gst/gstutils.c: New file.
11733         (test_buffer_probe_n_times): A simple buffer probe test. More to
11734         come, foolios.
11735
11736         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11737         have-data::buffer, not have-data.
11738         (gst_pad_add_event_probe): Likewise for have-data::event.
11739         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11740         peer' isn't quite right yet though.
11741         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11742         (gst_pad_remove_data_probe): Change to take the guint handler_id
11743         as their arg, not the function+data, which is more glib-like.
11744
11745         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11746         the signal emission to indicate if the data is a buffer or an
11747         event.
11748         (gst_pad_get_type): Initialize buffer and event quarks.
11749         (gst_pad_class_init): have-data is now a detailed signal, yes it
11750         is.
11751
11752 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11753
11754         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11755         * gst/gstutils.c: (gst_util_set_value_from_string),
11756         (gst_util_set_object_arg):
11757           Don't put functional code in g_return_if_fail() or
11758           g_return_val_if_fail() statements, otherwise things will 
11759           break when G_DISABLE_CHECKS is defined during compilation.
11760
11761 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11762
11763         * docs/gst/tmpl/.cvsignore:
11764         * docs/gst/tmpl/gstvalue.sgml:
11765         * gst/gstvalue.c:
11766         * gst/gstvalue.h:
11767           inlied another one and added  some obvious docs
11768
11769 2005-09-21  Wim Taymans  <wim@fluendo.com>
11770
11771         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11772         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11773         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11774         (gst_fdsrc_get_property), (gst_fdsrc_create):
11775         * gst/elements/gstfdsrc.h:
11776         Properly implement fdsrc. Removed signal and timeout,
11777         better implemented somewhere else.
11778
11779 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11780
11781         * docs/gst/tmpl/.cvsignore:
11782         * docs/gst/tmpl/gstimplementsinterface.sgml:
11783         * gst/gstinterface.c:
11784           inlined more docs
11785
11786 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11787
11788         * docs/gst/gstreamer-sections.txt:
11789         * docs/gst/tmpl/.cvsignore:
11790         * docs/gst/tmpl/gstenumtypes.sgml:
11791           remove obsolete doc file
11792
11793 2005-09-21  David Schleef  <ds@schleef.org>
11794
11795         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11796         little beer, fix a little leak.
11797
11798 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11799
11800         * docs/gst/gstreamer-docs.sgml:
11801         * docs/gst/gstreamer-sections.txt:
11802         * docs/gst/tmpl/.cvsignore:
11803         * gst/Makefile.am:
11804         * gst/gst.h:
11805         * gst/gstbin.c:
11806         * gst/gstelement.h:
11807         * gst/gstindex.c: (gst_index_class_init):
11808         * gst/gstindex.h:
11809         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11810         (gst_index_factory_class_init), (gst_index_factory_init),
11811         (gst_index_factory_finalize), (gst_index_factory_new),
11812         (gst_index_factory_destroy), (gst_index_factory_find),
11813         (gst_index_factory_create), (gst_index_factory_make):
11814         * gst/gstindexfactory.h:
11815         * gst/gstpluginfeature.c:
11816         * gst/gstpluginfeature.h:
11817         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11818           more docs inlined, splitted gstindex.{c,h}
11819
11820 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11821
11822         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11823           fix a leak
11824
11825 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11826
11827         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11828           Set sync to FALSE by default.
11829
11830 2005-09-20  Wim Taymans  <wim@fluendo.com>
11831
11832         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11833         (gst_base_sink_init):
11834         Make sync property settable from subclass.
11835
11836         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11837         (gst_fake_sink_change_state):
11838         Set sync to FALSE by default.
11839
11840 2005-09-20  Wim Taymans  <wim@fluendo.com>
11841
11842         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11843         * tools/gst-launch.c: (main):
11844         The timeout handler should have lower priority than the source
11845         so we don't timeout before popping a message with 0 timeout.
11846         Dump error messages after failed state change.
11847
11848 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * tools/gst-inspect.c: (print_element_properties_info):
11851           Fix two typos.
11852
11853 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * check/gst/gstevent.c:
11856         * gst/elements/gstfakesink.c:
11857         * gst/elements/gstfakesink.h:
11858           remove the sync property from fakesink.
11859           has the side effect of setting sync TRUE
11860           for fakesink, which is a change.  Anyone who knows how
11861           to fix this nicely in a GObject-y way, feel free.
11862
11863 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11864
11865         * docs/gst/gstreamer-docs.sgml:
11866           remove probe refsection
11867
11868 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11869
11870         * check/Makefile.am:
11871           disable valgrinding the controller test again
11872         * docs/gst/gstreamer-sections.txt:
11873           update for api-changes
11874
11875 2005-09-20  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11878         (gst_base_sink_set_property), (gst_base_sink_get_property),
11879         (gst_base_sink_do_sync):
11880         * gst/base/gstbasesink.h:
11881         Added sync property to basesink to disable clock sync.
11882
11883 2005-09-20  Andy Wingo  <wingo@pobox.com>
11884
11885         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11886         eating the caller's refcount.
11887
11888         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11889         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11890         refcount.
11891
11892         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11893         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11894         of GLib 2.8 public, so we can know which refcount to check in
11895         tests.
11896
11897         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11898         (gst_object_init): Only set the gst refcount if we're going ahead
11899         with the refcount hack.
11900
11901 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11902
11903         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11904         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11905           more leaks plumbed, added more debug-logging
11906         * gst/gstmacros.h:
11907           whitespace fix
11908
11909 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11910
11911         * gst/gstmessage.c:
11912           remove include of gstmemchunk.h
11913
11914 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11915
11916         * gst/gstclock.c: (_gst_clock_id_free):
11917           Commit from the Political Party For More Atomic CVS Commits,
11918           so that people don't waste too much of their day fishing
11919           out obvious leaks out of massive commits.
11920           Oh, and fix a pretty damn obvious leak in the memchunk
11921           removal code.
11922
11923 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11924
11925         * check/Makefile.am:
11926         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11927           plug mem-leak, re-add to valgrindable tests
11928
11929 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11930
11931         * gst/gstplugin.h:
11932           unbreak the build for those who have chronic arthritis
11933           and typing "make check" is just too taxing on the hands
11934
11935 2005-09-20  Andy Wingo  <wingo@pobox.com>
11936
11937         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11938         really want it out, you should fix plugins at the same time.
11939
11940 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11941
11942         * configure.ac:
11943         * docs/gst/gstreamer-sections.txt:
11944         * gst/gstobject.c:
11945           added missing symbols to api docs
11946           disable ref-count hack if we have glib >= 2.8
11947
11948 2005-09-19  David Schleef  <ds@schleef.org>
11949
11950         * docs/gst/Makefile.am: Ignore a few more internal headers
11951         * docs/gst/gstreamer-docs.sgml: Remove old sections
11952         * docs/gst/gstreamer-sections.txt: Remove old sections
11953         * docs/gst/tmpl/gstobject.sgml: update
11954         * docs/gst/tmpl/gstplugin.sgml: update
11955         * docs/gst/tmpl/gstpluginfeature.sgml: update
11956         * docs/random/ds/0.9-suggested-changes: update.
11957         * gst/Makefile.am: remove memchunk and trashstack, since they're
11958           not used.
11959         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11960         * gst/gst.h: don't include some headers
11961         * gst/gstchildproxy.c: add gstmarshal.h
11962         * gst/gstclock.c: Don't use memchunks
11963         * gst/gstminiobject.c: Add some docs
11964         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11965         * gst/gstobject.h: same
11966         * gst/gstplugin.c: include gstmacros.h
11967         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11968         * gst/gstquery.c: don't use memchunks
11969         * gst/gstregistry.c: rename gst_registry_deinit()
11970         * gst/gstregistry.h: same
11971
11972 2005-09-19  David Schleef  <ds@schleef.org>
11973
11974         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11975         * docs/libs/gstreamer-libs-sections.txt:
11976         * docs/libs/tmpl/gstgetbits.sgml:
11977         * docs/libs/tmpl/gstputbits.sgml:
11978
11979 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11980
11981         * win32/gstenumtypes.c:
11982         * win32/gstenumtypes.h:
11983           Update.
11984
11985 2005-09-19  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11988         Automatically PAUSE and RESUME a pipeline when a flushing seek
11989         is performed.
11990
11991 2005-09-19  Andy Wingo  <wingo@pobox.com>
11992
11993         * gst/gstregistry.h: Spacing fixen.
11994
11995 2005-09-19  Wim Taymans  <wim@fluendo.com>
11996
11997         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11998         Handle state change failure more correctly.
11999
12000 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12001
12002         * check/Makefile.am:
12003         * check/pipelines/cleanup.c: (run_pipeline):
12004         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12005         (GST_START_TEST):
12006           enable cleanup again after fixing the leak
12007         * docs/README:
12008           some more info on docs
12009
12010 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * check/Makefile.am:
12013           re-enable tests now that leaks are plugged
12014         * check/gst/gst.c:
12015         * check/gst/gstbin.c:
12016         * check/gst/gstpipeline.c:
12017           add some more tests while fixing leaks
12018         * common/check.mak:
12019           make sure binaries are uptodate when valgrinding/gdbing
12020         * gst/gst.c:
12021         * gst/gstelementfactory.c:
12022           remove a ref too many, and add a FIXME for when we get
12023           round to disposing of classes
12024         * gst/gstplugin.c:
12025           fix the refcounting when loading a plugin from a file and
12026           the code pretends that the pointer is the same even though
12027           of course it can change
12028         * gst/gstpluginfeature.c:
12029           unref plugins marked cached (a bit confusing as a name)
12030           as the docs state should be done
12031           various doc additions to explain refcounting
12032         * gst/gstregistry.c:
12033         * gst/gstregistryxml.c:
12034           debugging
12035
12036 2005-09-19  Wim Taymans  <wim@fluendo.com>
12037
12038         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12039         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12040         (send_messages), (GST_START_TEST), (gstbus_suite):
12041         * check/gst/gstpipeline.c: (GST_START_TEST):
12042         * check/pipelines/cleanup.c: (run_pipeline):
12043         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12044         (GST_START_TEST):
12045         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12046         (gst_bus_source_check), (gst_bus_source_dispatch),
12047         (gst_bus_create_watch), (gst_bus_add_watch_full),
12048         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12049         * gst/gstbus.h:
12050         * tools/gst-launch.c: (event_loop):
12051         * tools/gst-md5sum.c: (event_loop):
12052         GstBusHandler -> GstBusFunc, return value has the same meaning as
12053         any other GSource (FALSE == remove source).
12054         _add_watch() and _add_watch_full() now take a MessageType mask to
12055         only handle specific types of messages.
12056         _poll() returns the GstMessage instead of the message type to avoid
12057         race conditions.
12058         _have_pending() takes a MessageType mask now too.
12059         Added testsuite for multiple bus watches.
12060         Fix testsuites and applications for new bus API.
12061
12062 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * check/Makefile.am:
12065           mark a bunch of the tests as to fix until we fix them
12066
12067 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * common/check.mak:
12070           use GST_PLUGIN settings for valgrind tests as well, so we're
12071           valgrinding the correct thing
12072         * gst/gst.c: (init_post):
12073           plug another leak
12074
12075 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/gst.c: (init_post), (gst_deinit):
12078         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12079         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12080         * gst/gstindex.c: (gst_index_factory_class_init),
12081         (gst_index_factory_finalize):
12082         * gst/gstobject.c: (gst_object_dispose):
12083         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12084         (gst_plugin_load_file), (gst_plugin_desc_free):
12085         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12086         (gst_plugin_feature_finalize):
12087         * gst/gstregistry.c: (gst_registry_class_init),
12088         (gst_registry_init), (gst_registry_finalize),
12089         (gst_registry_get_default), (gst_registry_deinit):
12090         * gst/gstregistry.h:
12091         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12092           various cleanups and memleak plugging.  make valgrind is happy now.
12093
12094 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12095
12096         * common/check.mak:
12097           add a check-valgrind target
12098
12099 2005-09-18  David Schleef  <ds@schleef.org>
12100
12101         * tools/gst-inspect.c: Revert the GOption code.
12102
12103 2005-09-17  David Schleef  <ds@schleef.org>
12104
12105         * check/Makefile.am: Fix environment variables.
12106         * check/gst/gstplugin.c: Fix for API changes.
12107         * tools/gst-inspect.c: Fix for API changes.
12108         * tools/gst-xmlinspect.c: Fix for API changes.
12109         * gst/gstelementfactory.c:
12110         * gst/gstplugin.c:
12111         * gst/gstplugin.h:
12112         * gst/gstpluginfeature.c:
12113         * gst/gstpluginfeature.h:
12114         * gst/gstregistry.c:
12115         * gst/gstregistry.h:
12116         * gst/gstregistryxml.c:
12117         * gst/gsttypefind.c:
12118         * gst/gsttypefindfactory.c:
12119         * gst/indexers/gstfileindex.c:
12120         * gst/indexers/gstmemindex.c:
12121         * gst/schedulers/Makefile.am:
12122           Change registry to keep track of both plugins and features,
12123           removing the feature tracking from plugins themselves.
12124
12125 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * check/Makefile.am:
12128         * tools/gst-register.1.in:
12129           remove gst-register
12130
12131 2005-09-15  David Schleef  <ds@schleef.org>
12132
12133         * check/gst/gstplugin.c:
12134         * gst/gstelementfactory.c:
12135         * gst/gstplugin.c:
12136         * gst/gstpluginfeature.c:
12137         * gst/gstregistry.c:
12138           Getting tired of debugging.  Disabled all the unreffing of
12139           plugins and features, which fixes the segfaults, but of
12140           course leaks like crazy.  At least playbin works.
12141
12142 2005-09-15  David Schleef  <ds@schleef.org>
12143
12144         * check/gst/gstplugin.c: (register_check_elements),
12145         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12146         More testing
12147         * gst/elements/gsttypefindelement.c: Fix refcounting.
12148         * gst/gsttypefind.c:
12149         * gst/gsttypefindfactory.c:
12150         * gst/gsttypefindfactory.h:
12151
12152 2005-09-15  David Schleef  <ds@schleef.org>
12153
12154         * gst/gstindex.c: get refcounting correct.
12155         * gst/gstregistry.c: Handle the case where a feature/plugin is
12156           not found.
12157
12158 2005-09-15  David Schleef  <ds@schleef.org>
12159
12160         * check/Makefile.am:
12161         * check/gst/gstplugin.c: Add test
12162         * gst/gstplugin.c: Fix problems noticed by testsuite
12163         * gst/gstplugin.h:
12164         * gst/gstregistry.c: 
12165         * gst/gstregistry.h:
12166
12167 2005-09-15  David Schleef  <ds@schleef.org>
12168
12169         * gst/gstplugin.c: Implement semi-decent recounting and locking
12170           in plugins and plugin features.
12171         * gst/gstplugin.h:
12172         * gst/gstpluginfeature.c:
12173         * gst/gstpluginfeature.h:
12174         * gst/gstregistry.c:
12175
12176 2005-09-15  Michael Smith <msmith@fluendo.com>
12177
12178         * gst/gstregistry.c: (gst_registry_get_feature_list):
12179           Implement this. Makes oggdemux work; decodebin still broken.
12180
12181 2005-09-14  David Schleef  <ds@schleef.org>
12182
12183         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12184           #316076)
12185         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12186         * gst/check/Makefile.am:
12187         * libs/gst/controller/Makefile.am:
12188         * libs/gst/dataprotocol/Makefile.am:
12189
12190 2005-09-14  David Schleef  <ds@schleef.org>
12191
12192         * configure.ac: Remove getbits library.  Nothing uses it, and
12193           it should be in something like liboil if someone did want
12194           to use it.
12195         * libs/gst/Makefile.am:
12196         * libs/gst/getbits/Makefile.am:
12197         * libs/gst/getbits/gbtest.c:
12198         * libs/gst/getbits/getbits.c:
12199         * libs/gst/getbits/getbits.h:
12200         * libs/gst/getbits/gstgetbits_generic.c:
12201         * libs/gst/getbits/gstgetbits_i386.s:
12202         * libs/gst/getbits/gstgetbits_inl.h:
12203
12204 2005-09-14  David Schleef  <ds@schleef.org>
12205
12206         * gst/Makefile.am: Dist glib-compat.h
12207
12208 2005-09-14  David Schleef  <ds@schleef.org>
12209
12210         * configure.ac: Remove gst/registries, since it's no longer used.
12211         * gst/registries/Makefile.am:
12212         * gst/registries/gstlibxmlregistry.c:
12213         * gst/registries/gstlibxmlregistry.h:
12214         * gst/registries/gstxmlregistry.c:
12215         * gst/registries/gstxmlregistry.h:
12216         * gst/registries/registrytest.c:
12217
12218 2005-09-14  David Schleef  <ds@schleef.org>
12219
12220         * gst/glib-compat.h:
12221         * gst/gstregistryxml.c:
12222           Convergence is near.  Seriously.
12223
12224 2005-09-14  David Schleef  <ds@schleef.org>
12225
12226         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12227         * gst/glib-compat.h:
12228           Attempt #4 to appease the buildbots.
12229
12230 2005-09-14  David Schleef  <ds@schleef.org>
12231
12232         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12233           Attempt #3.
12234
12235 2005-09-14  David Schleef  <ds@schleef.org>
12236
12237         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12238         Attempt #2.
12239
12240 2005-09-14  David Schleef  <ds@schleef.org>
12241
12242         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12243           the new functions.
12244
12245 2005-09-14  David Schleef  <ds@schleef.org>
12246
12247         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12248         * gst/glib-compat.h: Add some functions that are in newer versions
12249           of glib than we care to require.
12250         * gst/gstregistryxml.c: Use them.
12251
12252 2005-09-14  David Schleef  <ds@schleef.org>
12253
12254         * po/POTFILES.in: remove gst-register.c
12255
12256 2005-09-14  David Schleef  <ds@schleef.org>
12257
12258         * docs/gst/gstreamer-docs.sgml:
12259         * docs/gst/gstreamer-sections.txt:
12260         * docs/gst/gstreamer.types:
12261         * docs/gst/tmpl/gstelement.sgml:
12262         * docs/gst/tmpl/gstplugin.sgml:
12263         * docs/gst/tmpl/gstpluginfeature.sgml:
12264           Documentation updates for registry changes.
12265
12266 2005-09-14  David Schleef  <ds@schleef.org>
12267
12268         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
12269           because we don't require glib-2.8.
12270
12271 2005-09-14  David Schleef  <ds@schleef.org>
12272
12273         * gst/gstregistryxml.c: Added.  Essentially moved out of the
12274           registries directory.
12275
12276 2005-09-14  David Schleef  <ds@schleef.org>
12277
12278         * check/Makefile.am:
12279         * check/generic/states.c:
12280         * gst/Makefile.am:
12281         * gst/gst.c:
12282         * gst/gst.h:
12283         * gst/gst_private.h:
12284         * gst/gstelementfactory.c:
12285         * gst/gstindex.c:
12286         * gst/gstinfo.c:
12287         * gst/gstplugin.c:
12288         * gst/gstplugin.h:
12289         * gst/gstpluginfeature.c:
12290         * gst/gstpluginfeature.h:
12291         * gst/gstregistry.c:
12292         * gst/gstregistry.h:
12293         * gst/gstregistrypool.c: remove
12294         * gst/gstregistrypool.h: remove
12295         * gst/gsttypefind.c:
12296         * gst/gsttypefindfactory.c:
12297         * gst/gsturi.c:
12298         * tools/Makefile.am:
12299         * tools/gst-compprep.c:
12300         * tools/gst-inspect.c:
12301         * tools/gst-register.c: remove
12302         * tools/gst-xmlinspect.c:
12303           Registry rewrite.  Changes registry from being a file created
12304           by a tool into a simple cache file created automatically by 
12305           libgstreamer.  Removed gst-register (because it's no longer
12306           needed).  Remove registry pools, because we only have one
12307           registry implementation (XML).  Fix up other subsystems as
12308           necessary.
12309
12310 2005-09-13  Michael Smith <msmith@fluendo.com>
12311
12312         * gst/gstconfig.h.in:
12313           Don't Use windows linking attributes for MinGW. Fixes #316157
12314
12315 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12316
12317         * gst/gstutils.c: (set_state_async_thread_func),
12318         (gst_element_set_state_async):
12319           Apparently people think it's better if this function doesn't
12320           try to set the state to whatever state was asked for on the first
12321           call to this function for any object.  Seriously.
12322
12323 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12324
12325         * check/gst/gstpipeline.c: (GST_START_TEST):
12326         * docs/gst/gstreamer-sections.txt:
12327         * gst/gstutils.c: (set_state_async_thread_func),
12328         (gst_element_set_state_async):
12329         * gst/gstutils.h:
12330           add a "gst_element_set_state_async" method that
12331           sets the state and starts a thread to make sure the state
12332           change completes as best as it can
12333
12334 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12337           codify design+behaviour in testsuite after discussion
12338
12339 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * docs/gst/tmpl/gstelement.sgml:
12342         * docs/manual/appendix-quotes.xml:
12343           add a quote
12344         * gst/gstelement.c: (gst_element_set_state):
12345           add some debug
12346
12347 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12348
12349         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12350         (gst_base_transform_prepare_output_buf),
12351         (gst_base_transform_handle_buffer):
12352         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12353         (gst_capsfilter_prepare_buf):
12354           Remove the requirement for sub-classes to call the parent
12355           implementation of prepare_output_buffer with a wrapper function.
12356           
12357         * gst/gsttaglist.h:
12358         * gst/gsttagsetter.h:
12359           Fix #define wrapper
12360
12361 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12362
12363         * docs/gst/gstreamer-sections.txt:
12364           more doc cleanups
12365
12366 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12367
12368         * docs/gst/gstreamer-sections.txt:
12369         * docs/gst/tmpl/gstelement.sgml:
12370         * docs/gst/tmpl/gstplugin.sgml:
12371         * gst/gstminiobject.c:
12372         * gst/gstvalue.h:
12373           docs now stop throwing warnings
12374
12375 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * docs/gst/gstreamer-sections.txt:
12378         * docs/gst/gstreamer.types:
12379         * docs/gst/tmpl/gstpad.sgml:
12380         * docs/gst/tmpl/gsttypes.sgml:
12381         * gst/base/gstadapter.h:
12382         * gst/base/gstbasesink.h:
12383         * gst/base/gstbasesrc.h:
12384         * gst/gstbin.h:
12385         * gst/gstbuffer.h:
12386         * gst/gstbus.h:
12387         * gst/gstcaps.h:
12388         * gst/gstclock.h:
12389         * gst/gstelement.h:
12390         * gst/gstevent.h:
12391         * gst/gstmessage.h:
12392         * gst/gstpad.h:
12393         * gst/gststructure.c:
12394         * gst/registries/gstlibxmlregistry.h:
12395           various documentation fixes
12396
12397 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12398
12399         * docs/gst/gstreamer-sections.txt:
12400         * docs/gst/tmpl/gstvalue.sgml:
12401           rearrange gstvalue section
12402         * gst/gstutils.c: (gst_element_state_get_name):
12403           NONE -> VOID
12404         * gst/gstvalue.c: (_gst_value_initialize):
12405         * gst/gstvalue.h:
12406           doc updates
12407
12408 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12409
12410         * check/gst-libs/controller.c:
12411           Header include fix.
12412         * gst/base/gstbasetransform.c:
12413         (gst_base_transform_default_prepare_buf),
12414         (gst_base_transform_handle_buffer):
12415         * gst/base/gstbasetransform.h:
12416           Some more basetransform changes and fixes to enable sub-classes
12417           that modify buffer metadata only.
12418         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12419         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12420         (gst_capsfilter_prepare_buf):
12421           If the output pad has fixed allowed caps and input buffers 
12422           don't have any, set the fixed caps on outgoing buffers.
12423
12424 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12425         * check/elements/identity.c: (GST_START_TEST):
12426           Make the error a little clearer when the test fails because
12427           identity made a copy of the buffer.
12428         * docs/gst/gstreamer-sections.txt:
12429           New symbols in gstbasetransform.h
12430         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12431         (gst_base_transform_init), (gst_base_transform_transform_size),
12432         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12433         (gst_base_transform_default_prepare_buf),
12434         (gst_base_transform_get_unit_size),
12435         (gst_base_transform_buffer_alloc),
12436         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12437         (gst_base_transform_change_state),
12438         (gst_base_transform_set_passthrough),
12439         (gst_base_transform_set_in_place),
12440         (gst_base_transform_is_in_place):
12441         * gst/base/gstbasetransform.h:
12442           Change BaseTransform to separate in_place operate from same_caps
12443           output. in_place implies that the element can perform the transform
12444           on incoming buffers in-place, even if the caps on the output are
12445           different.
12446           Sub-class elements can now implement special buffer allocation
12447           methods for outgoing buffers if they wish to.
12448           Big documentation addition.
12449         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12450         * gst/elements/gstelements.c:
12451           Changes for basetransform modifications.
12452         * gst/elements/Makefile.am:
12453         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12454           Compile fix. Extra debug output.
12455
12456 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12457
12458         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12459         (gst_pad_suite):
12460           add tests for valid pad naming
12461         * gst/check/gstcheck.c: (gst_check_log_message_func),
12462         (gst_check_log_critical_func):
12463           add ASSERT_WARNING
12464           remove printing of code, it is fragile when the code contains
12465           % and the line number is enough info
12466         * gst/check/gstcheck.h:
12467         * gst/gstpad.c: (gst_pad_template_new):
12468           fix memleaks
12469
12470 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12471
12472         * configure.ac:
12473           say what CHECK flags we use
12474         * docs/libs/gstreamer-libs.types:
12475         * libs/gst/controller/Makefile.am:
12476         * libs/gst/controller/gst-controller.c:
12477         * libs/gst/controller/gst-controller.h:
12478         * libs/gst/controller/gst-helper.c:
12479         * libs/gst/controller/gst-interpolation.c:
12480         * libs/gst/controller/gstcontroller.c:
12481         * libs/gst/controller/gsthelper.c:
12482         * libs/gst/controller/gstinterpolation.c:
12483         * tools/gst-inspect.c: (print_plugin_info):
12484           we don't use dashes in header names
12485
12486 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12487
12488         * check/Makefile.am:
12489         * check/gst/.cvsignore:
12490         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12491         (gst_pipeline_suite), (main):
12492           adding a test for pipelines and state changes
12493         * gst/gstutils.c: (get_state_func):
12494           add some debugging
12495         * gstreamer.spec.in:
12496           fix up spec file
12497
12498 2005-09-08  Michael Smith <msmith@fluendo.com>
12499
12500         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12501         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12502         (gst_file_src_is_seekable), (gst_file_src_get_size),
12503         (gst_file_src_start):
12504         * gst/elements/gstfilesrc.h:
12505           Various fixes for unseekable, unmmapable, and non-normal files, so
12506           that fallback to read() rather than mmap() works.
12507         * gst/gstevent.c: (gst_event_new_newsegment):
12508           Allow newsegment events with segment_start == segment_end, as will
12509           correctly happen if you use filesrc on a zero-size file, for
12510           example.
12511
12512 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12513
12514         * gst/gstplugin.c: (gst_plugin_load_file):
12515           Call g_module_close when we don't load the module
12516
12517         * gst/registries/gstlibxmlregistry.c:
12518         (gst_xml_registry_get_property):
12519           Port leak fix from 0.8
12520
12521 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12522
12523         * docs/gst/gstreamer-docs.sgml:
12524         * docs/gst/tmpl/.cvsignore:
12525         * docs/gst/tmpl/gsttrace.sgml:
12526         * docs/gst/tmpl/gsttrashstack.sgml:
12527         * gst/Makefile.am:
12528         * gst/gst.h:
12529         * gst/gstelement.h:
12530         * gst/gstevent.h:
12531         * gst/gstmessage.c:
12532         * gst/gstmessage.h:
12533         * gst/gsttag.c:
12534         * gst/gsttag.h:
12535         * gst/gsttaginterface.c:
12536         * gst/gsttaginterface.h:
12537         * gst/gsttaglist.c:
12538         * gst/gsttaglist.h:
12539         * gst/gsttagsetter.c:
12540         * gst/gsttagsetter.h:
12541         * gst/gsttrace.c:
12542         * gst/gsttrace.h:
12543         * gst/gsttrashstack.c:
12544           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12545           inlined docs for gsttrace, gsttrashstack
12546
12547 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12548
12549         * gst/Makefile.am:
12550         * gst/elements/gstbufferstore.h:
12551         * gst/elements/gsttypefindelement.c:
12552         * gst/elements/gsttypefindelement.h:
12553         * gst/gst.h:
12554         * gst/gsttypefind.c:
12555         * gst/gsttypefind.h:
12556         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12557         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12558         (gst_type_find_factory_dispose),
12559         (gst_type_find_factory_unload_thyself),
12560         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12561         (gst_type_find_factory_get_caps),
12562         (gst_type_find_factory_get_extensions),
12563         (gst_type_find_factory_call_function):
12564         * gst/gsttypefindfactory.h:
12565         * gst/registries/gstlibxmlregistry.c:
12566         * gst/registries/gstxmlregistry.c:
12567           splitted gsttypefind into gsttypefind, gsttypefindfactory
12568
12569 2005-09-07  Andy Wingo  <wingo@pobox.com>
12570
12571         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12572         condition whereby the pad's task function is entered before the
12573         pad_mode variable was set.
12574
12575 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12576
12577         * gst/gstpad.c: (gst_pad_alloc_buffer):
12578           Catch misbehaving pad_alloc functions that don't
12579           set up caps and do it for them.
12580
12581 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12582
12583         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12584           test for pipe!=NULL
12585         * docs/gst/tmpl/.cvsignore:
12586         * docs/gst/tmpl/gstmemchunk.sgml:
12587         * docs/gst/tmpl/gstparse.sgml:
12588         * docs/gst/tmpl/gsttaglist.sgml:
12589         * docs/gst/tmpl/gsttagsetter.sgml:
12590         * docs/gst/tmpl/gsttypefind.sgml:
12591         * docs/gst/tmpl/gsttypefindfactory.sgml:
12592         * gst/gstmemchunk.c:
12593         * gst/gstparse.c:
12594         * gst/gsttag.c:
12595         * gst/gsttaginterface.c:
12596         * gst/gsttypefind.c:
12597         * gst/gsttypefind.h:
12598           inlined more docs
12599
12600 === release 0.9.2 ===
12601
12602 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12603
12604         * NEWS:
12605         * RELEASE:
12606         * configure.ac:
12607           releasing 0.9.2, "South"
12608
12609 2005-09-05  Andy Wingo  <wingo@pobox.com>
12610
12611         * gst/registries/gstxmlregistry.h:
12612         * gst/registries/gstxmlregistry.c: Um... resurrect...
12613         
12614         * gst/registries/gstxmlregistry.h:
12615         * gst/registries/gstxmlregistry.c: and update to newer API.
12616         Incidentally they should be a bit faster now that they don't have
12617         to parse the caps.
12618         
12619 2005-09-05  Andy Wingo  <wingo@pobox.com>
12620
12621         * gst/registries/gstxmlregistry.h:
12622         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12623         replaced by the libxml registry a while back
12624
12625 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12626
12627         * docs/gst/tmpl/gstplugin.sgml:
12628         * gst/elements/gstelements.c:
12629         * gst/gst.c:
12630         * gst/gstplugin.c: (gst_plugin_register_func),
12631         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12632         (gst_plugin_get_source):
12633         * gst/gstplugin.h:
12634         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12635         (gst_xml_registry_save_plugin):
12636         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12637         (gst_xml_registry_save_plugin):
12638         * tools/gst-inspect.c: (print_plugin_info):
12639           add a "source" plugin description field, to represent the source
12640           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12641           will set it to PACKAGE, which is automake's idea of the name of
12642           the source project.
12643
12644 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12645
12646         * Makefile.am:
12647         * autogen.sh:
12648         * configure.ac:
12649         * docs/Makefile.am:
12650         * docs/faq/Makefile.am:
12651         * docs/gst/tmpl/gstelement.sgml:
12652         * docs/gst/tmpl/gsttypes.sgml:
12653         * docs/htmlinstall.mak:
12654         * docs/manual/Makefile.am:
12655         * docs/pwg/Makefile.am:
12656           reorganize doc build a little
12657           split out docbook and gtk-doc stuff
12658           have two separate --enable's and enable them through autogen
12659           but disable by default in configure (to be similar to other
12660           projects)
12661         * gstreamer.spec.in:
12662           clean up docs install
12663         * po/af.po:
12664         * po/az.po:
12665         * po/ca.po:
12666         * po/cs.po:
12667         * po/de.po:
12668         * po/en_GB.po:
12669         * po/fr.po:
12670         * po/it.po:
12671         * po/nb.po:
12672         * po/nl.po:
12673         * po/ru.po:
12674         * po/sq.po:
12675         * po/sr.po:
12676         * po/sv.po:
12677         * po/tr.po:
12678         * po/uk.po:
12679         * po/vi.po:
12680           translation updates
12681
12682 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12683
12684         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12685           Add comment.
12686           
12687         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12688         (gst_fake_sink_change_state):
12689           Make state change function thread-safe.
12690           
12691         * gst/gstpad.c: (gst_pad_alloc_buffer):
12692           Set offset on generic buffer allocated by fallback.
12693
12694 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12695
12696         * docs/gst/gstreamer-sections.txt:
12697         * docs/gst/tmpl/gstelement.sgml:
12698         * gst/gstpad.c:
12699         * libs/gst/controller/gst-controller.c:
12700         (gst_controlled_property_set_interpolation_mode),
12701         (gst_controlled_property_new),
12702         (gst_controller_find_controlled_property):
12703          run the wingo-magic script against the docs
12704
12705 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12706
12707         * docs/gst/gstreamer-docs.sgml:
12708         * docs/gst/gstreamer-sections.txt:
12709         * docs/gst/tmpl/.cvsignore:
12710         * docs/gst/tmpl/gstelementdetails.sgml:
12711         * docs/gst/tmpl/gstelementfactory.sgml:
12712         * gst/gst.c:
12713         * gst/gstbus.c:
12714         * gst/gstelementfactory.c:
12715         * gst/gstelementfactory.h:
12716           merged elementdetails docs into elementfactory docs
12717           inlined both
12718
12719 2005-09-02  Andy Wingo  <wingo@pobox.com>
12720
12721         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12722         consider this enum an enum and not a flags.
12723
12724 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12725
12726         * docs/gst/gstreamer-docs.sgml:
12727         * docs/gst/tmpl/.cvsignore:
12728         * docs/gst/tmpl/gstghostpad.sgml:
12729         * docs/gst/tmpl/gstiterator.sgml:
12730         * docs/gst/tmpl/gstmacros.sgml:
12731         * docs/gst/tmpl/gstrealpad.sgml:
12732         * docs/gst/tmpl/gstregistry.sgml:
12733         * docs/gst/tmpl/gstregistrypool.sgml:
12734         * docs/gst/tmpl/gststructure.sgml:
12735         * docs/gst/tmpl/gstsystemclock.sgml:
12736         * docs/gst/tmpl/gsttrace.sgml:
12737         * gst/gstghostpad.c:
12738         * gst/gstmacros.h:
12739         * gst/gstmemchunk.c:
12740         * gst/gstmemchunk.h:
12741         * gst/gstqueue.c:
12742         * gst/gstregistry.c:
12743         * gst/gstregistrypool.c:
12744         * gst/gststructure.c:
12745         * gst/gstsystemclock.c:
12746           more docs inlined
12747
12748 2005-09-02  Andy Wingo  <wingo@pobox.com>
12749
12750         * gst/gstelement.h (GstState): Renamed from GstElementState,
12751         changed to be a normal enum instead of flags.
12752         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12753         munged to be GST_STATE_CHANGE_*.
12754         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12755         work with the new state representation.
12756         (GstStateChange): New enumeration of possible state transitions.
12757         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12758         (GstElementClass::change_state): Pass the GstStateChange along as
12759         an argument. Helps language bindings, so they don't have to use
12760         tricky lock-needing macros like GST_STATE_CHANGE ().
12761
12762         * scripts/update-states (file): New script. Run it on a file to
12763         update it for state naming and API changes. Updates files in
12764         place.
12765
12766         * All files updated for the new API.
12767
12768 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12769
12770         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12771         * gst/gstutils.c: (gst_util_set_value_from_string),
12772         (gst_util_set_object_arg):
12773           fix a bunch of unchecked return values
12774         * tools/gst-complete.c: (main):
12775         * gstreamer.spec.in:
12776           clean up a little
12777
12778 2005-09-01  Wim Taymans  <wim@fluendo.com>
12779
12780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12781         (gst_base_sink_event), (gst_base_sink_do_sync),
12782         (gst_base_sink_handle_event):
12783         * gst/base/gstbasesink.h:
12784         Handle newsegments more correctly.
12785
12786         * gst/gstbus.c:
12787         Fix docs.
12788
12789         * gst/gstevent.c: (gst_event_new_newsegment):
12790         A newsegment cannot have a start_time of -1
12791
12792 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12793
12794         * win32/gstenumtypes.c:
12795         * win32/gstenumtypes.h:
12796           Update
12797
12798 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12799
12800         * libs/gst/controller/gst-controller.c:
12801         (gst_controlled_property_set_interpolation_mode),
12802         (gst_controlled_property_new):
12803          fixed boolean again
12804
12805 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12806
12807         * docs/faq/gst-uninstalled:
12808           add -good
12809         * gst/gstevent.c:
12810         * gst/gstevent.h:
12811           remove wrong docs
12812         * gst/gstutils.c: (gst_element_link_filtered):
12813         * gst/gstutils.h:
12814           add gst_element_link_filtered
12815
12816 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12817
12818         * docs/gst/gstreamer-docs.sgml:
12819         * docs/gst/gstreamer-sections.txt:
12820         * docs/gst/tmpl/.cvsignore:
12821         * docs/gst/tmpl/gsterror.sgml:
12822         * docs/gst/tmpl/gstfilter.sgml:
12823         * docs/gst/tmpl/gsturihandler.sgml:
12824         * docs/gst/tmpl/gsturitype.sgml:
12825         * docs/gst/tmpl/gstutils.sgml:
12826         * docs/gst/tmpl/gstxml.sgml:
12827         * gst/gsterror.c:
12828         * gst/gsterror.h:
12829         * gst/gstfilter.c:
12830         * gst/gsturi.c:
12831         * gst/gsturitype.c:
12832         * gst/gstutils.c:
12833         * gst/gstxml.c:
12834           inlined more docs, fixed double id-ref
12835
12836 2005-08-31  Wim Taymans  <wim@fluendo.com>
12837
12838         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12839         (gst_base_transform_handle_buffer):
12840         Passthrough elements don't need the caps as they don't care.
12841
12842 2005-08-31  Wim Taymans  <wim@fluendo.com>
12843
12844         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12845         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12846         Don't leak refcounts on buffers.
12847
12848 2005-08-31  Wim Taymans  <wim@fluendo.com>
12849
12850         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12851         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12852         (gst_base_transform_chain), (gst_base_transform_change_state):
12853         * gst/base/gstbasetransform.h:
12854         Handle the case where we are not negotiated more gracefully.
12855
12856 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12857
12858         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12859         (gst_file_src_map_region):
12860           Set READONLY flag on mmap'ed buffers, otherwise
12861           gst_buffer_make_writable() won't work properly (#314708).
12862
12863 2005-08-31  Wim Taymans  <wim@fluendo.com>
12864
12865         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12866         passthrough elements can even do inplace on non writable
12867         buffers (as they don't touch them).
12868
12869 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12870
12871         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12872         (gst_test_mono_source_set_property),
12873         (gst_test_mono_source_class_init), (GST_START_TEST),
12874         (gst_controller_suite):
12875           more tests (hehe I have the most)
12876         * gst/gstbus.c:
12877           describe popping messages whenusing mulltiple sources
12878         * libs/gst/controller/gst-controller.c:
12879         (gst_controlled_property_set_interpolation_mode),
12880         (gst_controlled_property_new):
12881         * libs/gst/controller/gst-controller.h:
12882         * libs/gst/controller/gst-interpolation.c:
12883           implement boolean properties
12884
12885 2005-08-31  Wim Taymans  <wim@fluendo.com>
12886
12887         * gst/gstminiobject.c: (gst_mini_object_ref):
12888         Cannot assert that the refcount has to be positive
12889         since a disposed object can be resurrected.
12890
12891 2005-08-31  Wim Taymans  <wim@fluendo.com>
12892
12893         * gst/gstpad.c: (gst_pad_init):
12894         Revert change, need to first fix badly behaving 
12895         apps.
12896
12897 2005-08-30  Wim Taymans  <wim@fluendo.com>
12898
12899         * check/elements/fakesrc.c: (setup_fakesrc):
12900         * check/elements/identity.c: (setup_identity):
12901         Activate pads before using them.
12902
12903 2005-08-30  Wim Taymans  <wim@fluendo.com>
12904
12905         * gst/base/gstadapter.c: (gst_adapter_flush):
12906         Flushing out 0 bytes is ok for this function.
12907
12908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12909         no newsegment gives a warning and sets the start/stop to 
12910         invalid.
12911
12912         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12913         (gst_base_transform_set_passthrough):
12914         Some debug info.
12915
12916         * gst/gstminiobject.c: (gst_mini_object_ref):
12917         Check refcount here too.
12918
12919         * gst/gstpad.c: (gst_pad_init):
12920         Pads are initially flushing and refusing data.
12921
12922         * gst/gstutils.c: (gst_element_link_pads_filtered):
12923         When adding a capsfilter element make sure it has the
12924         same state as the parent bin.
12925
12926 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * docs/gst/tmpl/.cvsignore:
12929         * docs/gst/tmpl/gstformat.sgml:
12930         * docs/gst/tmpl/gstversion.sgml:
12931         * gst/gstbus.h:
12932         * gst/gstformat.c:
12933         * gst/gstformat.h:
12934         * gst/gstversion.h.in:
12935           more docs and two more inlined
12936
12937 2005-08-30  Wim Taymans  <wim@fluendo.com>
12938
12939         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12940         Don't sync to clock.
12941
12942 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12943
12944         * docs/gst/gstreamer-sections.txt:
12945           ultral33t func10ns deserve to appear in the docs actually
12946         * docs/gst/tmpl/.cvsignore:
12947         * docs/gst/tmpl/gstcompat.sgml:
12948         * docs/gst/tmpl/gstconfig.sgml:
12949         * gst/check/gstcheck.c:
12950         * gst/gstcompat.h:
12951         * gst/gstconfig.h.in:
12952           inlined more docs
12953
12954 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12955
12956         * docs/gst/tmpl/.cvsignore:
12957         * docs/gst/tmpl/gstquery.sgml:
12958         * docs/gst/tmpl/gstutils.sgml:
12959         * gst/gstquery.c:
12960         * gst/gstquery.h:
12961           inlined and extended docs
12962
12963 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12964
12965         * check/gst-libs/controller.c: (GST_START_TEST),
12966         (gst_controller_suite):
12967           more tests
12968         * docs/gst/tmpl/gstutils.sgml:
12969         * docs/libs/gstreamer-libs-sections.txt:
12970         * docs/libs/tmpl/gstdataprotocol.sgml:
12971           include path fixes
12972         * examples/controller/audio-example.c: (main):
12973           controller example works now
12974         * gst/gstclock.h:
12975           doc fixes
12976         * tools/gst-inspect.c: (print_element_properties_info):
12977           show param spec flags
12978
12979 2005-08-29  Andy Wingo  <wingo@pobox.com>
12980
12981         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12982
12983 2005-08-28  Andy Wingo  <wingo@pobox.com>
12984
12985         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12986         as having two arguments instead of just one. Allows superclasses
12987         to access information on subclasses -- see the terrible for() loop
12988         in gtype.c:g_type_create_instance for the reason why. All callers
12989         changed.
12990
12991 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12992
12993         * docs/design/part-messages.txt:
12994           update info
12995         * docs/gst/tmpl/.cvsignore:
12996         * docs/gst/tmpl/gstcaps.sgml:
12997         * docs/gst/tmpl/gstclock.sgml:
12998         * gst/gstbus.c:
12999         * gst/gstcaps.c:
13000         * gst/gstcaps.h:
13001         * gst/gstclock.c:
13002         * gst/gstclock.h:
13003         * gst/gstmessage.c:
13004           added descriptions for bus and message
13005           inline caps and clock docs
13006
13007 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13008
13009         * gst/gstmessage.c:
13010         * gst/gstmessage.h:
13011           doc fixes
13012
13013 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13014
13015         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13016           fix div-by-zero
13017
13018 2005-08-26  Andy Wingo  <wingo@pobox.com>
13019
13020         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13021         element_set_state's return val.
13022         (test_2_elements): Add test that's been disabled for months.
13023
13024         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13025         can-activate-pull properties.
13026
13027         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13028         can-activate-pull properties. Implement is_seekable so fakesrc can
13029         operate in pull mode.
13030
13031         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13032         properties.
13033         (gst_base_sink_activate, gst_base_sink_activate_pull)
13034         (gst_base_sink_activate_push): Make activation mode choosing work.
13035         Cleanups.
13036         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13037         is right. Make pull mode work. Post an eos before pausing in pull
13038         mode.
13039         (gst_base_sink_change_state): Pay attention to the core's
13040         change_state() return val.
13041         
13042         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13043         has-getrange properties. Cleanups.
13044         
13045         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13046         has_getrange and replace with can_activate_pull and
13047         can_activate_push.
13048
13049         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13050         locking comments. Remove has_loop, has_chain and replace with
13051         can_activate_pull and can_activate_push.
13052
13053 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13054
13055         * configure.ac:
13056         * examples/Makefile.am:
13057         * examples/metadata/Makefile.am:
13058         * examples/metadata/read-metadata.c: (message_loop),
13059         (have_pad_handler), (make_pipeline), (print_tag), (main):
13060           Add metadata reading example that loops over a list of filenames,
13061           dumping any tags found.
13062
13063         * gst/gstbus.c: (gst_bus_dispose):
13064         * gst/gstelement.c: (gst_element_dispose):
13065           Release a few potentially-held references in dispose.
13066
13067 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13068
13069         * docs/gst/tmpl/gstminiobject.sgml:
13070           do *not* add tmpl/*.sgml files to CVS!
13071
13072 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13073
13074         * libs/gst/bytestream/.cvsignore:
13075         * libs/gst/bytestream/Makefile.am:
13076         * libs/gst/bytestream/adapter.c:
13077         * libs/gst/bytestream/adapter.h:
13078         * libs/gst/bytestream/bytestream.c:
13079         * libs/gst/bytestream/bytestream.h:
13080         * libs/gst/bytestream/filepad.c:
13081         * libs/gst/bytestream/filepad.h:
13082           removing obsolete files
13083
13084 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13085
13086         * docs/gst/gstreamer-docs.sgml:
13087         * docs/libs/gstreamer-libs-docs.sgml:
13088           disabed additional index entries again, as this makes docs-gen just
13089           slow and they aren't useful yet
13090         * docs/libs/gstreamer-libs-sections.txt:
13091           little -section.txt cleanup for libs
13092
13093 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13094
13095         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13096         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13097           fix up some debugging
13098         (gst_base_transform_get_unit_size),
13099         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13100         (gst_base_transform_handle_buffer):
13101         * gst/base/gstbasetransform.h:
13102           handle and store timed NEWSEGMENT events so that subclasses that
13103           calculate time by counting samples have a segment_start time they
13104           need to add to their timestamps - see audioresample
13105
13106 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13107
13108         * gst/gstbin.h:
13109           removed ';' from the end of macro defs
13110         * docs/gst/gstreamer-docs.sgml:
13111         * docs/gst/gstreamer-sections.txt:
13112         * docs/gst/tmpl/.cvsignore:
13113         * gst/gstbus.h:
13114         * gst/gstelement.c: (gst_element_class_init),
13115         (gst_element_set_state), (activate_pads),
13116         (gst_element_save_thyself):
13117         * gst/gstevent.c: (gst_event_new_newsegment):
13118         * gst/gstevent.h:
13119         * gst/gstiterator.c:
13120         * gst/gstiterator.h:
13121         * gst/gstpad.c:
13122         * gst/gstprobe.h:
13123         * gst/gstutils.c: (gst_pad_query_convert):
13124         * gst/gstutils.h:
13125           fixed parameter name mismatches between source, header and docs
13126           added some more docs, resolved the last batch of unused elements in
13127           docs (now someone needs to doc them)
13128
13129 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13130
13131         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13132         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13133           don't walk through the plugins backwards.  Where is all this
13134           reversed logic coming from ?
13135
13136 2005-08-25  Wim Taymans  <wim@fluendo.com>
13137
13138         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13139         (gst_base_transform_transform_size),
13140         (gst_base_transform_configure_caps),
13141         (gst_base_transform_get_unit_size),
13142         (gst_base_transform_buffer_alloc),
13143         (gst_base_transform_change_state):
13144         * gst/base/gstbasetransform.h:
13145         Cache caps unit_size.
13146         Make sure we cannot negotiate up and downstream at the
13147         same time.
13148
13149 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13150
13151         * gst/gst.c: (init_pre), (init_post):
13152           register the installed plugin path after the env var
13153         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13154         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13155           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13156           directories, so the tests can prefer uninstalled over installed
13157
13158 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13159
13160         * gst/base/gstbasetransform.h:
13161           comment
13162         * gst/gstpad.c:
13163           add to docs
13164
13165 2005-08-25  Wim Taymans  <wim@fluendo.com>
13166
13167         * gst/gstbin.c: (bin_bus_handler):
13168         Be a bit more conservative about the posted message.
13169         
13170         * gst/gstbus.c: (gst_bus_post):
13171         Some cleanups, warn wrong return values.
13172
13173 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13174
13175         * check/gst/gstbin.c: (GST_START_TEST):
13176         * gst/gstbin.c: (bin_bus_handler):
13177         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13178         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13179         (gst_message_new_warning), (gst_message_new_tag),
13180         (gst_message_new_state_changed), (gst_message_new_segment_start),
13181         (gst_message_new_segment_done), (gst_message_new_custom):
13182         * gst/gstmessage.h:
13183         * tools/gst-launch.c: (event_loop):
13184         * tools/gst-md5sum.c: (event_loop):
13185           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13186
13187 2005-08-25  Wim Taymans  <wim@fluendo.com>
13188
13189         * check/generic/states.c: (GST_START_TEST):
13190         Cleanup can be done at the end.
13191
13192         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13193         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13194         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13195         Oh boy.. Thanks for finding this, Thomas. 
13196
13197 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13198
13199         * docs/gst/gstreamer.types:
13200           added missing types
13201
13202 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13203
13204         * docs/gst/gstreamer-docs.sgml:
13205         * docs/gst/gstreamer-sections.txt:
13206         * docs/gst/tmpl/.cvsignore:
13207         * gst/gstbin.c:
13208         * gst/gstiterator.c:
13209         * gst/gstutils.c:
13210         * gst/registries/gstxmlregistry.h:
13211           added missing classes and symbols (123 more to go)
13212           removed removed symbols from section file
13213           fixed many doc-comments
13214
13215 2005-08-24  Wim Taymans  <wim@fluendo.com>
13216
13217         * check/generic/states.c: (GST_START_TEST):
13218         Make sure all tasks are stopped.
13219
13220         * check/gst/gstbin.c: (GST_START_TEST):
13221         Unref after usage for proper valgrinding.
13222
13223         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13224         Really wait for the task to stop before destroying the
13225         mutex.
13226
13227         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13228         (gst_queue_src_activate_push):
13229         Small cleanups. Don't stop the task when we did not start
13230         it.
13231
13232         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13233         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13234         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13235         (gst_task_join):
13236         * gst/gsttask.h:
13237         Protect the stream lock with the object lock.
13238         Disallow setting the stream lock when running.
13239         Add cleanup_all to wait for the threadpool to finish.
13240         Remove code to autoallocate a mutex if none was provided.
13241         Add _join() to wait for a task to stop.
13242         Protect the thread pool with a global lock.
13243
13244 2005-08-24  Wim Taymans  <wim@fluendo.com>
13245
13246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13247         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13248         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13249         * gst/base/gstbasesink.h:
13250         Handle newsegment events correctly.
13251         Drop buffers out of the segment range.
13252
13253 2005-08-22  Andy Wingo  <wingo@pobox.com>
13254
13255         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13256         macro, implements an interface and gstimplementsinterface for a
13257         new type.
13258
13259 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13260
13261         * check/Makefile.am:
13262         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
13263           add a test that does a bunch of state changes on elements
13264           needs some fixing for valgrind
13265         * check/states/sinks.c: (gst_object_suite):
13266           whitespace
13267         * gst/gstcaps.h:
13268           add prototype for gst_caps_is_equal_fixed
13269         * gst/gstplugin.c:
13270         * gst/gstregistrypool.c:
13271           doc fixes
13272
13273 2005-08-24  Andy Wingo  <wingo@pobox.com>
13274
13275         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
13276         convert a negative value. Doesn't make much sense. Mostly this is
13277         here to force callers to ensure -1 maps to -1.
13278
13279 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13280
13281         * docs/pwg/advanced-types.xml:
13282           Well done to Michael for catching my deliberate introduction
13283           of this spelling mistake. 
13284         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
13285         * gst/gstelement.h:
13286           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
13287           unlink pads before removing the element from the bin.
13288
13289 2005-08-24  Andy Wingo  <wingo@pobox.com>
13290
13291         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
13292         the same thing as GST_DEBUG=*:4.
13293         (parse_debug_level, parse_debug_category): New helper parsers.
13294
13295 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13296
13297         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13298         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
13299         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
13300         (gst_base_transform_buffer_alloc),
13301         (gst_base_transform_handle_buffer):
13302           use gboolean return values and pointers to size so we can use the
13303           full GST_BUFFER_SIZE range (guint) for buffer sizes
13304           use GstPadDirection for transform_caps
13305         * gst/base/gstbasetransform.h:
13306           rename get_size to get_unit_size since that's what it is
13307         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13308           use GstPadDirection for transform_caps
13309         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13310         * gst/gstutils.h:
13311           cleanup and debugging
13312
13313 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13314
13315         * gst/gstelement.c: (gst_element_class_init),
13316         (gst_element_set_state), (activate_pads),
13317         (gst_element_save_thyself):
13318         * tools/gst-compprep.c: (main):
13319         * tools/gst-inspect.c: (print_element_properties_info):
13320         * tools/gst-xmlinspect.c: (print_element_properties):
13321           Fixed long standing mem-leak
13322
13323 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13324
13325         * check/gst/gstbin.c: (GST_START_TEST):
13326         * gst/gstbin.c: (bin_bus_handler):
13327         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13328         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13329         (gst_message_new_warning), (gst_message_new_tag),
13330         (gst_message_new_state_changed), (gst_message_new_segment_start),
13331         (gst_message_new_segment_done), (gst_message_new_custom):
13332         * gst/gstmessage.h:
13333         * tools/gst-launch.c: (event_loop):
13334         * tools/gst-md5sum.c: (event_loop):
13335           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13336           that applications can sensibly post custom messages with references
13337           to their own objects.
13338
13339 2005-08-24  Andy Wingo  <wingo@pobox.com>
13340
13341         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13342         already.
13343
13344 2005-08-24  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13347         (gst_base_transform_transform_caps),
13348         (gst_base_transform_transform_size),
13349         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13350         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13351         (gst_base_transform_handle_buffer):
13352         * gst/base/gstbasetransform.h:
13353         Many fixes and new features added by Thomas. Can now also do
13354         transforms with variable sizes and a custom fixate_caps function.
13355
13356 2005-08-24  Wim Taymans  <wim@fluendo.com>
13357
13358         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13359         Some debugging.
13360
13361         * gst/gstclock.h:
13362         Cast to ClockTime before formatting to time.
13363
13364         * gst/gstutils.h:
13365         Cleanups.
13366
13367 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13368
13369         * check/gst-libs/controller.c: (GST_START_TEST),
13370         (gst_controller_suite):
13371         * docs/gst/tmpl/gstcaps.sgml:
13372         * docs/gst/tmpl/gstghostpad.sgml:
13373         * docs/gst/tmpl/gstquery.sgml:
13374         * docs/gst/tmpl/gstutils.sgml:
13375         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13376         (gst_object_sink_values), (gst_object_get_value_arrays),
13377         (gst_object_get_value_array):
13378           gracefully handle helper method calls to objects that are not beeing
13379           controlled, added test case for that          
13380
13381 2005-08-23  Wim Taymans  <wim@fluendo.com>
13382
13383         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13384         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13385         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13386         (gst_event_parse_qos), (gst_event_new_seek),
13387         (gst_event_parse_seek):
13388         * gst/gstevent.h:
13389         Some more debugging output and doc cleanups.
13390
13391         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13392         Fix possible deadlock.
13393
13394 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13395
13396         * docs/gst/gstreamer-docs.sgml:
13397         * docs/gst/gstreamer-sections.txt:
13398         * docs/gst/gstreamer.types:
13399         * docs/gst/tmpl/.cvsignore:
13400         * gst/gstbin.h:
13401         * gst/gstbus.c:
13402         * gst/gstelement.c:
13403         * gst/gstevent.h:
13404           added 100 symbols from gstreamer-unused.txt to the right sections
13405           fixed more broken comments
13406           added GstBus to docs
13407
13408 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13409
13410         * docs/gst/gstreamer-sections.txt:
13411         * docs/gst/tmpl/.cvsignore:
13412         * docs/gst/tmpl/gstbin.sgml:
13413         * docs/gst/tmpl/gstbuffer.sgml:
13414         * gst/base/gstbasesrc.c:
13415         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13416         * gst/gstbuffer.c:
13417         * gst/gstbuffer.h:
13418         * tools/gst-launch.1.in:
13419           inlined more doc comments, added missing comments and fixed comments
13420           fixed typos
13421
13422 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13423
13424         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13425           some debugging
13426         * gst/gstcaps.h:
13427           whitespace fixes
13428         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13429           more debugging
13430         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13431         * gst/gststructure.h:
13432           add a fixate function for booleans; add a FIXME that these func
13433           names should probably be gst_structure_fixate_*
13434
13435 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13436
13437         * docs/gst/gstreamer-docs.sgml:
13438         * docs/gst/gstreamer-sections.txt:
13439         * gst/Makefile.am:
13440         * gst/gstbin.c: (gst_bin_get_type),
13441         (gst_bin_child_proxy_get_child_by_index),
13442         (gst_bin_child_proxy_get_children_count),
13443         (gst_bin_child_proxy_init):
13444         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13445         (gst_child_proxy_get_child_by_index),
13446         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13447         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13448         (gst_child_proxy_get), (gst_child_proxy_set_property),
13449         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13450         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13451         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13452         * gst/gstchildproxy.h:
13453         * gst/parse/grammar.y:
13454         * tools/gst-inspect.c: (print_interfaces),
13455         (print_element_properties_info), (print_element_info):
13456           ported gstchildproxy over from 0.8
13457           ported gst-inspect fixes and enhancements over from 0.8
13458
13459 2005-08-22  Wim Taymans  <wim@fluendo.com>
13460
13461         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13462         (gst_base_transform_handle_buffer):
13463         Also call the transform function if we have ANY caps.
13464
13465         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13466         Fix debug info.
13467
13468 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13469
13470         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13471           Don't pretend to handle seek events if the source is not seekable
13472
13473 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13474
13475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13476           Remove extra parameter to debug output
13477
13478         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13479         (gst_base_src_do_seek), (gst_base_src_activate_push):
13480           Fix seek event handling.
13481
13482         * gst/gstpipeline.c: (gst_pipeline_change_state):
13483         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13484         (gst_queue_src_activate_push):
13485           Don't start the src pad task on FLUSH_STOP if the pad
13486           isn't linked.
13487           Debug changes.
13488
13489 2005-08-22  Wim Taymans  <wim@fluendo.com>
13490
13491         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13492         Added check for gst_static_caps_get() refcounting.
13493
13494 2005-08-22  Wim Taymans  <wim@fluendo.com>
13495
13496         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13497         Make _static_caps_get() refcounting sane.
13498         
13499         * gst/gstelement.c: (gst_element_set_state):
13500         Add g_return_val_if_fail() to protect against segfaults.
13501
13502 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13503
13504         * docs/gst/tmpl/gstevent.sgml:
13505         * gst/gstevent.c:
13506         * gst/gstevent.h:
13507           inlined remaining docs, added missing doc comments
13508
13509 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13510
13511         * check/gst/gstbin.c: (GST_START_TEST):
13512           since we don't know when preroll is done, use refcount range
13513           check for the sink
13514         * gst/check/gstcheck.h:
13515           add macro for checking refcount range
13516
13517 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13518
13519         * check/Makefile.am:
13520           clean up environment for when registry gets built versus
13521           when actual tests are run; valgrind seems to not report
13522           leaks if GST_PLUGIN_PATH is set to some specific values
13523         * check/gst/gstbin.c: (GST_START_TEST):
13524           add more refcounting checks; maybe this exposes a
13525           preroll lock bug ?
13526         * common/check.mak:
13527         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13528         * gst/check/gstcheck.h:
13529         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13530         (gst_bin_change_state):
13531         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13532           add/fix debugging/whitespace
13533
13534 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13535
13536         * check/gst/gstevent.c: (event_probe), (test_event),
13537         (GST_START_TEST):
13538          Er, don't call gst_bin_watch_for_state_change you idiot.
13539
13540 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13541
13542         * check/Makefile.am:
13543           Use CHECK_CFLAGS and CHECK_LIBS
13544         * check/gst/gstevent.c: (event_probe), (test_event),
13545         (GST_START_TEST):
13546           Don't leak events.
13547         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13548         (gst_base_src_start), (gst_base_src_stop),
13549         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13550         (gst_base_src_change_state):
13551           Sprinkle gst_base_src_stop liberally around error paths to fix
13552           problems reusing a source after failed state changes.
13553         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13554         (helper_find_suggest), (gst_type_find_helper):
13555           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13556         * gst/gstevent.h:
13557         * docs/gst/tmpl/gstevent.sgml:
13558           Migrate part of the docs from the SGML file. Wait for ensonic to
13559           tell me how I did it wrong ;)
13560         * tools/gst-typefind.c: (main):
13561           Extra robustness to state changes between files.
13562
13563 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13564
13565         * check/Makefile.am:
13566           don't valgrind the controller test - it's leaking - Stefan, HELP
13567         * gst/check/gstcheck.c: (gst_check_message_error),
13568         (gst_check_chain_func), (gst_check_setup_element),
13569         (gst_check_teardown_element), (gst_check_setup_src_pad),
13570         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13571         (gst_check_teardown_sink_pad):
13572         * gst/check/gstcheck.h:
13573           add a bunch of methods to set up elements, and src and sink pads
13574         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13575         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13576         (GST_START_TEST):
13577           use them
13578         * gst/gstmessage.c:
13579         * gst/gsttag.h:
13580           whitespace/doc fixes
13581
13582 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13583
13584         * gst/gstelement.h:
13585           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13586           be handled by the application and not always printed as well
13587
13588 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13589
13590         * check/Makefile.am:
13591           set GST_TOOLS_DIR
13592         * gst/check/gstcheck.c: (gst_check_message_error):
13593         * gst/check/gstcheck.h:
13594           add a fail_unless_equals_int
13595           add fail_unless for error messages
13596
13597 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13598
13599         * check/Makefile.am:
13600         * check/gst.supp:
13601         * common/Makefile.am:
13602         * common/check.mak:
13603         * common/gst.supp:
13604           factor out some of the common stuff so we can use it
13605
13606 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13607
13608         * check/Makefile.am:
13609         * check/gst/gstiterator.c: (GST_START_TEST):
13610         * check/gst/gstsystemclock.c: (GST_START_TEST),
13611         (gst_systemclock_suite):
13612         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13613         * gst/gstclock.c:
13614           valgrind more tests
13615
13616 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13617
13618         * check/elements/.cvsignore:
13619         * check/elements/gstfakesrc.c:
13620           rename to name of element
13621         * check/elements/identity.c: (chain_func), (event_func),
13622         (setup_identity), (cleanup_identity), (GST_START_TEST),
13623         (identity_suite), (main):
13624           add a test for identity
13625         * check/Makefile.am:
13626         * pkgconfig/Makefile.am:
13627         * pkgconfig/gstreamer-check.pc.in:
13628         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13629         * gst/check:
13630         * gst/Makefile.am:
13631         * configure.ac:
13632           move the check stuff to a library that gets installed
13633         * check/gst-libs/controller.c: (GST_START_TEST):
13634         * check/gst-libs/gdp.c:
13635         * check/gst/gst.c: (GST_START_TEST):
13636         * check/gst/gstbin.c:
13637         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13638         * check/gst/gstbus.c:
13639         * check/gst/gstcaps.c: (GST_START_TEST):
13640         * check/gst/gstelement.c:
13641         * check/gst/gstghostpad.c:
13642         * check/gst/gstiterator.c:
13643         * check/gst/gstmessage.c:
13644         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13645         * check/gst/gstobject.c:
13646         * check/gst/gstpad.c: (GST_START_TEST):
13647         * check/gst/gststructure.c: (GST_START_TEST):
13648         * check/gst/gstsystemclock.c: (GST_START_TEST),
13649         (gst_systemclock_suite):
13650         * check/gst/gsttag.c: (gst_tag_suite):
13651         * check/gst/gstvalue.c:
13652         * check/pipelines/cleanup.c:
13653         * check/pipelines/simple_launch_lines.c:
13654         * check/states/sinks.c:
13655           change include statement
13656
13657         * docs/gst/gstreamer-sections.txt:
13658         * docs/gst/tmpl/gstpad.sgml:
13659           document more pad stuff
13660         * gst/gstminiobject.c: (gst_mini_object_ref),
13661         (gst_mini_object_unref):
13662           debug refcounting
13663
13664 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13665
13666         * docs/gst/tmpl/gst.sgml:
13667         * gst/gst.c:
13668           eliminate another tmpl file, fix spelling in the long-description
13669
13670 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13671
13672         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13673         (test_event), (timediff), (gstevents_suite):
13674           Should fix build on 64-bit arch's
13675
13676 2005-08-18  Andy Wingo  <wingo@pobox.com>
13677
13678         Make sure that when a pipeline goes to PLAYING, that data has
13679         actually hit the sink.
13680
13681         * check/states/sinks.c (test_sink): A sink that doesn't get any
13682         data shouldn't return SUCCESS for going to either PLAYING or
13683         PAUSED. Test also the return values on the way back down.
13684
13685         * gst/gstelement.c (gst_element_set_state): When changing the
13686         state of an element currently changing state asynchronously, go to
13687         lost-state after commiting the pending state. Makes future calls
13688         to get_state continue to return ASYNC.
13689
13690         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13691         ASYNC when going to PLAYING if we still don't have preroll, as can
13692         happen with live sources.
13693
13694 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13695
13696         * docs/pwg/advanced-types.xml:
13697           Hack long paragraph into 2 chunks as a workaround for buggy
13698           jadetex version in sid and breezy that loops infinitely and
13699           eats all RAM.
13700
13701 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13702
13703         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13704         (test_event), (timediff), (gstevents_suite):
13705           Provide more error margin in clock measurements to allow for 
13706           g_get_current_time inaccuracies.
13707
13708 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13709
13710         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13711         (test_event), (timediff), (gstevents_suite):
13712            Fix error message output so I might be able to tell why the
13713            test works here but fails on the build farm.
13714
13715 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13716
13717         * check/Makefile.am:
13718         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13719         (test_event), (timediff), (gstevents_suite), (main):
13720           I wrote a test!
13721
13722         * docs/design/part-seeking.txt:
13723           Spelling correction
13724
13725         * docs/gst/tmpl/gstevent.sgml:
13726         * docs/gst/tmpl/gstfakesrc.sgml:
13727           Docs updates.
13728
13729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13730           Treat a buffer-without-newsegment the same as a receiving 
13731           a newsegment not in time format, and disable syncing to the clock
13732           with a warning.
13733
13734         * gst/gstbus.c: (gst_bus_set_sync_handler):
13735           Assert if anyone tries to replace the existing sync_handler for bus, 
13736           as only the owner should be setting it.
13737
13738         * gst/gstevent.h:
13739           Have a fixed set of custom event enums with events identified by
13740           their structure name (as in 0.8), rather than a free-for-all
13741           allowing collisions between enum values from different plugins.
13742
13743         * gst/gstpad.c: (gst_pad_class_init):
13744           Docs change.
13745           
13746         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13747           Handle out-of-band downstream events from the sending thread.
13748
13749 2005-08-17  Andy Wingo  <wingo@pobox.com>
13750
13751         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13752         play-timeout==0 to mean no timeout at all. In that case, don't
13753         bother with a get_state or a warning, just return directly, even
13754         if it's ASYNC.
13755
13756         * gst/base/gstbasetransform.c: Debug changes.
13757
13758         * gst/gstutils.h:
13759         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13760         ensure bins post state change messages. A bit of a hack but I can't
13761         think of a way to avoid it.
13762
13763         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13764
13765 2005-08-16  Andy Wingo  <wingo@pobox.com>
13766
13767         * gst/base/gstadapter.h:
13768         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13769         peek() but you own the data. Not terribly efficient atm.
13770
13771 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13772
13773         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13774         (gst_element_found_tags):
13775         * gst/gstutils.h:
13776           Add two utility functions for tag handling.
13777
13778 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13779
13780         * docs/manual/advanced-dataaccess.xml:
13781         * docs/manual/basics-helloworld.xml:
13782           Fix docs to use _bin_add() before _link(), which fixes the examples
13783           with recent core versions (reported by Madhan Raj M
13784           <raj_madan@rediffmail.com>, #313199).
13785
13786 2005-08-16  Wim Taymans  <wim@fluendo.com>
13787
13788         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13789         Added subtract checks.
13790
13791         * docs/design/part-events.txt:
13792         Some more docs about newsegment
13793
13794         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13795         Fix FIXME
13796
13797         * gst/gstcaps.c: (gst_caps_to_string):
13798         Add comments, cleanups.
13799         
13800         * gst/gstelement.c: (gst_element_save_thyself):
13801         cleanups
13802         
13803         * gst/gstvalue.c: (gst_value_collect_int_range),
13804         (gst_string_unwrap), (gst_value_union_int_int_range),
13805         (gst_value_union_int_range_int_range),
13806         (gst_value_intersect_int_int_range),
13807         (gst_value_intersect_int_range_int_range),
13808         (gst_value_intersect_double_double_range),
13809         (gst_value_intersect_double_range_double_range),
13810         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13811         (gst_value_subtract_int_range_int),
13812         (gst_value_subtract_double_range_double),
13813         (gst_value_subtract_double_range_double_range),
13814         (gst_value_subtract_from_list), (gst_value_subtract_list),
13815         (gst_value_can_compare), (gst_value_compare_fraction):
13816         Cleanups, add comments, remove unneeded asserts.
13817
13818 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13819
13820         * tools/gst-launch.c: (event_loop):
13821           don't convert NULL structures to strings
13822
13823 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13824
13825         * docs/gst/gstreamer-sections.txt:
13826           made some defines private
13827         * docs/gst/tmpl/gstconfig.sgml:
13828         * docs/gst/tmpl/gstqueue.sgml:
13829         * docs/gst/tmpl/gsttaglist.sgml:
13830         * docs/gst/tmpl/gsttypes.sgml:
13831         * docs/gst/tmpl/gstutils.sgml:
13832         * docs/pwg/appendix-porting.xml:
13833         * gst/base/gstbasesink.h:
13834         * gst/base/gstbasesrc.c:
13835         * gst/base/gstbasesrc.h:
13836         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13837         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13838         * gst/gstelement.c: (gst_element_class_init):
13839         * gst/gstpad.c: (gst_pad_class_init):
13840         * gst/gstqueue.c: (gst_queue_class_init):
13841         * gst/gstxml.c: (gst_xml_class_init):
13842           documented all undocumented signal inline
13843         * libs/gst/controller/gst-controller.h:
13844           added padding
13845
13846 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13847
13848         * docs/pwg/appendix-porting.xml:
13849           Document _set_link_function -> _set_setcaps_function.
13850
13851 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13852
13853         * check/Makefile.am:
13854           add a .check target for running the check
13855         * check/gst-libs/controller.c: (GST_START_TEST):
13856           cosmetic fixups
13857         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13858           complete checks for gstbuffer; would be nice if I could get the
13859           gcov stuff to work so I can see if I actually completed gstbuffer.c
13860         * check/gstcheck.h:
13861           add ASSERT_BUFFER_REFCOUNT
13862
13863 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13864
13865         * docs/gst/gstreamer-sections.txt:
13866         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13867         * gst/gsttag.h:
13868           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13869           spew out a warning if a tag that is already registered
13870           is re-registered, unless it is re-registered with a 
13871           different type (#308438).
13872
13873 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13874
13875         * docs/pwg/appendix-porting.xml:
13876         * docs/pwg/building-state.xml:
13877           Add some paragraphs about state changes in 0.9 to the PWG
13878           and the porting guide, in particular about the new meaning
13879           of GST_STATE_PAUSED and how to write state change functions
13880           with concurrent access by multiple threads in mind.
13881
13882 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13883
13884         * docs/gst/gstreamer-docs.sgml:
13885         * docs/libs/gstreamer-libs-docs.sgml:
13886           added deprecation and since indexes
13887         * libs/gst/controller/gst-controller.c:
13888         * libs/gst/controller/gst-helper.c:
13889           added since tags
13890
13891
13892 2005-08-11  Wim Taymans  <wim@fluendo.com>
13893
13894         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13895         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13896         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13897         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13898         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13899         (gst_ghost_pad_set_target):
13900         Actually implement (re)setting the target on a ghostpad
13901         as described in the docs.
13902
13903 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13904
13905         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13906           Check whether GST_DEBUG_NO_COLOR environment variable is
13907           set and disable coloured debug output if that is the case.
13908
13909 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13910
13911         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13912         (gst_type_find_helper):
13913           The memory returned by gst_type_find_peek() needs to
13914           stay valid until the end of a typefind function, and
13915           typefind functions may keep results from different 
13916           offsets around, so we can't just unref the buffer from
13917           the previous _peek(), but have to save all buffers 
13918           returned by _peek() until typefinding is done and only
13919           free them then.
13920
13921 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13922
13923         * docs/gst/gstreamer-sections.txt:
13924         * gst/gstutils.h:
13925           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13926
13927 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13928
13929         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13930           Fix a pretty good memleak.
13931
13932 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13933
13934         * gst/gstiterator.h:
13935           Fix wrong include and 'make distcheck'.
13936
13937 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13938
13939         * gst/gstbin.c: (bin_bus_handler):
13940           Use gst_element_post_message() instead.
13941
13942 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13943
13944         * gst/base/gstadapter.h:
13945         * gst/base/gstbasesink.h:
13946         * gst/base/gstbasesrc.h:
13947         * gst/base/gstbasetransform.h:
13948         * gst/base/gstcollectpads.h:
13949         * gst/base/gstpushsrc.h:
13950         * gst/gstiterator.h:
13951           Add padding to our base elements' class and instance structs and
13952           to GstIterator (you will need to rebuild all plugins and apps!)
13953
13954 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13955
13956         * gst/gstbin.c: (bin_bus_handler):
13957           Make default message forwarding from child->bus to bin->bus
13958           threadsafe and make it not emit warnings if the parent has no bus.
13959
13960 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13961
13962         * gst/gstelement.c: (activate_pads):
13963           On paused->ready, set pad->caps to NULL, as is the documented
13964           behaviour in this state change. Fixes playback of series of
13965           media files when visualization is enabled in Totem.
13966
13967 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13968
13969         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13970           Allow NULL as filter-caps (which means "any").
13971
13972 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13973
13974         * docs/libs/gstreamer-libs-sections.txt:
13975         * libs/gst/controller/gst-controller.c:
13976         * libs/gst/controller/gst-controller.h:
13977         * libs/gst/controller/gst-helper.c:
13978           adding more entries to the docs and fix small doc-bugs
13979
13980 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13981
13982         * docs/gst/gstreamer-docs.sgml:
13983         * docs/gst/gstreamer-sections.txt:
13984         * docs/gst/gstreamer.types:
13985         * docs/gst/tmpl/gstbasesink.sgml:
13986         * docs/gst/tmpl/gstbasesrc.sgml:
13987         * docs/gst/tmpl/gstbasetransform.sgml:
13988         * docs/gst/tmpl/gstfakesrc.sgml:
13989         * gst/base/gstcollectpads.c:
13990         * gst/base/gstcollectpads.h:
13991         * libs/gst/controller/gst-controller.c:
13992         * libs/gst/controller/gst-controller.h:
13993         * libs/gst/controller/gst-helper.c:
13994         * libs/gst/controller/gst-interpolation.c:
13995         * libs/gst/controller/lib.c:
13996           added long/short desc for controller docs
13997           added collectpads base class docs
13998           added correct includes to base-class docs
13999
14000 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14001
14002         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14003         (gst_test_mono_source_set_property),
14004         (gst_test_mono_source_class_init), (GST_START_TEST),
14005         (gst_controller_suite):
14006         * docs/gst/gstreamer-docs.sgml:
14007         * docs/gst/gstreamer-sections.txt:
14008         * docs/gst/gstreamer.types:
14009         * docs/libs/gstreamer-libs-docs.sgml:
14010         * docs/libs/gstreamer-libs-sections.txt:
14011         * gst/base/gstadapter.c:
14012         * libs/gst/controller/gst-controller.c:
14013         (gst_controlled_property_new), (gst_controlled_property_free),
14014         (gst_controller_new_valist),
14015         (gst_controller_remove_properties_valist),
14016         (gst_controller_sink_values), (_gst_controller_finalize):
14017         * libs/gst/controller/gst-controller.h:
14018         * libs/gst/controller/gst-helper.c:
14019         (gst_object_control_properties), (gst_object_uncontrol_properties),
14020         (gst_object_get_controller), (gst_object_set_controller),
14021         (gst_object_sink_values), (gst_object_get_value_arrays),
14022         (gst_object_get_value_array):
14023           more tests (and fixes) for the controller
14024           more docs for the controller
14025           integrated companies docs for the adapter 
14026
14027 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14028
14029         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14030         (GST_START_TEST), (fakesrc_suite):
14031           add tests for sizetype
14032
14033 2005-08-04  Andy Wingo  <wingo@pobox.com>
14034
14035         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14036         fixes buffer_alloc proxying among other things.
14037
14038         * gst/base/gstbasetransform.c:
14039         * gst/base/gstbasetransform.h:
14040         Revert patch to gstbasetransform from 7-28 removing
14041         delay_configure.
14042
14043         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14044         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14045         Semantics changed, should return not the size of the output buffer
14046         but the byte size of a buffer with a given caps.
14047
14048         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14049         debug object.
14050         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14051         out) are not the pad caps until setcaps finishes.
14052         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14053         not-in-place case as well. Deal with changing from in-place to
14054         not-in-place within calling pad_alloc_buffer. Still a bit
14055         concerned about the overhead here...
14056
14057 2005-08-03  Andy Wingo  <wingo@pobox.com>
14058
14059         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14060         fixating is an error.
14061
14062 2005-08-04  Edward Hervey  <edward@fluendo.com>
14063
14064         * gst/base/gstadapter.h: 
14065         Added gst_adapter_get_type() to the header
14066
14067 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14068
14069         * check/Makefile.am:
14070         * check/gst-libs/controller.c:
14071         * libs/gst/controller/gst-controller.c:
14072         (gst_controller_new_valist):
14073           added check test suite for the controller
14074         * gst/base/gstpushsrc.c:
14075           fixed a doc typo
14076
14077 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14078
14079         * docs/gst/Makefile.am:
14080         * docs/gst/gstreamer-docs.sgml:
14081         * docs/gst/gstreamer-sections.txt:
14082         * docs/gst/gstreamer.types:
14083         * docs/gst/tmpl/gstfakesrc.sgml:
14084         * gst/base/README:
14085         * gst/base/gstbasesink.c:
14086         * gst/base/gstbasesink.h:
14087         * gst/base/gstbasesrc.c:
14088         * gst/base/gstbasesrc.h:
14089         * gst/base/gstbasetransform.c:
14090         * gst/base/gstpushsrc.c:
14091         * gst/base/gstpushsrc.h:
14092           add short/long description docs to base classes
14093           add pushsrc to the docs
14094           remove consolidated doc fragments
14095
14096 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14097
14098         * configure.ac:
14099         * docs/libs/Makefile.am:
14100         * docs/libs/gstreamer-libs-docs.sgml:
14101         * docs/libs/gstreamer-libs-sections.txt:
14102         * docs/libs/gstreamer-libs.types:
14103         * examples/Makefile.am:
14104         * examples/controller/.cvsignore:
14105         * examples/controller/Makefile.am:
14106         * examples/controller/audio-example.c: (main):
14107         * libs/gst/Makefile.am:
14108         * libs/gst/controller/.cvsignore:
14109         * libs/gst/controller/Makefile.am:
14110         * libs/gst/controller/gst-controller.c:
14111         (on_object_controlled_property_changed), (gst_timed_value_compare),
14112         (gst_timed_value_find),
14113         (gst_controlled_property_set_interpolation_mode),
14114         (gst_controlled_property_new), (gst_controlled_property_free),
14115         (gst_controller_find_controlled_property),
14116         (gst_controller_new_valist), (gst_controller_new),
14117         (gst_controller_remove_properties_valist),
14118         (gst_controller_remove_properties), (gst_controller_set),
14119         (gst_controller_set_from_list), (gst_controller_unset),
14120         (gst_controller_get), (gst_controller_get_all),
14121         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14122         (gst_controller_get_value_array),
14123         (gst_controller_set_interpolation_mode),
14124         (_gst_controller_finalize), (_gst_controller_init),
14125         (_gst_controller_class_init), (gst_controller_get_type):
14126         * libs/gst/controller/gst-controller.h:
14127         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14128         (g_object_uncontrol_properties), (g_object_get_controller),
14129         (g_object_set_controller), (g_object_sink_values),
14130         (g_object_get_value_arrays), (g_object_get_value_array):
14131         * libs/gst/controller/gst-interpolation.c:
14132         (gst_controlled_property_find_timed_value_node),
14133         (interpolate_none_get), (interpolate_trigger_get),
14134         (interpolate_trigger_get_value_array):
14135         * libs/gst/controller/lib.c: (gst_controller_init):
14136         * pkgconfig/Makefile.am:
14137         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14138         * pkgconfig/gstreamer-control.pc.in:
14139         * testsuite/Makefile.am:
14140         * testsuite/controller/.cvsignore:
14141         * testsuite/controller/Makefile.am:
14142         * testsuite/controller/interpolator.c: (main):
14143           added controller code
14144           removed dparam pc files
14145
14146 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14147         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14148         (gst_collectpads_stop):
14149           Broadcast the condition when shutting down, to make sure we wake all
14150           threads up. Shut down pads on finalize, for safety.
14151
14152 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14153         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14154         (gst_base_transform_handle_buffer),
14155         (gst_base_transform_change_state):
14156           Handle PAUSED->READY->PAUSED transition after negotiation
14157           occurred already.
14158         * gst/gstmessage.c: (gst_message_init):
14159           Extra piece of debug for new messages.
14160
14161 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14162
14163         * configure.ac:
14164         * docs/gst/tmpl/gstbasesrc.sgml:
14165         * docs/gst/tmpl/gstelement.sgml:
14166         * docs/gst/tmpl/gstevent.sgml:
14167         * docs/gst/tmpl/gstfakesrc.sgml:
14168         * docs/gst/tmpl/gstformat.sgml:
14169         * docs/gst/tmpl/gstghostpad.sgml:
14170         * docs/gst/tmpl/gstpad.sgml:
14171         * docs/gst/tmpl/gstquery.sgml:
14172         * docs/gst/tmpl/gststructure.sgml:
14173         * docs/gst/tmpl/gsttaglist.sgml:
14174         * docs/gst/tmpl/gstvalue.sgml:
14175         * docs/libs/gstreamer-libs-docs.sgml:
14176         * docs/libs/gstreamer-libs-sections.txt:
14177         * docs/libs/gstreamer-libs.types:
14178         * libs/gst/Makefile.am:
14179         * libs/gst/control/.cvsignore:
14180         * libs/gst/control/Makefile.am:
14181         * libs/gst/control/control.c:
14182         * libs/gst/control/control.h:
14183         * libs/gst/control/dparam.c:
14184         * libs/gst/control/dparam.h:
14185         * libs/gst/control/dparam_smooth.c:
14186         * libs/gst/control/dparam_smooth.h:
14187         * libs/gst/control/dparamcommon.h:
14188         * libs/gst/control/dparammanager.c:
14189         * libs/gst/control/dparammanager.h:
14190         * libs/gst/control/dplinearinterp.c:
14191         * libs/gst/control/dplinearinterp.h:
14192         * libs/gst/control/unitconvert.c:
14193         * libs/gst/control/unitconvert.h:
14194         * testsuite/Makefile.am:
14195         * testsuite/dynparams/.cvsignore:
14196         * testsuite/dynparams/Makefile.am:
14197         * testsuite/dynparams/dparamstest.c:
14198         * tools/Makefile.am:
14199         * tools/gst-inspect.c: (print_element_info), (main):
14200         * tools/gst-xmlinspect.c: (print_element_info), (main):
14201           deactivate and remove dparams (libgstcontrol)
14202
14203 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14204
14205         * gst/elements/gsttypefindelement.c:
14206         (gst_type_find_element_have_type), (gst_type_find_element_init),
14207         (stop_typefinding), (gst_type_find_element_handle_event),
14208         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14209         * gst/elements/gsttypefindelement.h:
14210           Set caps on all outgoing buffers, not just the first one.
14211
14212 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14213
14214         * gst/elements/gsttypefindelement.c:
14215         (gst_type_find_element_have_type),
14216         (gst_type_find_element_check_set_buffer_caps),
14217         (gst_type_find_element_init), (stop_typefinding),
14218         (gst_type_find_element_handle_event),
14219         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14220         * gst/elements/gsttypefindelement.h:
14221           Set caps on first outgoing buffer when we've found the type.
14222
14223 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14224
14225         * docs/gst/gstreamer-docs.sgml:
14226         * docs/gst/gstreamer-sections.txt:
14227         * docs/gst/tmpl/gstscheduler.sgml:
14228         * docs/gst/tmpl/gstschedulerfactory.sgml:
14229           Remove some old cruft from docs.
14230
14231 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14232
14233         * gst/gstpad.h:
14234           Fix inline docs for GstPadLinkReturn.
14235           
14236         * gst/gststructure.c: (gst_structure_has_name):
14237         * gst/gststructure.h:
14238         * docs/gst/gstreamer-sections.txt:
14239           New API: gst_structure_has_name().
14240
14241 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14242
14243         * configure.ac:
14244           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14245           and _LARGEFILE_SOURCE in config.h as required. Do not 
14246           export those flags in our .pc files any longer (#142209).
14247
14248           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14249
14250         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14251         (gst_file_sink_do_seek), (gst_file_sink_event),
14252         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14253           Redo seek/tell calls with large file support in mind; add some
14254           debugging messages; add log message that tells us when large
14255           file support is unavailable or not enabled for some reason.
14256
14257         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14258           Add log message that tells us when large file support 
14259           is unavailable or not enabled for some reason.
14260
14261 2005-07-29  Wim Taymans  <wim@fluendo.com>
14262
14263         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14264         Added test for removing an element with ghostpad from a bin.
14265         Fixed test as current implementation does the right thing.
14266
14267         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
14268         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
14269         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
14270         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
14271         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
14272         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14273         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14274         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14275         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
14276         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
14277         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
14278         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
14279         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14280         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
14281         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
14282         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
14283         * gst/gstghostpad.h:
14284         Clean up ghostpads, remove properties for internal stuff.
14285         Make threadsafe.
14286         Fix refcounting.
14287         Prepare for switching targets, not all use cases work yet.
14288
14289 2005-07-29  Wim Taymans  <wim@fluendo.com>
14290
14291         * docs/design/part-gstghostpad.txt:
14292         Small update.
14293
14294         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14295         (gst_bin_remove_func):
14296         Unlinking pads while holding the bin LOCK is not a good
14297         idea.
14298
14299         * gst/gstpad.c: (gst_pad_class_init),
14300         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
14301         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
14302         No prob setting template after creating the pad.
14303
14304 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14305
14306         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14307         (gst_bus_peek), (gst_bus_source_dispatch),
14308         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14309         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14310           gst_bus_poll may be called from other threads. Handle
14311           this nicely by not making poll_data disappear off the
14312           stack once gst_bus_poll returns.
14313           gst_bus_peek now increments the refcount on the returned
14314           message.
14315
14316 2005-07-29  Wim Taymans  <wim@fluendo.com>
14317
14318         * docs/design/part-gstghostpad.txt:
14319         Overview of current GhostPad datastructures and use
14320         cases for changing the target.
14321
14322 2005-07-28  Wim Taymans  <wim@fluendo.com>
14323
14324         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14325         Added checks for hierarchy consistency whan adding linked
14326         elements to bins.
14327
14328         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14329         Added check to test element scheduling without bin/pipeline.
14330
14331         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14332         First add elements to bin, then link.
14333         
14334         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14335         (gst_bin_remove_func):
14336         Unlink pads from elements added/removed from bin to maintain
14337         hierarchy consistency.
14338
14339 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14340
14341         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14342         (gst_base_transform_handle_buffer):
14343         * gst/base/gstbasetransform.h:
14344           Remove broken delay_configure (fixes renegotiation of software
14345           scaling pipelines); remove some leftover printf()s.
14346
14347 2005-07-28  Wim Taymans  <wim@fluendo.com>
14348
14349         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14350         Added some more tests for wrong hierarchy
14351
14352         * docs/design/part-overview.txt:
14353         Some updates.
14354
14355         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14356         Cleanups.
14357
14358         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14359         (gst_element_dispose):
14360         Some more cleanups.
14361
14362         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14363         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14364         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14365         (gst_pad_set_caps), (gst_pad_send_event):
14366         Check for correct hierarchy when linking pads. Moving to
14367         strict requirement for ghostpads when linking elements in
14368         different bins.
14369
14370         * gst/gstpad.h:
14371         Clean ups. Added WRONG_HIERARCHY return value.
14372
14373 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14374
14375         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14376           Better debug if no transform is possible.
14377
14378 2005-07-27  Wim Taymans  <wim@fluendo.com>
14379
14380         * docs/random/wtay/network-transp:
14381         Some old doc I had.
14382
14383 2005-07-27  Wim Taymans  <wim@fluendo.com>
14384
14385         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14386         (gst_dp_event_from_packet):
14387         Fix serialization of seek events.
14388
14389 2005-07-27  Wim Taymans  <wim@fluendo.com>
14390
14391         * check/gst-libs/gdp.c: (GST_START_TEST):
14392         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14393         Fix compilation and fix event serialization.
14394
14395 2005-07-27  Wim Taymans  <wim@fluendo.com>
14396
14397         * CHANGES-0.9:
14398         * docs/design/part-TODO.txt:
14399         * docs/design/part-events.txt:
14400         Some docs updates
14401
14402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14403         (gst_base_sink_event), (gst_base_sink_do_sync),
14404         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14405         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14406         (gst_base_src_do_seek), (gst_base_src_event_handler),
14407         (gst_base_src_loop):
14408         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14409         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14410         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14411         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14412         (gst_base_transform_set_passthrough),
14413         (gst_base_transform_is_passthrough):
14414         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14415         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14416         Event updates.
14417
14418         * gst/gstbuffer.h:
14419         Use faster casts.
14420
14421         * gst/gstelement.c: (gst_element_seek):
14422         * gst/gstelement.h:
14423         Update gst_element_seek.
14424
14425         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14426         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14427         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14428         (gst_event_new_eos), (gst_event_new_newsegment),
14429         (gst_event_parse_newsegment), (gst_event_new_tag),
14430         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14431         (gst_event_parse_qos), (gst_event_new_seek),
14432         (gst_event_parse_seek), (gst_event_new_navigation):
14433         * gst/gstevent.h:
14434         Make GstEvent use GstStructure. Add parsing code, make sure the
14435         API is sufficiently generic.
14436         Mark possible directions of events and serialization.
14437
14438         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14439         (_gst_message_copy), (gst_message_new_segment_start),
14440         (gst_message_new_segment_done), (gst_message_new_custom),
14441         (gst_message_parse_segment_start),
14442         (gst_message_parse_segment_done):
14443         Small cleanups.
14444
14445         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14446         (gst_pad_set_caps), (gst_pad_send_event):
14447         Update for new events. 
14448         Catch events sent in wrong directions.
14449
14450         * gst/gstqueue.c: (gst_queue_link_src),
14451         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14452         (gst_queue_handle_src_query):
14453         Event updates.
14454
14455         * gst/gsttag.c:
14456         * gst/gsttag.h:
14457         Remove event code from this file.
14458
14459         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14460         (gst_dp_event_from_packet):
14461         Event updates.
14462
14463 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14464
14465         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14466         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14467         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14468           Make debugging actually useful.
14469
14470 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14471
14472         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14473         (gst_pad_fixate_caps):
14474           Implement default fixation once again, so that gst_pad_fixate()
14475           actually does anything at all. This probably needs to be some
14476           sort of a last resort, and use profile-based fixation first, but
14477           since that doesn't exist yet, this is the best we have. Fixes
14478           visualization in Totem.
14479
14480 2005-07-22  Wim Taymans  <wim@fluendo.com>
14481
14482         * docs/design/part-events.txt:
14483         Small update.
14484
14485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14486         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14487         (gst_base_sink_activate_pull):
14488         Some more comments.
14489
14490         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14491         (gst_fake_src_create):
14492         Fix handoff marshall.
14493
14494         * gst/elements/gstidentity.c: (gst_identity_class_init),
14495         (gst_identity_transform_ip):
14496         We're a real inplace element.
14497
14498         * gst/gstbus.c: (gst_bus_post):
14499         Added some comments.
14500
14501         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14502         * tests/muxing/case1.c: (main):
14503         * tests/sched/dynamic-pipeline.c: (main):
14504         * tests/sched/interrupt1.c: (main):
14505         * tests/sched/interrupt2.c: (main):
14506         * tests/sched/interrupt3.c: (main):
14507         * tests/sched/runxml.c: (main):
14508         * tests/sched/sched-stress.c: (main):
14509         * tests/seeking/seeking1.c: (event_received), (main):
14510         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14511         (main):
14512         * tests/threadstate/threadstate3.c: (main):
14513         * tests/threadstate/threadstate4.c: (main):
14514         * tests/threadstate/threadstate5.c: (main):
14515         Fix the tests.
14516
14517 2005-07-21  Wim Taymans  <wim@fluendo.com>
14518
14519         * docs/design/part-seeking.txt:
14520         Some small additions.
14521
14522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14523         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14524         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14525         * gst/base/gstbasesink.h:
14526         discont values are gint64, handle the math correctly.
14527
14528         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14529         Make the basesrc report error if the source pad is not linked.
14530
14531         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14532         (gst_queue_loop), (gst_queue_handle_src_query),
14533         (gst_queue_src_activate_push):
14534         Make queue collect data even if the srcpad is not linked.
14535         Start pushing out data as soon as it is linked.
14536
14537         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14538         * gst/gstutils.h:
14539         Added gst_flow_get_name() to ease error reporting.
14540
14541 2005-07-20  Wim Taymans  <wim@fluendo.com>
14542
14543         * gst/gstmessage.c: (gst_message_new_segment_start),
14544         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14545         (gst_message_parse_segment_done):
14546         * gst/gstmessage.h:
14547         Added a bunch of messages for advanced seeking.
14548
14549         * gst/parse/grammar.y:
14550         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14551         (gst_dpman_state_changed):
14552         Fix some new-pad -> pad-added signals
14553
14554 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14555
14556         * docs/manual/appendix-porting.xml:
14557         * docs/pwg/appendix-porting.xml:
14558           Document new-pad/state-change signal renames and the FixedList
14559           type rename.
14560
14561 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14562
14563         * docs/manual/advanced-autoplugging.xml:
14564         * docs/manual/basics-helloworld.xml:
14565         * docs/manual/basics-pads.xml:
14566         * docs/random/ds/0.9-suggested-changes:
14567         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14568         * gst/gstelement.h:
14569         * gst/gstevent.h:
14570         * gst/gstformat.h:
14571         * gst/gstquery.h:
14572         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14573         (gst_structure_parse_array), (gst_structure_parse_value):
14574         * gst/gstvalue.c: (gst_type_is_fixed),
14575         (gst_value_list_prepend_value), (gst_value_list_append_value),
14576         (gst_value_list_get_size), (gst_value_list_get_value),
14577         (gst_value_transform_array_string), (gst_value_serialize_array),
14578         (gst_value_deserialize_array), (gst_value_intersect_array),
14579         (gst_value_is_fixed), (_gst_value_initialize):
14580         * gst/gstvalue.h:
14581           GstElement::new-pad -> pad-added, GstElement::state-change ->
14582           state-changed, GstValueFixedList -> GstValueArray, add format and
14583           flags as their own arguments in gst_element_seek() (should improve
14584           "bindeability"), remove function generators since they don't work
14585           under a whole bunch of compilers (they were deprecated already
14586           anyway).
14587
14588 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14589
14590         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14591         (_gst_debug_register_funcptr):
14592         * gst/gstinfo.h:
14593           Fix illegal cast on some platforms (#309253).
14594
14595 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14596
14597         * gst/gstmessage.c: (gst_message_new_custom):
14598         * gst/gstmessage.h:
14599           Add _new_custom, make _new_application a macro to _new_custom.
14600
14601 2005-07-20  Wim Taymans  <wim@fluendo.com>
14602
14603         * gst/base/gstbasesrc.c: (gst_base_src_init),
14604         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14605         * gst/base/gstbasesrc.h:
14606         Add a gboolean to decide when to push out a discont.
14607
14608         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14609         (gst_queue_loop), (gst_queue_handle_src_query),
14610         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14611         (gst_queue_set_property), (gst_queue_get_property):
14612         Some cleanups.
14613
14614         * tests/threadstate/threadstate1.c: (main):
14615         Make a thread test compile and run... very silly..
14616
14617
14618 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14619
14620         * docs/manual/appendix-porting.xml:
14621           Mention removal of libgstgconf-0.9.la and existence of gconf
14622           elements.
14623
14624 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14625
14626         * docs/pwg/advanced-clock.xml:
14627         * docs/pwg/appendix-porting.xml:
14628         * docs/pwg/intro-preface.xml:
14629         * docs/pwg/other-base.xml:
14630         * docs/pwg/other-manager.xml:
14631         * docs/pwg/other-nton.xml:
14632         * docs/pwg/other-ntoone.xml:
14633         * docs/pwg/other-oneton.xml:
14634         * docs/pwg/pwg.xml:
14635           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14636           demuxer), remove n-to-n (was never written), fix some code examples
14637           and links and update the porting section to include all this.
14638
14639 2005-07-19  Wim Taymans  <wim@fluendo.com>
14640
14641         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14642         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14643         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14644         (gst_queue_src_activate_push), (gst_queue_change_state),
14645         (gst_queue_get_property):
14646         * gst/gstqueue.h:
14647         Propagate GstFlowReturn more intelligently upstream and output
14648         an ERROR/EOS when streaming stopped due to fatal error.
14649
14650 2005-07-19  Wim Taymans  <wim@fluendo.com>
14651
14652         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14653         Don't block forever for the state change to complete, the
14654         pipeline already did with a sensible timeout.
14655
14656 2005-07-19  Wim Taymans  <wim@fluendo.com>
14657
14658         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14659         Make sure we never call the create function is we
14660         got deactivated.
14661
14662 2005-07-19  Andy Wingo  <wingo@pobox.com>
14663
14664         * gst/parse/parse.l: Attempt to solve bug #172815.
14665
14666 2005-07-19  Wim Taymans  <wim@fluendo.com>
14667
14668         * docs/design/part-clocks.txt:
14669         * docs/design/part-events.txt:
14670         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14671         Small docs updates.
14672         Only update the seeking values when we are not
14673         busy streaming.
14674
14675 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14676
14677         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14678           Oops, ignore the result of gst_pad_push_event here.
14679
14680 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14681
14682         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14683         (gst_base_src_activate_push):
14684           Send discont event from the loop function, as pads
14685           aren't activated yet in the activate_push handler.
14686
14687         * gst/gstbin.c: (bin_bus_handler):
14688           Don't leak element name.
14689
14690 2005-07-18  Andy Wingo  <wingo@pobox.com>
14691
14692         * configure.ac: Use AS_LIBTOOL_TAGS.
14693
14694 2005-07-18  Wim Taymans  <wim@fluendo.com>
14695
14696         * docs/gst/gstreamer.types:
14697         Remove deleted types.
14698
14699 2005-07-18  Wim Taymans  <wim@fluendo.com>
14700
14701         * check/elements/gstfakesrc.c: (GST_START_TEST):
14702         * configure.ac:
14703         * gst/Makefile.am:
14704         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14705         (init_popt_callback):
14706         * gst/gst.h:
14707         * gst/gst_private.h:
14708         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14709         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14710         * gst/gstbin.h:
14711         * gst/gstbus.h:
14712         * gst/gstconfig.h.in:
14713         * gst/gstelement.c: (gst_element_class_init),
14714         (gst_element_set_base_time), (gst_element_get_base_time),
14715         (iterator_fold_with_resync), (gst_element_change_state),
14716         (gst_element_dispose), (gst_element_get_bus):
14717         * gst/gstelement.h:
14718         * gst/gstelementfactory.h:
14719         * gst/gsterror.c: (_gst_core_errors_init):
14720         * gst/gsterror.h:
14721         * gst/gstevent.h:
14722         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14723         * gst/gstindex.c:
14724         * gst/gstinfo.c: (_gst_debug_init):
14725         * gst/gstmessage.c: (_gst_message_copy):
14726         * gst/gstmessage.h:
14727         * gst/gstminiobject.h:
14728         * gst/gstobject.c:
14729         * gst/gstobject.h:
14730         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14731         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14732         * gst/gstpad.h:
14733         * gst/gstparse.h:
14734         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14735         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14736         (gst_pipeline_get_last_stream_time):
14737         * gst/gstpipeline.h:
14738         * gst/gstpluginfeature.h:
14739         * gst/gstquery.h:
14740         * gst/gstscheduler.c:
14741         * gst/gstscheduler.h:
14742         * gst/gststructure.h:
14743         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14744         (gst_task_finalize), (gst_task_func), (gst_task_create),
14745         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14746         (gst_task_stop), (gst_task_pause):
14747         * gst/gsttask.h:
14748         * gst/gsttypefind.h:
14749         * gst/gsttypes.h:
14750         * gst/registries/gstlibxmlregistry.c: (load_feature),
14751         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14752         * gst/registries/gstxmlregistry.c:
14753         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14754         * gst/schedulers/threadscheduler.c:
14755         * libs/gst/control/dparammanager.h:
14756         * tools/gst-inspect.c: (print_element_list),
14757         (print_plugin_features), (print_element_features):
14758         * tools/gst-xmlinspect.c: (print_element_list),
14759         (print_plugin_info), (main):
14760         Removed plugable schedulers.
14761         Removed Scheduler/Manager from elements.
14762         Removed gsttypes.h, rearranged includes.
14763         Removed dependency pad<->element, element<>pipeline, and
14764         various others,  fix includes.
14765         implement gst_pad_get_parent() with gst_object_get_parent()
14766         Make GstTask sefcontained.
14767         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14768         timeout.
14769         Fix endless loop in iterator_fold_with_resync.
14770
14771
14772 2005-07-18  Wim Taymans  <wim@fluendo.com>
14773
14774         * gst/Makefile.am:
14775         * gst/gstarch.h:
14776         Remove old file.
14777
14778 2005-07-18  Wim Taymans  <wim@fluendo.com>
14779
14780         * gst/Makefile.am:
14781         No more cothreads.h
14782
14783 2005-07-18  Wim Taymans  <wim@fluendo.com>
14784
14785         * gst/cothreads.c:
14786         * gst/cothreads.h:
14787         Let's remove these.
14788
14789 2005-07-18  Wim Taymans  <wim@fluendo.com>
14790
14791         * docs/design/part-dynamic.txt:
14792         * docs/design/part-events.txt:
14793         * docs/design/part-seeking.txt:
14794         Some more docs in the works.
14795
14796         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14797         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14798         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14799         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14800         (gst_base_transform_handle_buffer),
14801         (gst_base_transform_sink_activate_push),
14802         (gst_base_transform_src_activate_pull),
14803         (gst_base_transform_set_passthrough),
14804         (gst_base_transform_is_passthrough):
14805         Refcounting fixes.
14806
14807         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14808         Cleanups.
14809
14810         * gst/gstevent.c: (gst_event_finalize):
14811         Set SRC to NULL.
14812
14813         * gst/gstutils.c: (gst_element_unlink),
14814         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14815         (gst_pad_proxy_setcaps):
14816         * gst/gstutils.h:
14817         Add _get_parent_element() to get a pads parent as an element.
14818
14819 2005-07-18  Wim Taymans  <wim@fluendo.com>
14820
14821         * check/gst/gstbin.c: (GST_START_TEST):
14822         Remove bogus test.
14823
14824 2005-07-18  Wim Taymans  <wim@fluendo.com>
14825
14826         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14827         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14828         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14829         (gst_base_sink_event), (gst_base_sink_do_sync),
14830         (gst_base_sink_chain), (gst_base_sink_loop),
14831         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14832         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14833         Refcounting fixes.
14834         Fix logic for returning ASYNC when not prerolled.
14835
14836 2005-07-18  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14839         Fix nasty refcount bug.
14840
14841 2005-07-16 Philippe Khalaf <burger@speedy.org>
14842
14843         * gst/elements/gstfdsrc.c:
14844         * gst/elements/gstfdsrc.h:
14845         * gst/elements/gstelements.c:
14846         * gst/elements/Makefile.am:
14847         Ported fdsrc to 0.9.
14848
14849 2005-07-16  Wim Taymans  <wim@fluendo.com>
14850
14851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14852         (gst_base_sink_do_sync):
14853         Fix compile error.
14854
14855 2005-07-16  Wim Taymans  <wim@fluendo.com>
14856
14857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14858         (gst_base_sink_event), (gst_base_sink_get_times),
14859         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14860         * gst/base/gstbasesink.h:
14861         Store and use discont values when syncing buffers as described
14862         in design docs.
14863         
14864         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14865         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14866         (gst_base_src_activate_push):
14867         Push discont event when starting.
14868
14869         * gst/elements/gstidentity.c: (gst_identity_transform):
14870         Small cleanups.
14871
14872         * gst/gstbin.c: (gst_bin_change_state):
14873         Small cleanups in base_time  distribution.
14874
14875         * gst/gstelement.c: (gst_element_set_base_time),
14876         (gst_element_get_base_time), (gst_element_change_state):
14877         * gst/gstelement.h:
14878         Added methods for the base_time of the element.
14879         Some MT fixes.
14880
14881         * gst/gstpipeline.c: (gst_pipeline_send_event),
14882         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14883         (gst_pipeline_get_last_stream_time):
14884         * gst/gstpipeline.h:
14885         MT fixes.
14886         Handle seeking as described in design doc, remove stream_time
14887         hack.
14888         Cleanups clock and stream_time selection code. Added accessors
14889         for the stream_time.
14890         
14891
14892 2005-07-16  Andy Wingo  <wingo@pobox.com>
14893
14894         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14895         (#305291).
14896
14897 2005-07-16  Wim Taymans  <wim@fluendo.com>
14898
14899         * check/gst/gstbin.c: (GST_START_TEST):
14900         Make elements silent as the deep_notify refs the
14901         parent, which might make the test fail.
14902
14903         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14904         Don't hold the lock for too long.
14905
14906 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14907
14908         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14909           Don't unref the caps we passed to gst_caps_make_writable() after
14910           passing them. gst_caps_make_writable() will do that for us.
14911
14912 2005-07-15  Andy Wingo  <wingo@pobox.com>
14913
14914         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14915         (#157311).
14916
14917         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14918         own marshalling function for the handoff signal. Properly type the
14919         buffer as a buffer. Fixes some warnings. Should do a more general
14920         solution.
14921         (gst_identity_class_init): Plug into the right marshaller.
14922
14923 2005-07-15  Wim Taymans  <wim@fluendo.com>
14924
14925         * docs/design/part-TODO.txt:
14926         * docs/design/part-clocks.txt:
14927         * docs/design/part-element-sink.txt:
14928         * docs/design/part-events.txt:
14929         * docs/design/part-gstpipeline.txt:
14930         Updated docs, mostly DISCONT related.
14931
14932 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14933
14934         * docs/pwg/building-pads.xml:
14935           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14936
14937 2005-07-15  Andy Wingo  <wingo@pobox.com>
14938
14939         * tools/gst-typefind.c: Update, add copyright block.
14940
14941         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14942         Normalize and truncate caps before fixation.
14943
14944         * gst/gstcaps.h:
14945         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14946         discards all but the first structure from its argument.
14947
14948 2005-07-15  Wim Taymans  <wim@fluendo.com>
14949
14950         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14951         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14952         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14953         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14954         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14955         (gst_base_transform_chain), (gst_base_transform_change_state),
14956         (gst_base_transform_set_passthrough),
14957         (gst_base_transform_is_passthrough):
14958         * gst/base/gstbasetransform.h:
14959         Make passthrough work using the bufferpools.
14960         Changed API a bit, subclasses have to write into a buffer
14961         provided by the base class.
14962         More debug info in nego functions.
14963         
14964         * gst/elements/gstidentity.c: (gst_identity_init),
14965         (gst_identity_transform):
14966         Port to new base class.
14967
14968 2005-07-15  Wim Taymans  <wim@fluendo.com>
14969
14970         * gst/gstmessage.c: (gst_message_new_state_changed):
14971         * tools/gst-launch.c: (event_loop), (main):
14972         Totally dump messages in -launch with the -m option.
14973         Fix message name for State messages,
14974
14975 2005-07-14  Wim Taymans  <wim@fluendo.com>
14976
14977         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14978         Post error messages on errors.
14979
14980 2005-07-14  Wim Taymans  <wim@fluendo.com>
14981
14982         * gst/gstcaps.c: (gst_caps_do_simplify):
14983         Remove debug info.
14984
14985         * gst/gsterror.h:
14986         Define error for stream stopped.
14987
14988         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14989         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14990         Do proper return values.
14991
14992         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14993         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14994         (gst_pad_get_range):
14995         Better return values.
14996
14997         * gst/gstpad.h:
14998         Reorganise return values, add macro to check for fatal errors.
14999
15000         * gst/gstqueue.c: (gst_queue_chain):
15001         Return proper GstFlowReturn values,
15002
15003 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15004
15005         * docs/gst/gstreamer-sections.txt:
15006         * docs/gst/gstreamer.types:
15007         * docs/gst/tmpl/gst.sgml:
15008         * docs/gst/tmpl/gstbasesink.sgml:
15009         * docs/gst/tmpl/gstbasesrc.sgml:
15010         * docs/gst/tmpl/gstbasetransform.sgml:
15011         * docs/gst/tmpl/gstbin.sgml:
15012         * docs/gst/tmpl/gstbuffer.sgml:
15013         * docs/gst/tmpl/gstcaps.sgml:
15014         * docs/gst/tmpl/gstclock.sgml:
15015         * docs/gst/tmpl/gstcompat.sgml:
15016         * docs/gst/tmpl/gstconfig.sgml:
15017         * docs/gst/tmpl/gstelement.sgml:
15018         * docs/gst/tmpl/gstelementdetails.sgml:
15019         * docs/gst/tmpl/gstelementfactory.sgml:
15020         * docs/gst/tmpl/gstenumtypes.sgml:
15021         * docs/gst/tmpl/gsterror.sgml:
15022         * docs/gst/tmpl/gstevent.sgml:
15023         * docs/gst/tmpl/gstfakesink.sgml:
15024         * docs/gst/tmpl/gstfakesrc.sgml:
15025         * docs/gst/tmpl/gstfilesink.sgml:
15026         * docs/gst/tmpl/gstfilesrc.sgml:
15027         * docs/gst/tmpl/gstfilter.sgml:
15028         * docs/gst/tmpl/gstformat.sgml:
15029         * docs/gst/tmpl/gstghostpad.sgml:
15030         * docs/gst/tmpl/gstimplementsinterface.sgml:
15031         * docs/gst/tmpl/gstindex.sgml:
15032         * docs/gst/tmpl/gstindexfactory.sgml:
15033         * docs/gst/tmpl/gstinfo.sgml:
15034         * docs/gst/tmpl/gstiterator.sgml:
15035         * docs/gst/tmpl/gstmacros.sgml:
15036         * docs/gst/tmpl/gstmemchunk.sgml:
15037         * docs/gst/tmpl/gstminiobject.sgml:
15038         * docs/gst/tmpl/gstobject.sgml:
15039         * docs/gst/tmpl/gstpad.sgml:
15040         * docs/gst/tmpl/gstpadtemplate.sgml:
15041         * docs/gst/tmpl/gstparse.sgml:
15042         * docs/gst/tmpl/gstpipeline.sgml:
15043         * docs/gst/tmpl/gstplugin.sgml:
15044         * docs/gst/tmpl/gstpluginfeature.sgml:
15045         * docs/gst/tmpl/gstquery.sgml:
15046         * docs/gst/tmpl/gstqueue.sgml:
15047         * docs/gst/tmpl/gstregistry.sgml:
15048         * docs/gst/tmpl/gstregistrypool.sgml:
15049         * docs/gst/tmpl/gstscheduler.sgml:
15050         * docs/gst/tmpl/gstschedulerfactory.sgml:
15051         * docs/gst/tmpl/gststructure.sgml:
15052         * docs/gst/tmpl/gstsystemclock.sgml:
15053         * docs/gst/tmpl/gsttaglist.sgml:
15054         * docs/gst/tmpl/gsttagsetter.sgml:
15055         * docs/gst/tmpl/gsttrace.sgml:
15056         * docs/gst/tmpl/gsttrashstack.sgml:
15057         * docs/gst/tmpl/gsttypefind.sgml:
15058         * docs/gst/tmpl/gsttypefindfactory.sgml:
15059         * docs/gst/tmpl/gsttypes.sgml:
15060         * docs/gst/tmpl/gsturihandler.sgml:
15061         * docs/gst/tmpl/gsturitype.sgml:
15062         * docs/gst/tmpl/gstutils.sgml:
15063         * docs/gst/tmpl/gstvalue.sgml:
15064         * docs/gst/tmpl/gstversion.sgml:
15065         * docs/gst/tmpl/gstxml.sgml:
15066         * docs/libs/tmpl/gstcontrol.sgml:
15067         * docs/libs/tmpl/gstdataprotocol.sgml:
15068         * docs/libs/tmpl/gstdparam.sgml:
15069         * docs/libs/tmpl/gstdplinint.sgml:
15070         * docs/libs/tmpl/gstdpman.sgml:
15071         * docs/libs/tmpl/gstdpsmooth.sgml:
15072         * docs/libs/tmpl/gstgetbits.sgml:
15073         * docs/libs/tmpl/gstunitconvert.sgml:
15074         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15075         (gst_push_src_base_init), (gst_push_src_class_init),
15076         (gst_push_src_init), (gst_push_src_create):
15077         * gst/base/gstpushsrc.h:
15078         * gst/elements/gstelements.c:
15079         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15080         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15081         (gst_fake_sink_init), (gst_fake_sink_set_property),
15082         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15083         (gst_fake_sink_event), (gst_fake_sink_preroll),
15084         (gst_fake_sink_render), (gst_fake_sink_change_state):
15085         * gst/elements/gstfakesink.h:
15086         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15087         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15088         (gst_fake_src_base_init), (gst_fake_src_class_init),
15089         (gst_fake_src_init), (gst_fake_src_event_handler),
15090         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15091         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15092         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15093         (gst_fake_src_create_buffer), (gst_fake_src_create),
15094         (gst_fake_src_start), (gst_fake_src_stop):
15095         * gst/elements/gstfakesrc.h:
15096         * gst/elements/gstfilesink.c: (_do_init),
15097         (gst_file_sink_base_init), (gst_file_sink_class_init),
15098         (gst_file_sink_init), (gst_file_sink_dispose),
15099         (gst_file_sink_set_location), (gst_file_sink_set_property),
15100         (gst_file_sink_get_property), (gst_file_sink_open_file),
15101         (gst_file_sink_close_file), (gst_file_sink_query),
15102         (gst_file_sink_event), (gst_file_sink_render),
15103         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15104         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15105         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15106         * gst/elements/gstfilesink.h:
15107         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15108         (gst_file_src_class_init), (gst_file_src_init),
15109         (gst_file_src_finalize), (gst_file_src_set_location),
15110         (gst_file_src_set_property), (gst_file_src_get_property),
15111         (gst_file_src_map_region), (gst_file_src_map_small_region),
15112         (gst_file_src_create_mmap), (gst_file_src_create_read),
15113         (gst_file_src_create), (gst_file_src_is_seekable),
15114         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15115         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15116         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15117         (gst_file_src_uri_handler_init):
15118         * gst/elements/gstfilesrc.h:
15119           more autistic cleanliness in functions/names/defines
15120
15121 2005-07-13  Andy Wingo  <wingo@pobox.com>
15122
15123         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15124         source couldn't negotiate.
15125
15126         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15127         connections again.
15128
15129         * gst/gstutils.h:
15130         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15131         function. I am channeling Hades. Put your boots on suckers!!!
15132
15133 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15134
15135         * testsuite/caps/Makefile.am:
15136         * testsuite/caps/value_compare.c:
15137         * testsuite/caps/value_intersect.c:
15138         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15139           move two testsuite apps over to the check dir
15140
15141 2005-07-12  Wim Taymans  <wim@fluendo.com>
15142
15143         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15144         Added more debug info in the negotiate process.
15145
15146         * gst/gstmessage.h:
15147         Prepare for segment playback.
15148
15149         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15150         Better debugging.
15151
15152         * gst/gstutils.c:
15153         Some more docs.
15154
15155         * tools/gst-launch.c: (main):
15156         NULL pipeline on errors.
15157
15158 2005-07-12  Andy Wingo  <wingo@pobox.com>
15159
15160         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15161         not it comes from a malloc region. Make sure our copy gets freed.
15162
15163 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15164
15165         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15166         * check/gst/gstmessage.c: (GST_START_TEST):
15167         * check/gst/gststructure.c: (GST_START_TEST),
15168         (gst_structure_suite), (main):
15169           more testing
15170         * gst/gstelement.c: (gst_element_message_full):
15171           clean up GError and debug string now that they get copied
15172         * gst/gstmessage.c: (gst_message_new_error),
15173         (gst_message_new_warning), (gst_message_parse_error),
15174         (gst_message_parse_warning):
15175           use GST_TYPE_G_ERROR for structure_new, and take copies of
15176           arguments, so that we don't mess up refcounting
15177
15178 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15179
15180         * check/Makefile.am:
15181           add per-test valgrind targets
15182         * check/gst-libs/gdp.c: (GST_START_TEST),
15183         (gst_data_protocol_suite), (main):
15184           clean up
15185
15186 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15187
15188         * check/Makefile.am:
15189           instate more valgrindable tests
15190         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15191         (GST_START_TEST), (fakesrc_suite):
15192         * check/gst/gstpad.c: (GST_START_TEST):
15193         * check/gst/gststructure.c: (GST_START_TEST):
15194           fix test leaks
15195         * docs/gst/tmpl/gstminiobject.sgml:
15196         * gst/gstpad.c: (gst_pad_finalize):
15197           fix the static mutex leak
15198
15199 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15200
15201         * check/Makefile.am:
15202           add two more tests for valgrinding
15203         * check/gst/gstvalue.c: (GST_START_TEST):
15204           test refcount of deserialized buffer, found a leak
15205         * docs/gst/gstreamer-docs.sgml:
15206         * docs/gst/gstreamer-sections.txt:
15207         * docs/gst/gstreamer.types:
15208         * docs/gst/tmpl/gstminiobject.sgml:
15209           add miniobject to docs
15210         * gst/gstminiobject.c:
15211           add some docs
15212         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15213         (gst_string_unwrap):
15214           fix a hard-to-find invalid write for one of the tests
15215           fix a leak for deserialized buffers
15216
15217 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15218
15219         * docs/pwg/advanced-events.xml:
15220         * docs/pwg/advanced-request.xml:
15221         * docs/pwg/advanced-scheduling.xml:
15222         * docs/pwg/appendix-porting.xml:
15223         * docs/pwg/building-boiler.xml:
15224         * docs/pwg/intro-preface.xml:
15225         * docs/pwg/other-ntoone.xml:
15226           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15227           of example code and explanation for pad activation, loop() and
15228           getrange() functions and a bit more. Remove old comments pointing
15229           to loop-functions.
15230         * examples/pwg/Makefile.am:
15231           Add loop/getrange examples.
15232
15233 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * configure.ac:
15236           check for valgrind binary + some fixes
15237         * check/gst.supp:
15238           valgrind suppressions for the tests
15239         * check/Makefile.am:
15240           add a valgrind: target that valgrinds the unit tests
15241         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15242         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15243         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15244         * check/gst/gstghostpad.c:
15245           added some cleanup
15246         * check/gst/gstdata.c:
15247           removed
15248         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15249         (thread_unref), (gst_mini_object_suite), (main):
15250           added
15251         * gst/gst.c: (gst_deinit):
15252         * gst/gst.h:
15253           add a method to clean up.
15254         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15255         (gst_system_clock_obtain):
15256           allow for disposing the system clock.
15257         * tools/gst-launch.c: (main):
15258           deinit
15259
15260 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15261
15262         * docs/gst/tmpl/gstbasesrc.sgml:
15263         * docs/gst/tmpl/gstfakesrc.sgml:
15264         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15265         (gst_base_src_init), (gst_base_src_set_property),
15266         (gst_base_src_get_property), (gst_base_src_get_range),
15267         (gst_base_src_start):
15268         * gst/base/gstbasesrc.h:
15269           add num-buffers property
15270         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15271         (gst_fakesrc_init), (gst_fakesrc_set_property),
15272         (gst_fakesrc_get_property), (gst_fakesrc_create),
15273         (gst_fakesrc_start):
15274           remove num-buffers property
15275
15276 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15277
15278         * docs/gst/gstreamer-sections.txt:
15279         * docs/gst/tmpl/gstbasesink.sgml:
15280         * docs/gst/tmpl/gstbasesrc.sgml:
15281         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15282         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15283         (gst_base_sink_finalize), (gst_base_sink_set_clock),
15284         (gst_base_sink_set_property), (gst_base_sink_get_property),
15285         (gst_base_sink_handle_object), (gst_base_sink_event),
15286         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15287         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
15288         (gst_base_sink_loop), (gst_base_sink_deactivate),
15289         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
15290         (gst_base_sink_change_state):
15291         * gst/base/gstbasesink.h:
15292         * gst/base/gstbasesrc.h:
15293         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
15294         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15295         (gst_filesink_init):
15296           more macro splitting
15297
15298 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15299
15300         * gst/gstelement.c: (gst_element_get_bus):
15301           add debug
15302         * tools/gst-launch.c: (check_intr), (event_loop):
15303           fix bus leaks
15304
15305 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15306
15307         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15308           fix a caps leak
15309
15310 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15311
15312         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15313         (gst_base_src_finalize):
15314           add finalize method and clean up properly
15315         * gst/gstpipeline.c: (gst_pipeline_dispose):
15316           add debug
15317
15318 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15319
15320         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15321         (gst_bin_suite):
15322           add more things to check
15323         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15324         * gst/gstelement.c:
15325           more debug
15326
15327 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15328
15329         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15330         (GST_START_TEST), (fakesrc_suite):
15331         * check/gst-libs/gdp.c: (GST_START_TEST):
15332         * check/gst/gst.c: (GST_START_TEST):
15333         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15334         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15335         * check/gst/gstbus.c: (GST_START_TEST):
15336         * check/gst/gstcaps.c: (GST_START_TEST):
15337         * check/gst/gstdata.c: (GST_START_TEST):
15338         * check/gst/gstelement.c: (GST_START_TEST):
15339         * check/gst/gstghostpad.c: (GST_START_TEST):
15340         * check/gst/gstiterator.c: (GST_START_TEST):
15341         * check/gst/gstmessage.c: (GST_START_TEST):
15342         * check/gst/gstobject.c: (GST_START_TEST):
15343         * check/gst/gstpad.c: (GST_START_TEST):
15344         * check/gst/gststructure.c: (GST_START_TEST):
15345         * check/gst/gstsystemclock.c: (GST_START_TEST),
15346         (gst_systemclock_suite):
15347         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15348         * check/gst/gstvalue.c: (GST_START_TEST):
15349         * check/pipelines/cleanup.c: (GST_START_TEST):
15350         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15351         * check/states/sinks.c: (GST_START_TEST):
15352         * check/gstcheck.c: (gst_check_init):
15353         * check/gstcheck.h:
15354           add debugging category
15355           use GST_START_TEST now, so we add a debug line
15356
15357 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15358
15359         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15360           add test for state change message on a bin
15361         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15362           add another test
15363         * gst/gstbin.c: (gst_bin_init):
15364         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15365         * gst/gstelement.c: (gst_element_post_message),
15366         (gst_element_set_state):
15367         * gst/gstelementfactory.c: (gst_element_factory_create):
15368         * gst/gstmessage.c: (gst_message_new):
15369         * gst/gstscheduler.c:
15370           various debugging additions and cleanups
15371
15372 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15373
15374         * check/Makefile.am:
15375         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15376         (main):
15377           adding tests for elements
15378         * gst/gstelement.c: (gst_element_dispose):
15379
15380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15381
15382         * gst/registries/gstlibxmlregistry.c: (load_feature):
15383           plug more leaks.  A simple gst_init() now is leakfree, yay.
15384
15385 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15386
15387         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15388         (gst_xml_registry_load):
15389           plug another memleak
15390
15391 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15392
15393         * configure.ac:
15394           use GST_SET_ERROR_CFLAGS
15395         * docs/faq/cvs.xml:
15396           change to ERROR_CFLAGS
15397
15398 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15399
15400         * configure.ac:
15401           make GST_ERROR_CFLAGS overridable and re-enable Werror
15402         * docs/faq/cvs.xml:
15403           add a note about error CFLAGS
15404         * docs/gst/tmpl/gstfakesrc.sgml:
15405         * gst/elements/gstfakesrc.c:
15406           comment out some unused code
15407         * gst/gst.c: (split_and_iterate):
15408         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15409         (load_feature):
15410           plug some memleaks
15411
15412 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15413
15414         * common/Makefile.am:
15415         * common/gtk-doc.mak:
15416         * docs/gst/Makefile.am:
15417           factor out gtk-doc.mak
15418
15419 2005-07-07  Wim Taymans  <wim@fluendo.com>
15420
15421         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15422         (gst_thread_scheduler_dispose):
15423         Unlock the STREAM_LOCK completely.
15424
15425 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15426
15427         * check/Makefile.am:
15428         * check/elements/.cvsignore:
15429         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15430         (START_TEST), (fakesrc_suite), (main):
15431         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15432         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15433         (gst_fakesrc_create), (gst_fakesrc_start):
15434         * gst/elements/gstfakesrc.h:
15435           adding a first element test
15436
15437 2005-07-07  Andy Wingo  <wingo@pobox.com>
15438
15439         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15440         debug message.
15441
15442 2005-07-07  Wim Taymans  <wim@fluendo.com>
15443
15444         * gst/gstquery.c:
15445         * gst/gstquery.h:
15446         Remove old types
15447
15448 2005-07-07  Wim Taymans  <wim@fluendo.com>
15449
15450         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15451         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15452         Allow subclasses to implement their own negotiation.
15453
15454 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15455
15456         * docs/design/part-gstbin.txt:
15457         * docs/design/part-gstpipeline.txt:
15458           Update design notes to reflect the movement of
15459           responsibility for bus handling from GstPipeline to
15460           GstBin
15461
15462 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15463
15464         * configure.ac:
15465           Remove unnecessary queue2/3/4 examples.
15466
15467 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15468
15469         * examples/Makefile.am:
15470         * examples/helloworld/helloworld.c: (event_loop), (main):
15471         * examples/queue/queue.c: (event_loop), (main):
15472         * examples/queue2/queue2.c: (main):
15473           Update a couple of the examples to work again.
15474
15475         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15476         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15477          Spelling corrections and extra debug.
15478         
15479         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15480         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15481         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15482         * gst/gstbin.h:
15483         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15484         (gst_pipeline_change_state):
15485         * gst/gstpipeline.h:
15486           Move the bus handler for children to the GstBin, and create a
15487           separate bus for receiving messages from children to the one the
15488           bus sends 'upwards' on.
15489
15490 2005-07-06  Wim Taymans  <wim@fluendo.com>
15491
15492         * gst/base/README:
15493         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15494         (gst_base_sink_handle_object), (gst_base_sink_loop),
15495         (gst_base_sink_change_state):
15496         * gst/base/gstbasesink.h:
15497         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15498         (gst_base_src_init), (gst_base_src_setcaps),
15499         (gst_base_src_getcaps), (gst_base_src_loop),
15500         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15501         (gst_base_src_start), (gst_base_src_change_state):
15502         * gst/base/gstbasesrc.h:
15503         Make basesrc negotiate.
15504         Handle the case where preroll fails in basesink.
15505         Update README.
15506
15507 2005-07-06  Wim Taymans  <wim@fluendo.com>
15508
15509         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15510         Implement the fixate function.
15511         Clean up acceptcaps.
15512
15513 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15514
15515         * docs/pwg/building-filterfactory.xml:
15516         * docs/pwg/pwg.xml:
15517           Remove never-written filter-factory chapter; I'll add the various
15518           base classes to part 4 ("other element types") later on.
15519
15520 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15521
15522         * docs/pwg/advanced-negotiation.xml:
15523         * docs/pwg/building-boiler.xml:
15524         * docs/pwg/building-pads.xml:
15525         * docs/pwg/pwg.xml:
15526         * examples/pwg/Makefile.am:
15527           Add a chapter on caps negotiation, simplify the original code
15528           samples a bit w.r.t. caps negotiation, add link to the advanced
15529           section. Add a bunch of examples showing different use cases of
15530           different types of caps negotiation. Upstream renegotiation isn't
15531           fully documented yet since nobody knows how that works.
15532
15533 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15534
15535         * check/gst/gstpad.c:
15536         * check/gstcheck.c:
15537         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15538           if pad has no parent, return NULL as list of internal links
15539
15540 2005-07-05  Andy Wingo  <wingo@pobox.com>
15541
15542         * gst/elements/gstfilesrc.c:
15543         * gst/elements/gstfakesrc.c: 
15544         * gst/base/gstpushsrc.c:
15545         * gst/base/gstbasesrc.h: 
15546         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15547         
15548 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15549
15550         * Makefile.am:
15551           better report generation target (lcov needs a patch)
15552
15553 2005-07-05  Andy Wingo  <wingo@pobox.com>
15554
15555         * gst/elements, testsuite: Null if we got it...
15556
15557 2005-07-05  Wim Taymans  <wim@fluendo.com>
15558
15559         * configure.ac:
15560         * libs/gst/dataprotocol/Makefile.am:
15561         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15562         * libs/gst/dataprotocol/dataprotocol.h:
15563         * pkgconfig/Makefile.am:
15564         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15565         * pkgconfig/gstreamer-dataprotocol.pc.in:
15566         Ported dataprotol to 0.9. 
15567         Added pkgconfig files.
15568
15569 2005-07-05  Andy Wingo  <wingo@pobox.com>
15570
15571         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15572         Default to returning TRUE for the case when tranform_caps returns
15573         a fixed caps, like for identity or volume.
15574
15575         * check/gst/gstbus.c (pound_bus_with_messages): 
15576         * check/gst/gstmessage.c (START_TEST): 
15577         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15578         message API change.
15579
15580         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15581         logic weaks here: always run transform_caps, trying passthrough
15582         operation only if the original caps intersects with the transform.
15583
15584         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15585         source and sink caps.
15586
15587         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15588         Intersect the peer caps with the pad template before going into
15589         transform_caps.
15590         (gst_base_transform_transform_caps): More debugging.
15591
15592         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15593         src argument.
15594
15595 2005-07-04  Edward Hervey  <edward@fluendo.com>
15596
15597         * gst/gstutils.c:
15598         * gst/gstutils.h:
15599         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15600         in bindings.
15601
15602 2005-07-04  Andy Wingo  <wingo@pobox.com>
15603
15604         * check/gst/gstpad.c: Only set explicit caps on pads.
15605
15606 2005-07-01  Andy Wingo  <wingo@pobox.com>
15607
15608         * tests/network-clock.scm: Commentary update.
15609
15610         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15611         Didn't really make sense, not implementable with basetransform,
15612         etc.
15613         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15614         attempt at implementing the sync property, needs an unlock method.
15615
15616         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15617         New func, by default returns the same caps (the identity
15618         transformation).
15619         (gst_base_transform_getcaps): Uses transform_caps to return
15620         something sensible.
15621         (gst_base_transform_setcaps): Complicated logic to get caps on
15622         both pads, even if they are different, and to call set_caps once
15623         for every time both pads get their caps set.
15624         (gst_base_transform_handle_buffer): Give the ref to the transform
15625         function. Allows in-place modification of the buffer.
15626
15627         * gst/base/gstbasetransform.h (transform_caps): New class method.
15628         Given caps on one side, what can I do on the other.
15629         (set_caps): Take two caps, one for each side of the element.
15630
15631         * gst/gstpad.h:
15632         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15633         caps in place. This is safe because we can check the mutability of
15634         the caps, and a good idea because fixate functions are just called
15635         as a matter of last resort. (Not actually implemented.)
15636         (gst_pad_set_caps): If the caps we're setting is actually the same
15637         as the existing pad caps, just update the pointer without calling
15638         setcaps. Assert that caps is either NULL or fixed, as per the
15639         docs.
15640
15641         * gst/gstghostpad.c: Update for fixate changes.
15642
15643 2005-07-02  Andy Wingo  <wingo@pobox.com>
15644
15645         * gst/gstcaps.c:
15646         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15647         two refcounts makes it immutable, which is enough. Doc more.
15648
15649 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15650
15651         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15652           Put the mini_object into GValue as a mini_object,
15653           not a gpointer, since that's how we declared
15654           the signal.
15655
15656 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15657
15658         * examples/pwg/Makefile.am:
15659           Fix buildbot again.
15660
15661 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15662
15663         * docs/pwg/building-testapp.xml:
15664           Add extra check.
15665         * examples/pwg/Makefile.am:
15666           Fix buildbot.
15667
15668 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15669
15670         * configure.ac:
15671         * examples/Makefile.am:
15672         * examples/pwg/Makefile.am:
15673         * examples/pwg/extract.pl:
15674           Enable building the PWG examples.
15675         * docs/pwg/advanced-interfaces.xml:
15676           Add URI interface stub.
15677         * docs/pwg/advanced-types.xml:
15678         * docs/pwg/other-autoplugger.xml:
15679         * docs/pwg/appendix-porting.xml:
15680         * docs/pwg/pwg.xml:
15681           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15682         * docs/pwg/building-boiler.xml:
15683         * docs/pwg/building-chainfn.xml:
15684         * docs/pwg/building-pads.xml:
15685         * docs/pwg/building-props.xml:
15686         * docs/pwg/building-state.xml:
15687         * docs/pwg/building-testapp.xml:
15688           Update the building-*.xml parts for 0.9 changes. All examples
15689           code blocks compile in examples/pwg/*.
15690
15691 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15692
15693         * docs/manual/advanced-autoplugging.xml:
15694         * docs/manual/appendix-checklist.xml:
15695         * docs/manual/appendix-integration.xml:
15696         * docs/manual/highlevel-components.xml:
15697           Fix playbin/decodebin examples, update docs a bit, mention bus
15698           instead of signals in various places, mention kmplayer and
15699           kaffeine since they have a working GStreamer backend in the KDE
15700           section.
15701
15702 2005-06-30  Wim Taymans  <wim@fluendo.com>
15703
15704         * CHANGES-0.9:
15705         * docs/design/draft-ghostpads.txt:
15706         * docs/design/draft-push-pull.txt:
15707         * docs/design/draft-query.txt:
15708         * docs/design/part-TODO.txt:
15709         * docs/design/part-query.txt:
15710         Added CHANGES-0.9 doc, updated status of other docs.
15711         
15712         * gst/gstquery.h:
15713         Remove "hmm" macro
15714
15715 2005-06-30  Wim Taymans  <wim@fluendo.com>
15716
15717         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15718         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15719         (gst_base_sink_change_state):
15720         * gst/base/gstbasesink.h:
15721         Some tweaks, only EOS and a buffer complete a preroll.
15722
15723 2005-06-30  Andy Wingo  <wingo@pobox.com>
15724
15725         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15726         activate_push down to the internal pad as well.
15727
15728 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15729
15730         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15731
15732         * gst/gsttaginterface.c:
15733           Some documentation fixes (#307394 and #307397).
15734
15735 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15736
15737         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15738
15739         * gst/gstvalue.c: (gst_value_intersect_list):
15740           Fix memleak (#309125).
15741
15742 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15743
15744         * docs/manual/advanced-dataaccess.xml:
15745           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15746         * docs/manual/basics-pads.xml:
15747           Add reference for filtered caps to above chapter.
15748
15749 2005-06-30  Wim Taymans  <wim@fluendo.com>
15750
15751         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15752         (gst_bin_change_state):
15753         Probes are gone.
15754         Lame attempt at making the state change function a bit
15755         more readable.
15756
15757 2005-06-30  Wim Taymans  <wim@fluendo.com>
15758
15759         * docs/design/part-clocks.txt:
15760         * docs/design/part-element-sink.txt:
15761         * docs/design/part-events.txt:
15762         * docs/design/part-preroll.txt:
15763         * docs/design/part-states.txt:
15764         Some more tweeks and additions to the docs.
15765
15766 2005-06-30  Wim Taymans  <wim@fluendo.com>
15767
15768         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15769         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15770         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15771         (gst_pad_check_pull_range), (gst_pad_get_range),
15772         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15773         * gst/gstpad.h:
15774         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15775         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15776         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15777         (gst_pad_remove_buffer_probe):
15778         Removed atomic operations, use existing LOCK.
15779         Move exception handling out of main code path.
15780
15781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15782
15783         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15784         (silly_return_true_function), (gst_pad_class_init),
15785         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15786         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15787         (gst_pad_send_event):
15788           Fix accumulator, add default value by using _emitv() instead
15789           of _emit() for signal emission.
15790
15791 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15792
15793         * docs/manual/advanced-dataaccess.xml:
15794         * examples/manual/Makefile.am:
15795           Add probe example.
15796         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15797           Make work (??).
15798
15799 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15800
15801         * gst/elements/gstfilesink.c: (gst_filesink_render):
15802           Simplify code so that we don't have to handle short
15803           writes and return GST_FLOW_ERROR if an error occured.
15804
15805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15806
15807         * docs/gst/gstreamer-docs.sgml:
15808           Remove probes more.
15809
15810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15811
15812         * docs/gst/gstreamer-sections.txt:
15813         * docs/gst/tmpl/gstpad.sgml:
15814         * docs/gst/tmpl/gstprobe.sgml:
15815         * gst/Makefile.am:
15816         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15817         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15818         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15819         (gst_pad_push_event), (gst_pad_send_event):
15820         * gst/gstpad.h:
15821         * gst/gstutils.c: (gst_pad_add_data_probe),
15822         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15823         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15824         (gst_pad_remove_buffer_probe):
15825         * gst/gstutils.h:
15826           Remove old probes, add new g-signal-based probes and some utility
15827           functions.
15828
15829 2005-06-29  Edward Hervey  <edward@fluendo.com>
15830
15831         * gst/gstelementfactory.c:
15832         * gst/gstutils.h:
15833         * gst/gstutils.c:
15834         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15835         the definition to the header file.
15836
15837 2005-06-29  Andy Wingo  <wingo@pobox.com>
15838
15839         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15840         plugins from the source directory.
15841
15842 2005-06-29  Wim Taymans  <wim@fluendo.com>
15843
15844         * docs/gst/tmpl/gstbuffer.sgml:
15845         * docs/gst/tmpl/gstclock.sgml:
15846         Some fixings for blantently wrong text.
15847
15848 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15849
15850         * check/Makefile.am:
15851         * gst/gst.c: (add_path_func), (init_pre):
15852         * gst/gstregistry.c: (gst_registry_add_path):
15853           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15854           only scan the GST_PLUGIN_PATH locations, and not add
15855           system locations
15856
15857 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15858
15859         * docs/gst/gstreamer-sections.txt:
15860         * docs/gst/tmpl/gstbasesrc.sgml:
15861         * gst/gstelement.c:
15862         * gst/gstelement.h:
15863         * gst/gstevent.c:
15864         * gst/gstutils.c:
15865           doc fixes
15866
15867 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15868
15869         * docs/manual/advanced-autoplugging.xml:
15870           Fix autoplugging example.
15871
15872 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15873
15874         * docs/manual/advanced-autoplugging.xml:
15875         * docs/manual/mime-world.fig:
15876           Try to get autoplugging working, fix type detection. Fix text
15877           in hello-world image.
15878
15879 2005-06-29  Wim Taymans  <wim@fluendo.com>
15880
15881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15882         (gst_base_sink_change_state):
15883         Small debug line.
15884
15885         * gst/gstclock.h:
15886         map SIGNAL and BROADCAST to the right function.
15887
15888         * gst/gstobject.h:
15889         Remove redundant braces.
15890
15891         * gst/gstpad.c: (gst_pad_set_caps):
15892         Don't call setcaps function when reseting caps to NULL.
15893
15894         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15895         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15896         (gst_system_clock_id_unschedule):
15897         Use BROADCAST as this is what we do.
15898
15899 2005-06-29  Wim Taymans  <wim@fluendo.com>
15900
15901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15902         We are actually prerolling before commiting the state
15903         change. 
15904
15905 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15906
15907         * docs/manual/advanced-clocks.xml:
15908         * docs/manual/advanced-interfaces.xml:
15909         * docs/manual/advanced-metadata.xml:
15910         * docs/manual/advanced-position.xml:
15911         * docs/manual/advanced-schedulers.xml:
15912         * docs/manual/advanced-threads.xml:
15913         * docs/manual/appendix-porting.xml:
15914         * docs/manual/basics-bins.xml:
15915         * docs/manual/basics-bus.xml:
15916         * docs/manual/basics-elements.xml:
15917         * docs/manual/basics-helloworld.xml:
15918         * docs/manual/basics-pads.xml:
15919         * docs/manual/highlevel-components.xml:
15920         * docs/manual/manual.xml:
15921         * docs/manual/thread.fig:
15922           Update (until threads/scheduling) Application Development Manual;
15923           remove GstThread, add GstBus, add simple porting checklist, add
15924           documentation for tag writing, clocks, make all examples until this
15925           part compile and run.
15926         * examples/manual/Makefile.am:
15927           Update from changes to Application Development Manual; add bus
15928           example, remove thread example.
15929
15930 2005-06-28  Wim Taymans  <wim@fluendo.com>
15931
15932         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15933         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15934         (gst_bus_source_dispatch):
15935         Add debugging messages.
15936         Make internal methods static.
15937         Handle the case where the bus is flushed in the handler.
15938         
15939         * gst/gstelement.c: (gst_element_get_bus):
15940         Fix refcount in _get_bus();
15941
15942         * gst/gstpipeline.c: (gst_pipeline_change_state),
15943         (gst_pipeline_get_clock_func):
15944         Clock refcounting fixes.
15945         Handle the case where preroll timed out more gracefully.
15946         
15947         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15948         Clean up the internal thread in dispose. This is needed
15949         for subclasses that actually get disposed.
15950         
15951         * gst/schedulers/threadscheduler.c:
15952         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15953         (gst_thread_scheduler_dispose):
15954         Free thread pool in dispose.
15955
15956 2005-06-28  Andy Wingo  <wingo@pobox.com>
15957
15958         * tests/network-clock-utils.scm (debug, print-event): New utils.
15959
15960         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15961         (*packet-loss*): Unified loss probability.
15962         (network-time): Report out-of-band events.
15963
15964         * tests/plot-data: Add support for out-of-band events. Hack it
15965         into this script instead of passing it down the pipe; should fix
15966         this later.
15967
15968 2005-06-28  Wim Taymans  <wim@fluendo.com>
15969
15970         * docs/gst/gstreamer.types:
15971         * docs/gst/tmpl/gstbasesrc.sgml:
15972         * docs/gst/tmpl/gstpad.sgml:
15973         Docs fixes.
15974
15975 2005-06-28  Wim Taymans  <wim@fluendo.com>
15976
15977         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15978         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15979         (gst_proxy_pad_do_fixatecaps):
15980         Correctly proxy the check_pull_range function.
15981
15982 2005-06-28  Andy Wingo  <wingo@pobox.com>
15983
15984         * tests/network-clock.scm: Removed need for slib.
15985         
15986 2005-06-28  Wim Taymans  <wim@fluendo.com>
15987
15988         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15989         (gst_basesink_preroll_queue_flush):
15990         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15991         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15992         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15993         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15994         (gst_proxy_pad_set_property):
15995         * gst/gstpad.c:
15996         * gst/gstpad.h:
15997         * gst/gstqueue.c: (gst_queue_init):
15998         The deprecated pad loop function is removed now.
15999
16000 2005-06-28  Andy Wingo  <wingo@pobox.com>
16001
16002         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16003         New parameters, simulate network packet loss.
16004
16005         * tests/network-clock-utils.scm: Initialize the RNG.
16006
16007 2005-06-28  Wim Taymans  <wim@fluendo.com>
16008
16009         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16010         (gst_basesink_event), (gst_basesink_deactivate):
16011         Flushing the preroll queue always needs to unlock the waiters.
16012
16013 2005-06-28  Edward Hervey  <edward@fluendo.com>
16014
16015         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16016         Wheen a seek was successful on a pipeline, set the stream_time to the
16017         seek offset in order to have a synchronized stream_time.
16018
16019 2005-06-28  Wim Taymans  <wim@fluendo.com>
16020
16021         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16022         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16023         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16024         (gst_proxy_pad_do_fixatecaps):
16025         Call wrapper function instead of just calling the function
16026         pointers. This takes care of any locking and whatmore.
16027
16028 2005-06-28  Wim Taymans  <wim@fluendo.com>
16029
16030         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16031         (gst_pad_pull_range):
16032         * gst/gstpad.h:
16033         CONNECTED -> LINKED.
16034
16035 2005-06-28  Andy Wingo  <wingo@pobox.com>
16036
16037         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16038         source-munging commit!!!
16039
16040         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16041         (gst_object_sink): Take gpointer arguments, not GstObject --
16042         avoids casts. Like GLib.
16043
16044         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16045         activate.
16046
16047 2005-06-27  Andy Wingo  <wingo@pobox.com>
16048
16049         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16050         remaining buffer.
16051
16052         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16053         returns a sorted copy of the trace list.
16054         (gst_alloc_trace_print_live): New API, only prints traces with
16055         live objects. Sort the list.
16056         (gst_alloc_trace_print_all): Sort the list.
16057         (gst_alloc_trace_print): Align columns.
16058
16059         * gst/elements/gstttypefindelement.c:
16060         * gst/elements/gsttee.c:
16061         * gst/base/gstbasesrc.c:
16062         * gst/base/gstbasesink.c:
16063         * gst/base/gstbasetransform.c:
16064         * gst/gstqueue.c: Adapt for pad activation changes.
16065
16066         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16067         sched.
16068         (gst_pipeline_dispose): Drop ref on sched.
16069
16070         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16071         (gst_pad_activate_default): Push mode by default.
16072         (pre_activate_switch, post_activate_switch): New stubs, things to
16073         do before and after switching activation modes on pads.
16074         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16075         the pad's activate function to choose which mode to activate.
16076         Shortcut on deactivation and call the right function directly.
16077         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16078         mode.
16079         (gst_pad_activate_push): New API, same for push mode.
16080         (gst_pad_set_activate_function) 
16081         (gst_pad_set_activatepull_function) 
16082         (gst_pad_set_activatepush_function): Setters for new API.
16083
16084         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16085         Trace all miniobjects.
16086         (gst_mini_object_make_writable): Unref the arg if we copy, like
16087         gst_caps_make_writable.
16088
16089         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16090
16091         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16092         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16093         Adapt for new pad API.
16094
16095         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16096
16097         * gst/gstelement.h:
16098         * gst/gstelement.c (gst_element_iterate_src_pads) 
16099         (gst_element_iterate_sink_pads): New API functions.
16100         
16101         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16102         should fold into gstiterator.c in some form.
16103         (gst_element_pads_activate): Simplified via use of fold and
16104         delegation of decisions to gstpad->activate.
16105
16106         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16107         help in debugging.
16108
16109         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16110         class once in init, like gstmessage. Didn't run into this issue
16111         but it seems correct. Don't initialize a trace, gstminiobject does
16112         that.
16113
16114         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16115         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16116         to the bus.
16117         (assert_live_count): New util function, uses alloc traces to check
16118         cleanup.
16119
16120         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16121         To be modified when unlink drops the internal pad.
16122
16123 2005-06-27  Wim Taymans  <wim@fluendo.com>
16124
16125         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16126         (gst_bin_change_state):
16127         Cleanup the get_state() function a little, make sure it
16128         iterates the same set of elements.
16129         Added stub iterate_state_order().
16130
16131 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16132
16133         * docs/gst/gstreamer-docs.sgml:
16134         * docs/gst/gstreamer-sections.txt:
16135         * docs/gst/gstreamer.types:
16136         * docs/gst/tmpl/gstbasesink.sgml:
16137         * docs/gst/tmpl/gstbasesrc.sgml:
16138         * docs/gst/tmpl/gstbasetransform.sgml:
16139         * docs/gst/tmpl/gstelement.sgml:
16140         * docs/gst/tmpl/gstiterator.sgml:
16141         * gst/base/gstbasesrc.c:
16142         * gst/base/gstbasesrc.h:
16143         * gst/base/gstbasetransform.h:
16144         * gst/gstelement.c:
16145         * gst/gstiterator.h:
16146           adding basetransform and iterator docs
16147
16148 2005-06-27  Andy Wingo  <wingo@pobox.com>
16149
16150         * docs/design/part-activation.txt: Notes on how activation should
16151         work -- not quite implemented yet.
16152
16153 2005-06-25  Wim Taymans  <wim@fluendo.com>
16154
16155         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16156         At least get the chain function correct, needs more
16157         fixing.
16158
16159 2005-06-25  Wim Taymans  <wim@fluendo.com>
16160
16161         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16162         (gst_basesink_handle_object), (gst_basesink_event),
16163         (gst_basesink_do_sync), (gst_basesink_handle_event),
16164         (gst_basesink_change_state):
16165         * gst/gsttask.h:
16166         Right, two problems here: ghostpads don't take locks and
16167         glib _rec_mutex_lock_full() with depth==0 still locks.
16168         Catch illegal locking and g_warn them.
16169
16170 2005-06-25  Wim Taymans  <wim@fluendo.com>
16171
16172         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16173         Have to check for completion now...
16174
16175 2005-06-25  Wim Taymans  <wim@fluendo.com>
16176
16177         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16178         (gst_basesink_handle_object), (gst_basesink_event),
16179         (gst_basesink_do_sync), (gst_basesink_handle_event),
16180         (gst_basesink_change_state):
16181         * gst/gstpad.h:
16182         Unlock STREAM_LOCK whatever the recursion was.
16183
16184 2005-06-25  Wim Taymans  <wim@fluendo.com>
16185
16186         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16187         (gst_basesink_preroll_queue_empty),
16188         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16189         (gst_basesink_event), (gst_basesink_do_sync),
16190         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16191         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16192         (gst_basesink_change_state):
16193         Reworked the base sink, handle event and buffer serialisation
16194         correctly and removed possible deadlock.
16195         Handle EOS correctly.
16196
16197 2005-06-25  Wim Taymans  <wim@fluendo.com>
16198
16199         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16200         (gst_pipeline_change_state):
16201         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16202         Allow elements to post EOS in the state change function.
16203         Fix up -launch, make it exit the poll loop when the
16204         pipeline actually changed state.
16205         Fix up warning parsing in -launch.
16206
16207 2005-06-25  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16210         (gst_tee_sink_activate):
16211         Core takes STREAM_LOCK for us now.
16212
16213 2005-06-25  Wim Taymans  <wim@fluendo.com>
16214
16215         * gst/gstelement.c: (gst_element_get_state_func),
16216         (gst_element_set_state):
16217         * gst/gstelement.h:
16218         * gst/gstmessage.c: (gst_message_parse_error),
16219         (gst_message_parse_warning):
16220         Keep track of current target state while performing a state
16221         change so that subclasses can do something interesting.
16222         Fix parsing of warning/error messages when GError is NULL.
16223
16224 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16225
16226         * docs/gst/Makefile.am:
16227         * docs/gst/gstreamer-docs.sgml:
16228         * docs/gst/gstreamer-sections.txt:
16229         * docs/gst/gstreamer.types:
16230         * docs/gst/tmpl/gstbasesink.sgml:
16231         * docs/gst/tmpl/gstbasesrc.sgml:
16232         * docs/gst/tmpl/gstbin.sgml:
16233         * docs/gst/tmpl/gstcompat.sgml:
16234         * docs/gst/tmpl/gstfakesink.sgml:
16235         * docs/gst/tmpl/gstfakesrc.sgml:
16236         * docs/gst/tmpl/gstfilesink.sgml:
16237         * docs/gst/tmpl/gstfilesrc.sgml:
16238         * docs/gst/tmpl/gstindex.sgml:
16239         * docs/manual/appendix-quotes.xml:
16240         * gst/base/gstbasesrc.h:
16241         * gst/elements/gstfakesrc.h:
16242         * gst/gstmessage.h:
16243           start pulling in base classes and elements in our docs
16244
16245 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16246
16247         * docs/gst/Makefile.am:
16248         * docs/libs/Makefile.am:
16249           fixed make distcheck with gtk-doc 1.3
16250
16251 2005-06-23  Wim Taymans  <wim@fluendo.com>
16252
16253         * gst/gstelement.c: (gst_element_get_state_func),
16254         (gst_element_set_state), (gst_element_change_state):
16255         When the state did not change, also report NO_PREROLL
16256         when it matters.
16257
16258 2005-06-23  Wim Taymans  <wim@fluendo.com>
16259
16260         * gst/gstpad.c: (gst_pad_event_default):
16261         * gst/gstqueue.c: (gst_queue_loop):
16262         No unsafe task pausing please.
16263
16264 2005-06-23  Wim Taymans  <wim@fluendo.com>
16265
16266         * gst/schedulers/threadscheduler.c:
16267         (gst_thread_scheduler_task_start),
16268         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
16269         Ref the task before pushing it on the threadpool. This
16270         makes sure that we have a ref when the threadfunction is
16271         actually called.
16272
16273 2005-06-23  Andy Wingo  <wingo@pobox.com>
16274
16275         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
16276         offset is greater than the file's size.
16277
16278         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
16279         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
16280         * gst/gstobject.c (gst_object_class_init): Make the class lock
16281         recursive. Wim won't let me drop deep_notify. Decodebin works
16282         again, whoopdy doo.
16283
16284         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
16285         internal pad, and hacks accordingly. Doesn't do it on the target
16286         pad because we change its caps. Probably catches all cases of
16287         interest tho.
16288         (gst_ghost_pad_set_property): Connect to notify::caps as
16289         appropritate.
16290
16291         * tests/network-clock.scm (plot-simulation): Pipe data to the
16292         elite python skript.
16293
16294         * tests/network-clock-utils.scm (define-parameter): New macro,
16295         defines a parameter that can be set via the command line.
16296         (set-parameter!, parse-parameter-arguments): Command line args
16297         parser.
16298
16299         * tests/plot-data: Simple matplotlib-based plotter, takes input on
16300         stdin.
16301
16302 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
16303
16304         * gst/elements/gsttypefindelement.c:
16305         (gst_type_find_element_handle_event):
16306           Don't restart typefinding on a discont.
16307         * gst/gstelement.c: (gst_element_set_state):
16308           Debug spelling fix.
16309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16310           Allow changing mode of an active pad.
16311           Debug output fixes.
16312         * gst/registries/gstlibxmlregistry.c: (load_feature):
16313           Don't cast a static pad template to a normal pad template.
16314
16315 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16316
16317         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16318         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16319           remove gst_strtoll completely, since it didn't actually do
16320           anything more than what g_ascii_strtoull already does.
16321           check for range errors when deserializing
16322           do a cast for the unsigned cases; but further fixing needs
16323           a decision on what the interpretation of "(int)" and
16324           deserialization should be for values that fall outside the
16325           type's boundaries (ie, refuse, or interpret as casting)
16326
16327 2005-06-23  Wim Taymans  <wim@fluendo.com>
16328
16329         * check/Makefile.am:
16330         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16331         * docs/design/part-live-source.txt:
16332         * docs/design/part-states.txt:
16333         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16334         (gst_basesrc_set_live), (gst_basesrc_is_live),
16335         (gst_basesrc_get_range), (gst_basesrc_activate),
16336         (gst_basesrc_change_state):
16337         * gst/base/gstbasesrc.h:
16338         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16339         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16340         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16341         * gst/gstelement.c: (gst_element_get_state_func),
16342         (gst_element_set_state):
16343         * gst/gstelement.h:
16344         * gst/gsttypes.h:
16345         * tools/gst-launch.c: (event_loop), (main):
16346         Added support for live sources and other elements that
16347         cannot do preroll.
16348         Updated design docs, added live-source design doc.
16349         Implemented live source functionality in basesrc
16350         Fix error condition in _bin_get_state()
16351         Implement live source handling in -launch.
16352         Added check for live sources.
16353         Fixed case in GstBin where elements were changed state
16354         multiple times.
16355
16356
16357 2005-06-23  Andy Wingo  <wingo@pobox.com>
16358
16359         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16360         borken refcounting.
16361
16362         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16363         gst_caps_replace takes care of this for us.
16364
16365         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16366         gst_pad_set_caps on the target, not just its setcaps() function.
16367
16368         * tests/network-clock.scm: 
16369         * tests/network-clock-utils.scm: A network clock simulator.
16370         Something of an algorithmic testbed before doing something in C.
16371
16372 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16373
16374         * check/Makefile.am:
16375         * check/gst/capslist.h:
16376           copy over from 0.8, and add two with bitmasks specified with
16377           (int) 0xFF...
16378         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16379           add test to parse everything from capslist.h
16380         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16381         (main):
16382           add test for structure deserialization
16383         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16384           add tests for deserialization of strings to int types
16385         * gst/gststructure.c: (gst_structure_nth_field_name):
16386         * gst/gststructure.h:
16387           add a way to get the name of a field referenced by index
16388         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16389           instead of checking if the resulting long long lies between
16390           min and max, we check if the long long would fit into
16391           a number of bytes for the final type.
16392           This fixes cases where a string represents 2^32 - 1, which
16393           when cast to int would be the (valid) -1, but is bigger than
16394           G_MAXINT
16395
16396 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16397
16398         * gst/parse/grammar.y:
16399           add a log line for type deserialization
16400
16401 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16402
16403         * check/gst/gstvalue.c: (START_TEST):
16404         * gst/gstvalue.c: (gst_value_deserialize):
16405           return long long, not int, so gint64 deserialization actually
16406           works.  Is there any flag that makes the compiler check this ?
16407           Fixes #308559
16408
16409 2005-06-22  Wim Taymans  <wim@fluendo.com>
16410
16411         * gst/gstbuffer.h:
16412         Added convenience macros for setting buffers in GValue.
16413
16414 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16415
16416         * check/gst/.cvsignore:
16417         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16418           add a test deserializing int64, and comment part out because
16419           it fails, yay !
16420
16421 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16422
16423         * check/Makefile.am:
16424         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16425         * testsuite/Makefile.am:
16426         * testsuite/caps/Makefile.am:
16427         * testsuite/caps/value_serialize.c:
16428         * testsuite/test_gst_init.c:
16429           move a value_serialize test over
16430
16431 2005-06-20  Wim Taymans  <wim@fluendo.com>
16432
16433         * gst/gstpad.c:
16434         Small doc updates.
16435         
16436         * gst/gstvalue.c: (gst_value_compare_buffer),
16437         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16438         (gst_value_compare_flags), (gst_value_serialize_flags),
16439         (gst_value_deserialize_flags), (_gst_value_initialize):
16440         Fix serialisation of buffers, they are not boxed types anymore
16441
16442 2005-06-20  Wim Taymans  <wim@fluendo.com>
16443
16444         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16445         Testcase to show error in buffer-on-caps serialisation.
16446
16447 2005-06-20  Andy Wingo  <wingo@pobox.com>
16448
16449         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16450         will be adding to later.
16451
16452         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16453         if its socks fill with rocks.
16454         (gst_system_clock_obtain): Set the name on object construction.
16455         Avoid double-checked locking.
16456
16457 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16458
16459         * gst/gsturi.c: (gst_element_make_from_uri):
16460           Fix potential endless loop.
16461
16462 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16463
16464         * check/Makefile.am:
16465           add gsttag
16466         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16467         (main):
16468           move over from testsuite dir and clean up
16469         * configure.ac:
16470         * gst/gsttag.c:
16471         * testsuite/Makefile.am:
16472         * testsuite/tags/.cvsignore:
16473         * testsuite/tags/Makefile.am:
16474         * testsuite/tags/merge.c:
16475           remove testsuite/tags
16476
16477 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16478
16479         * docs/gst/gstreamer-sections.txt:
16480         * docs/gst/tmpl/gstenumtypes.sgml:
16481         * win32/gstenumtypes.c:
16482           clean up documentation build a little
16483
16484 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16485
16486         * check/gstcheck.h:
16487           add macros for checking refcounts on objects and caps
16488         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16489           add some more unit tests
16490         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16491         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16492           fix leaked refcounts (I hope :)) so unittest works
16493         * gst/gstpad.h:
16494           whitespace removal
16495
16496 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16497
16498         * configure.ac: back to HEAD
16499
16500 === release 0.9.1 ===
16501
16502 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16503
16504         * NEWS:
16505         * RELEASE:
16506           updated
16507
16508 2005-06-17  Andy Wingo  <wingo@pobox.com>
16509
16510         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16511         assert; it's always possible that the pad gets deactivated in
16512         between the checks in gstpad.c and the implementation. Rely on
16513         finish_preroll() to return a FLUSHING or similar instead of on the
16514         assert.
16515         
16516         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16517         clock and post an EOS message if we come out of finish_preroll in
16518         the playing state.
16519
16520 2005-06-16  David Schleef  <ds@schleef.org>
16521
16522         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16523         (gst_capsfilter_set_property): Allow NULL as possible value
16524         for filter_caps property, indicating GST_CAPS_ANY.
16525
16526 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16527
16528         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16529           fix debug output
16530         * gst/schedulers/Makefile.am:
16531           use libgst prefix
16532         * gstreamer.spec.in:
16533           fix spec for it
16534
16535 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16536
16537         * gstreamer.spec.in:
16538           clean up
16539
16540 2005-06-08  Andy Wingo  <wingo@pobox.com>
16541
16542         * gst/gstutils.c: RPAD fixes all around.
16543         (gst_element_link_pads): Refcounting fixes.
16544
16545         * tools/gst-inspect.c:
16546         * tools/gst-xmlinspect.c:
16547         * parse/grammar.y:
16548         * gst/base/gsttypefindhelper.c:
16549         * gst/base/gstbasesink.c:
16550         * gst/gstqueue.c: RPAD fixes.
16551
16552         * gst/gstghostpad.h:
16553         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16554         pads. The tricky thing is they provide both source and sink
16555         interfaces, since they proxy the internal pad for the external
16556         pad, and vice versa. Implement with lower-level ProxyPad objects,
16557         with the interior proxy pad as a child of the exterior ghost pad.
16558         Should write a doc on this.
16559         
16560         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16561         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16562         gst_object API.
16563         
16564         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16565         pads are real pads. No ghost pads in this file. Not documenting
16566         the myriad s/RPAD/PAD/ and REALIZE fixes.
16567         (gst_pad_class_init): Add properties for "direction" and
16568         "template". Both are construct-only, so they can't change during
16569         the life of the pad. Fixes properly deriving from GstPad.
16570         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16571         derived objects, just set properties when creating the objects via
16572         g_object_new.
16573         (gst_pad_get_parent): Implement as a function, return NULL if the
16574         parent is not an element.
16575         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16576         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16577         
16578         * gst/gstobject.c (gst_object_class_init): Make name a construct
16579         property. Don't set it in the object init.
16580
16581         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16582         with UNKNOWN direction.
16583         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16584         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16585         (gst_element_remove_pad): Remove ghost-pad special cases.
16586         (gst_element_pads_activate): Remove rpad cruft.
16587
16588         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16589         catch the pad's-parent-not-an-element case.
16590
16591         * gst/gst.h: Include gstghostpad.h.
16592
16593         * gst/gst.c (init_post): No more real, ghost pads.
16594
16595         * gst/Makefile.am: Add gstghostpad.[ch].
16596
16597         * check/Makefile.am:
16598         * check/gst/gstbin.c:
16599         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16600         into a bin creates ghost pads, and that the refcounts are right.
16601         Partly moved from gstbin.c.
16602
16603 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16604
16605         * check/gst-libs/.cvsignore:
16606         * check/gst/.cvsignore:
16607         * check/pipelines/.cvsignore:
16608           ignore more
16609         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16610         (START_TEST), (cleanup_suite), (main):
16611           add some tests related to cleanup after running pipelines
16612
16613 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16614
16615         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16616           add a testsuite for GstBuffer
16617
16618 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16619
16620         * gst/gstminiobject.h:
16621           add defines for accessing the refcount
16622
16623 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16624
16625         * Makefile.am: added support for html unit test coverage reports
16626
16627 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16628
16629         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16630           Free existing caps if the capsfilter changes. Add a FIXME about
16631           setting those caps on the pads.
16632
16633         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16634           Before adding a ghost pad to a parent bin, check that there isn't
16635           already one for the element on the bin. Prevents infinite recursion
16636           when using decodebin in parse pipelines. Andy says he'll rewrite the
16637           way this works anyway, so ignore the hack.
16638
16639 2005-06-02  Andy Wingo  <wingo@pobox.com>
16640
16641         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16642         file size, pass it on to the type find helper.
16643
16644         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16645         segment_start and segment_end properly according to the seek
16646         method. Segment_end is still a bit flaky because offset can be
16647         negative for CUR and END cases, but it takes -1 as an "unset"
16648         value.
16649
16650 2005-06-02  Wim Taymans  <wim@fluendo.com>
16651
16652         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16653         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16654         (gst_basesink_activate):
16655         * gst/base/gstbasesink.h:
16656         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16657         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16658         (gst_pad_query), (gst_pad_start_task):
16659         * gst/gstpad.h:
16660         * gst/gstqueue.c: (gst_queue_bufferalloc),
16661         (gst_queue_handle_sink_event), (gst_queue_chain):
16662         Bufferalloc: return GstFlowReturn to more accuratly report
16663         why allocation failed.
16664
16665 2005-06-02  Wim Taymans  <wim@fluendo.com>
16666
16667         * gst/gstpipeline.c: (gst_pipeline_send_event):
16668         Take snapshot of state without blocking.
16669
16670 2005-06-02  Wim Taymans  <wim@fluendo.com>
16671
16672         * docs/design/part-TODO.txt:
16673         * docs/design/part-caps.txt:
16674         * docs/design/part-clocks.txt:
16675         * docs/design/part-negotiation.txt:
16676         * docs/design/part-preroll.txt:
16677         Small doc updates 
16678
16679 2005-05-30  Wim Taymans  <wim@fluendo.com>
16680
16681         * gst/elements/gstidentity.c: (gst_identity_event),
16682         (gst_identity_transform), (gst_identity_get_property):
16683         Protect last_message property as it is accessed from
16684         multiple threads.
16685
16686 2005-05-30  Wim Taymans  <wim@fluendo.com>
16687
16688         * gst/gstelement.c: (gst_element_init),
16689         (gst_element_pads_activate), (gst_element_change_state):
16690         Slicker pad activation code.
16691
16692 2005-05-30  Wim Taymans  <wim@fluendo.com>
16693
16694         * gst/Makefile.am:
16695         * gst/gstelement.h:
16696         * gst/gstelementfactory.h:
16697         * gst/gsttypes.h:
16698         Move elementfactory methods to separate .h file.
16699
16700 2005-05-30  Wim Taymans  <wim@fluendo.com>
16701
16702         * docs/design/part-overview.txt:
16703         * gst/gstsystemclock.h:
16704         Small typo fixes, doc updates.
16705
16706 2005-05-30  Wim Taymans  <wim@fluendo.com>
16707
16708         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16709         (init_popt_callback):
16710         Remove cpu-opt flag.
16711
16712 2005-05-30  Wim Taymans  <wim@fluendo.com>
16713
16714         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16715         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16716         * gst/gstbuffer.h:
16717         Avoid typechecking in places where not needed.
16718         Added accessor for malloc_data.
16719
16720 2005-05-30  Wim Taymans  <wim@fluendo.com>
16721
16722         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16723         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16724         (gst_pad_configure_sink), (gst_pad_configure_src),
16725         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16726         (gst_pad_start_task):
16727         Propagate errors from _set_caps() in configure_src/sink
16728         functions instead of returning TRUE.
16729         FLUSH events can travel up and downstream
16730
16731
16732 2005-05-30  Wim Taymans  <wim@fluendo.com>
16733
16734         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16735         (gst_basesink_activate):
16736         Handle EOS in preroll.
16737
16738 2005-05-30  Wim Taymans  <wim@fluendo.com>
16739
16740         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16741         (gst_queue_loop), (gst_queue_handle_src_event):
16742         Remove old pieces of code
16743         Flushing the queue in an upstream event is a very bad idea.
16744
16745 2005-05-26  Andy Wingo  <wingo@pobox.com>
16746
16747         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16748         gst_value_set_mini_object so as to add a ref on the object (which
16749         will be removed when the value is unset).
16750
16751         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16752         arg type in ::handoff.
16753
16754         * gst/gstelement.c (gst_element_change_state): Also deactivate
16755         pads in READY->NULL, just in case the element didn't make it to
16756         PAUSED. Wingo tested, Wim approved.
16757
16758 2005-05-26  Wim Taymans  <wim@fluendo.com>
16759
16760         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16761         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16762         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16763         A flushing pad cannot be used to alloc_buffer from.
16764
16765 2005-05-26  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16768         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16769         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16770         (gst_bus_create_watch), (gst_bus_add_watch_full):
16771         * gst/gstbus.h:
16772         Implement a real GSource and use g_main_context_wakeup() to
16773         signal new messages instead of the socketpair.
16774
16775 2005-05-25  Wim Taymans  <wim@fluendo.com>
16776
16777         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16778         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16780         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16781         (gst_pad_send_event), (gst_pad_start_task):
16782         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16783         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16784         (gst_queue_sink_activate), (gst_queue_src_activate),
16785         (gst_queue_change_state):
16786         * gst/gstqueue.h:
16787         Fix state changes for non sinks. We now change sinks, then elements
16788         with unconnected srcpads, then the rest.
16789         More efficient queue unlocking in flush and state changes.
16790         Set the pad activate mode even if it does not have an activate
16791         function.
16792
16793 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16794
16795         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16796           Don't go in pull mode for non-seekable sources.
16797         * gst/elements/gsttypefindelement.h:
16798         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16799         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16800         (free_entry), (stop_typefinding),
16801         (gst_type_find_element_handle_event), (find_peek),
16802         (gst_type_find_element_chain), (do_pull_typefind),
16803         (gst_type_find_element_change_state):
16804           Allow typefinding (w/o seeking) in push-mode, simplified version
16805           of what was in 0.8.
16806         * gst/gstutils.c: (gst_buffer_join):
16807         * gst/gstutils.h:
16808           gst_buffer_join() from 0.8.
16809
16810 2005-05-25  Wim Taymans  <wim@fluendo.com>
16811
16812         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16813         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16814         (gst_pad_send_event), (gst_pad_start_task):
16815         Disable attempt at mode switching until it is figured out.
16816
16817 2005-05-25  Wim Taymans  <wim@fluendo.com>
16818
16819         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16820         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16821         (gst_basesink_finish_preroll), (gst_basesink_chain),
16822         (gst_basesink_loop), (gst_basesink_activate),
16823         (gst_basesink_change_state):
16824         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16825         (gst_basesrc_get_range), (gst_basesrc_loop),
16826         (gst_basesrc_activate):
16827         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16828         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16829         (gst_real_pad_init), (gst_real_pad_set_property),
16830         (gst_real_pad_get_property), (gst_pad_set_active),
16831         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16832         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16833         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16834         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16835         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16836         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16837         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16838         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16839         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16840         (gst_pad_stop_task):
16841         * gst/gstpad.h:
16842         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16843         (gst_queue_loop), (gst_queue_src_activate):
16844         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16845         (gst_task_get_state):
16846         * gst/gsttask.h:
16847         * gst/schedulers/threadscheduler.c:
16848         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16849         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16850         in task function.
16851         Remove ACTIVE pad flag, use FLUSHING everywhere
16852         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16853         functions.
16854         Add locks around IS_FLUSHING when reading.
16855         Take STREAM lock in chain(), get_range() functions so plugins
16856         don't need to take it anymore.
16857         
16858
16859
16860 2005-05-25  Wim Taymans  <wim@fluendo.com>
16861
16862         * tools/gst-launch.c: (event_loop):
16863         Unref message after using its contents instead of
16864         before.
16865
16866 2005-05-24  Wim Taymans  <wim@fluendo.com>
16867
16868         * docs/design/draft-ghostpads.txt:
16869         * docs/design/draft-push-pull.txt:
16870         * docs/design/draft-query.txt:
16871         * docs/design/part-overview.txt:
16872         Docs updates, added general overview doc.
16873
16874 2005-05-21  David Schleef  <ds@schleef.org>
16875
16876         * docs/gst/tmpl/old/GstBin.sgml:
16877         * docs/gst/tmpl/old/GstBuffer.sgml:
16878         * docs/gst/tmpl/old/GstCaps.sgml:
16879         * docs/gst/tmpl/old/GstClock.sgml:
16880         * docs/gst/tmpl/old/GstCompat.sgml:
16881         * docs/gst/tmpl/old/GstData.sgml:
16882         * docs/gst/tmpl/old/GstElement.sgml:
16883         * docs/gst/tmpl/old/GstEvent.sgml:
16884         * docs/gst/tmpl/old/GstIndex.sgml:
16885         * docs/gst/tmpl/old/GstStructure.sgml:
16886         * docs/gst/tmpl/old/GstTag.sgml:
16887         * docs/gst/tmpl/old/cothreads.sgml:
16888         * docs/gst/tmpl/old/cothreads_compat.sgml:
16889         * docs/gst/tmpl/old/gettext.sgml:
16890         * docs/gst/tmpl/old/gobject2gtk.sgml:
16891         * docs/gst/tmpl/old/grammar.tab.sgml:
16892         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16893         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16894         * docs/gst/tmpl/old/gst_private.sgml:
16895         * docs/gst/tmpl/old/gstaggregator.sgml:
16896         * docs/gst/tmpl/old/gstarch.sgml:
16897         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16898         * docs/gst/tmpl/old/gstbufferstore.sgml:
16899         * docs/gst/tmpl/old/gstdata_private.sgml:
16900         * docs/gst/tmpl/old/gstdisksink.sgml:
16901         * docs/gst/tmpl/old/gstdisksrc.sgml:
16902         * docs/gst/tmpl/old/gstelementfactory.sgml:
16903         * docs/gst/tmpl/old/gstextratypes.sgml:
16904         * docs/gst/tmpl/old/gstfakesink.sgml:
16905         * docs/gst/tmpl/old/gstfakesrc.sgml:
16906         * docs/gst/tmpl/old/gstfdsink.sgml:
16907         * docs/gst/tmpl/old/gstfdsrc.sgml:
16908         * docs/gst/tmpl/old/gstfilesink.sgml:
16909         * docs/gst/tmpl/old/gstfilesrc.sgml:
16910         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16911         * docs/gst/tmpl/old/gstidentity.sgml:
16912         * docs/gst/tmpl/old/gstindexfactory.sgml:
16913         * docs/gst/tmpl/old/gstmarshal.sgml:
16914         * docs/gst/tmpl/old/gstmd5sink.sgml:
16915         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16916         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16917         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16918         * docs/gst/tmpl/old/gstpipefilter.sgml:
16919         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16920         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16921         * docs/gst/tmpl/old/gstshaper.sgml:
16922         * docs/gst/tmpl/old/gstspider.sgml:
16923         * docs/gst/tmpl/old/gstspideridentity.sgml:
16924         * docs/gst/tmpl/old/gststatistics.sgml:
16925         * docs/gst/tmpl/old/gsttee.sgml:
16926         * docs/gst/tmpl/old/gsttimecache.sgml:
16927         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16928         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16929         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16930         * docs/gst/tmpl/old/types.sgml:
16931           I didn't intend to add these or check them in.
16932
16933 2005-05-19  David Schleef  <ds@schleef.org>
16934
16935         * configure.ac: Use -no-common everywhere.  In a sane world, it
16936           would be the default in libtool, because without it, you can't
16937           build DLLs on Windows.
16938         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16939         * docs/gst/gstreamer-sections.txt:
16940         * docs/gst/tmpl/gstcpu.sgml:
16941         * docs/gst/tmpl/gstdata.sgml:
16942         * docs/gst/tmpl/gstthread.sgml:
16943
16944 2005-05-19  David Schleef  <ds@schleef.org>
16945
16946         * gst/gstminiobject.c: (gst_value_set_mini_object),
16947         (gst_value_take_mini_object), (gst_value_get_mini_object):
16948         * gst/gstminiobject.h: Add GValue set/get functions.
16949
16950 2005-05-19  Wim Taymans  <wim@fluendo.com>
16951
16952         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16953         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16954         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16955         * gst/gstbuffer.h:
16956         * gst/gstbus.c: (gst_bus_post):
16957         * gst/gstelement.c: (gst_element_get_random_pad):
16958         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16959         Make subbufer unref the parent in finalize.
16960         some more debugging info.
16961
16962
16963 2005-05-19  Wim Taymans  <wim@fluendo.com>
16964
16965         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16966         (gst_basesink_init), (gst_basesink_finalize),
16967         (gst_basesink_activate), (gst_basesink_change_state):
16968         Don't free preroll queue too early.
16969
16970 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16971
16972         * gst/Makefile.am:
16973         * gst/ROADMAP:
16974           Hi, I'm outdated. Please shoot me.
16975
16976 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16977
16978         * gst/gstpipeline.c: (gst_pipeline_send_event):
16979           Do not access variables after they have been deleted.
16980
16981 2005-05-19  Wim Taymans  <wim@fluendo.com>
16982
16983         * tools/gst-inspect.c: (print_plugin_features):
16984         A plugin feature does unfortunatly not use the
16985         object name yet...
16986
16987 2005-05-18  Wim Taymans  <wim@fluendo.com>
16988
16989         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16990         Port _span() functions to new subbuffers.
16991
16992 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16993
16994         * gst/gstbin.c: (gst_bin_add_func):
16995           Fix clock settery in bins when adding kids after the clock has
16996           been selected.
16997
16998 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16999
17000         * gst/elements/gstidentity.c: (gst_identity_class_init):
17001           Workaround until signals support GstMiniObject.
17002
17003 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17004
17005         * gst/gstbuffer.c:
17006         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17007
17008 2005-05-18  Wim Taymans  <wim@fluendo.com>
17009
17010         * gst/base/Makefile.am:
17011         * gst/base/gstadapter.c: (gst_adapter_base_init),
17012         (gst_adapter_class_init), (gst_adapter_init),
17013         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17014         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17015         (gst_adapter_flush), (gst_adapter_available),
17016         (gst_adapter_available_fast):
17017         * gst/base/gstadapter.h:
17018         Ported and added adapter to the base classes.
17019
17020 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17021
17022         * gst/gst.c:
17023         * gst/gstmessage.c:
17024           Make sure the class is reffed/unreffed once before threads can be
17025           used.  Fixes #304551.
17026
17027 2005-05-17  Wim Taymans  <wim@fluendo.com>
17028
17029         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17030         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17031         * gst/gstminiobject.c: (gst_mini_object_get_type),
17032         (gst_mini_object_free):
17033         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17034         (gst_pad_push), (gst_pad_push_event):
17035         * gst/gstqueue.c: (gst_queue_change_state):
17036         Don't queue buffers in basesink when we are flushing.
17037         Unref buffer when flushing in basesink.
17038         Flush queue when going to READY
17039         Unref buffer when _push() returns an error.
17040         Don't free MiniObject instance when refcount is incremented
17041         in _finalize() so that we can recover objects.
17042
17043 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17044
17045         * docs/manual/advanced-schedulers.xml:
17046         * docs/manual/appendix-checklist.xml:
17047         * docs/pwg/advanced-clock.xml:
17048         * docs/pwg/advanced-interfaces.xml:
17049         * docs/pwg/advanced-request.xml:
17050         * docs/pwg/advanced-types.xml:
17051         * docs/pwg/intro-preface.xml:
17052         * examples/plugins/example.c: (gst_example_get_type),
17053         (gst_example_class_init), (gst_example_chain),
17054         (gst_example_set_property), (gst_example_get_property),
17055         (gst_example_change_state), (plugin_init):
17056         * examples/plugins/example.h:
17057           small doc fixes
17058
17059 2005-05-17  Wim Taymans  <wim@fluendo.com>
17060
17061         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17062         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17063         * gst/gstqueue.c: (gst_queue_change_state):
17064         Clear queue when going to READY.
17065         Remove IN_SETCAPS flag too.
17066
17067 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17068
17069         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17070           Remove implicit cast from gboolean to GstElementStateReturn;
17071           make sure we still return failure in paused => ready case if
17072           the parent class fails to change state and our own stop 
17073           vfunc succeeds.
17074
17075 2005-05-17  Wim Taymans  <wim@fluendo.com>
17076
17077         * tools/gst-launch.c: (event_loop):
17078         Message was unreffed too soon.
17079
17080 2005-05-16  Andy Wingo  <wingo@pobox.com>
17081
17082         * gst/gstbin.c (sink_iterator_filter): Err... um...
17083
17084         * check/gst/gstbin.c (test_ghost_pads): New test for the
17085         ghosting-if-elements-not-in-same-bin behavior.
17086
17087 2005-05-16  David Schleef  <ds@schleef.org>
17088
17089         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17090         accessing refcount directly.
17091
17092 2005-05-15  David Schleef  <ds@schleef.org>
17093
17094         * check/Makefile.am: remove GstData checks
17095         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17096         * gst/Makefile.am: add miniobject, remove data
17097         * gst/gst.h: add miniobject, remove data
17098         * gst/gstdata.c: remove
17099         * gst/gstdata.h: remove
17100         * gst/gstdata_private.h: remove
17101         * gst/gsttypes.h: remove GstEvent and GstMessage
17102         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17103         * gst/gstmarshal.list: change BOXED -> OBJECT
17104
17105         Implement GstMiniObject.
17106         * gst/gstminiobject.c:
17107         * gst/gstminiobject.h:
17108
17109         Modify to be subclasses of GstMiniObject.
17110         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17111         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17112         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17113         (gst_subbuffer_get_type), (gst_subbuffer_init),
17114         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17115         (gst_buffer_span):
17116         * gst/gstbuffer.h:
17117         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17118         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17119         (_gst_event_copy), (gst_event_new):
17120         * gst/gstevent.h:
17121         * gst/gstmessage.c: (_gst_message_initialize),
17122         (gst_message_get_type), (gst_message_class_init),
17123         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17124         (gst_message_new), (gst_message_new_error),
17125         (gst_message_new_warning), (gst_message_new_tag),
17126         (gst_message_new_state_changed), (gst_message_new_application):
17127         * gst/gstmessage.h:
17128         * gst/gstprobe.c: (gst_probe_perform),
17129         (gst_probe_dispatcher_dispatch):
17130         * gst/gstprobe.h:
17131         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17132         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17133         (_gst_query_copy), (gst_query_new):
17134
17135         Update elements for GstData -> GstMiniObject changes
17136         * gst/gstquery.h:
17137         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17138         (gst_queue_chain), (gst_queue_loop):
17139         * gst/elements/gstbufferstore.c:
17140         (gst_buffer_store_add_buffer_func),
17141         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17143         (gst_fakesink_render):
17144         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17145         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17146         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17147         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17148         (gst_filesrc_create_read):
17149         * gst/elements/gstidentity.c: (gst_identity_class_init):
17150         * gst/elements/gsttypefindelement.c:
17151         (gst_type_find_element_src_event), (free_entry_buffers),
17152         (gst_type_find_element_handle_event):
17153         * libs/gst/dataprotocol/dataprotocol.c:
17154         (gst_dp_header_from_buffer):
17155         * libs/gst/dataprotocol/dataprotocol.h:
17156         * libs/gst/dataprotocol/dp-private.h:
17157
17158 2005-05-15  David Schleef  <ds@schleef.org>
17159
17160         * gst/elements/gstelements.c: Don't include headers that were
17161         just removed.
17162
17163 2005-05-15  David Schleef  <ds@schleef.org>
17164
17165         * gst/elements/Makefile.am: Remove some elements that don't
17166         need to be in the core (or even exist at all).
17167         * gst/elements/gstaggregator.c:
17168         * gst/elements/gstaggregator.h:
17169         * gst/elements/gstmd5sink.c:
17170         * gst/elements/gstmd5sink.h:
17171         * gst/elements/gstmultifilesrc.c:
17172         * gst/elements/gstmultifilesrc.h:
17173         * gst/elements/gstpipefilter.c:
17174         * gst/elements/gstpipefilter.h:
17175         * gst/elements/gstshaper.c:
17176         * gst/elements/gstshaper.h:
17177         * gst/elements/gststatistics.c:
17178         * gst/elements/gststatistics.h:
17179         * po/POTFILES.in: Remove above files.
17180
17181 2005-05-14  Andy Wingo  <wingo@pobox.com>
17182
17183         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17184         so as to get the refs right.
17185         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17186         unreffing objects that don't pass the filter.
17187
17188         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17189         gst_element_set_bus.
17190         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17191         normal cases, this will destroy the bus.
17192
17193         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17194         object.
17195
17196         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17197         has no sinks.
17198
17199 2005-05-13  Andy Wingo  <wingo@pobox.com>
17200
17201         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17202         gst_pad_link, call pad_link_maybe_ghosting,
17203         (pad_link_maybe_ghosting): Links pads, making sure that the
17204         elements being linked are in the same bin.
17205         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17206         Helpers for pad_link_maybe_ghosting.
17207
17208 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17209
17210         * configure.ac:
17211           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17212
17213 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17214
17215         * docs/design/part-element-source.txt:
17216           Mention GstPushSrc
17217
17218 2005-05-12  Wim Taymans  <wim@fluendo.com>
17219
17220         * gst/base/gstbasesink.c: (gst_basesink_init),
17221         (gst_basesink_activate):
17222         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17223         (gst_basesrc_is_seekable):
17224         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17225         (bin_element_is_sink), (gst_bin_change_state):
17226         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17227         * gst/gstelement.h:
17228         Identify sinks by their flag to avoid overly complicated
17229         checks (fow now).
17230         Do state changes even for elements not reachable from the
17231         sinks.
17232         BaseSink is a sink now :)
17233         Some more debugging info in the basesrc.
17234
17235
17236 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17237
17238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17239           Implement _query on a bin, similar to _send_event.
17240
17241 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17242
17243         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17244           Discont event offset format should be GST_FORMAT_BYTES,
17245           not GST_FORMAT_TIME.
17246
17247 2005-05-12  Wim Taymans  <wim@fluendo.com>
17248
17249         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17250         Same fix as Ronald's but without the signal. 
17251
17252 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17253
17254         * gst/gstutils.c: (gst_element_query_position):
17255           No, an element is not a pad.
17256
17257 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17258
17259         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
17260         (gst_bin_get_state):
17261           If a child is removed from a bin while we remove the child from
17262           the bin and while we're retrieving its state, signal this to the
17263           get_state function so we abort the wait (instead of waiting for
17264           a timeout) and can immediately re-iterate over all other elements.
17265
17266 2005-05-12  Wim Taymans  <wim@fluendo.com>
17267
17268         * gst/base/Makefile.am:
17269         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
17270         (gst_basesrc_start):
17271         * gst/base/gstbasesrc.h:
17272         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
17273         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
17274         (gst_pushsrc_init), (gst_pushsrc_create):
17275         * gst/base/gstpushsrc.h:
17276         Added is_seekable to BaseSrc
17277         Added simple PushSrc.
17278
17279 2005-05-11  Wim Taymans  <wim@fluendo.com>
17280
17281         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17282         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17283         (gst_element_link_pads), (gst_element_query_position),
17284         (gst_element_query_convert), (intersect_caps_func),
17285         (gst_pad_query_position), (gst_pad_query_convert):
17286         Fix refcounting in utils function.
17287         No point in trying to activate a pad when it's added, it could
17288         be added from the state change function and then we deadlock, the
17289         element has to decide what to do.
17290
17291 2005-05-10  Andy Wingo  <wingo@pobox.com>
17292
17293         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
17294         *all* the arguments.
17295
17296         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
17297         stream lock if it's a FLUSH_DONE; normal flushes don't get the
17298         lock (according to the docs -- if this is wrong change the docs).
17299
17300         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
17301         flush messages in the NULL state.
17302
17303         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
17304         message immediately and return.
17305         (gst_bus_set_flushing): New function. If a bus is flushing, it
17306         flushes out any queued messages and immediately unrefs new
17307         messages. This is so when an element goes to NULL, all of the
17308         unhandled messages coming from it can be freed, and their
17309         references to the element dropped. In other words: message source
17310         ref considered harmful :P
17311
17312         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17313         we're finished with it.
17314
17315         * gst/gstmessage.c (gst_message_new_state_changed): 
17316
17317 2005-05-10  Wim Taymans  <wim@fluendo.com>
17318
17319         * gst/gstvalue.c: (gst_value_compare_flags),
17320         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17321         (_gst_value_initialize):
17322         Added flags serialize/deserialize/compare code.
17323
17324 2005-05-09  Andy Wingo  <wingo@pobox.com>
17325
17326         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17327         Intersect the peer's caps with our caps.
17328
17329 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17330
17331         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17332         * gst/elements/gsttypefindelement.c: (find_peek):
17333           Handle negative offsets better. Fixes decodebin.
17334
17335 2005-05-09  Wim Taymans  <wim@fluendo.com>
17336
17337         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17338         (gst_base_transform_event):
17339         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17340         Implement accept_caps.
17341         Fix silly lock/unlock mismatch in base class.
17342
17343 2005-05-09  Wim Taymans  <wim@fluendo.com>
17344
17345         * docs/design/draft-push-pull.txt:
17346         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17347         * gst/elements/gstfilesink.c: (gst_filesink_init),
17348         (gst_filesink_query):
17349         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17350         (gst_type_find_handle_src_query), (find_element_get_length):
17351         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17352         * gst/gstelement.h:
17353         * gst/gstmessage.c:
17354         * gst/gstmessage.h:
17355         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17356         (gst_real_pad_get_caps_unlocked),
17357         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17358         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17359         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17360         (gst_real_pad_dispose), (gst_real_pad_finalize),
17361         (gst_pad_load_and_link), (gst_pad_save_thyself),
17362         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17363         (gst_pad_check_pull_range), (gst_pad_pull_range),
17364         (gst_pad_template_get_type), (gst_pad_template_class_init),
17365         (gst_pad_template_init), (gst_pad_template_dispose),
17366         (name_is_valid), (gst_static_pad_template_get),
17367         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17368         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17369         (gst_pad_get_element_private), (gst_pad_start_task),
17370         (gst_pad_pause_task), (gst_pad_stop_task),
17371         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17372         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17373         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17374         (gst_ghost_pad_new):
17375         * gst/gstpad.h:
17376         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17377         (gst_query_new_position), (gst_query_set_position),
17378         (gst_query_parse_position), (gst_query_new_convert),
17379         (gst_query_set_convert), (gst_query_parse_convert):
17380         * gst/gstquery.h:
17381         * gst/gstqueryutils.c:
17382         * gst/gstqueryutils.h:
17383         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17384         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17385         (gst_queue_handle_src_query):
17386         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17387         (gst_element_query_position), (gst_element_query_convert),
17388         (intersect_caps_func), (gst_pad_query_position),
17389         (gst_pad_query_convert):
17390         * gst/gstutils.h:
17391         * tools/gst-inspect.c: (print_pad_info):
17392         * tools/gst-xmlinspect.c: (print_element_info):
17393         Remove old query functions. Ported old code.
17394         Added position/convert helper functions to gstutils.
17395         Reordered gstpad.c code, grouping relevant things.
17396         Remove gst_message_new(), always need to speficy a specific
17397         message.
17398
17399
17400 2005-05-09  Andy Wingo  <wingo@pobox.com>
17401
17402         * gst/gstiterator.h: Add some includes.
17403
17404         * gst/gstqueryutils.h: Include more headers.
17405
17406         * gst/gstpad.h:
17407         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17408         some uses of gst_pad_query.
17409
17410         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17411         NULL out parameters.
17412         (gst_query_new_position): New proc, allocates a new position
17413         query.
17414
17415         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17416         gstqueryutils.c to the build.
17417
17418         * gst/gststructure.c (gst_structure_set_valist): Implement with
17419         the generic G_VALUE_COLLECT.
17420         
17421 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17422
17423         * gst/Makefile.am: (gst_headers):
17424         Added gstqueryutils.h to the list of headers to install, that was
17425         a 'nachty' move wingo :)
17426
17427 2005-05-06  Andy Wingo  <wingo@pobox.com>
17428
17429         * gst/gstquery.h
17430         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17431         GstData, init a memchunk.
17432         (standard_definitions): Add a few query types, deprecate a few.
17433         (gst_query_get_type): New proc.
17434         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17435         implementation.
17436         (gst_query_new_application, gst_query_get_structure): New public
17437         procs.
17438
17439         * docs/design/draft-query.txt: Removed LINKS from the query types,
17440         because all the rest can be dispatched to other pads -- seemed
17441         ugly to have a query that couldn't be dispatched. internal_links
17442         is fine as a pad method.
17443
17444         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17445         in gstpad.c, but maintain binary compatibility for the moment.
17446         Will fix before 0.9 is out.
17447
17448         * gst/gstqueryutils.c: 
17449         * gst/gstqueryutils.h: New files, implement 3 methods for each
17450         query type: parse_query, parse_response, and set. Probably need an
17451         allocator as well.
17452
17453         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17454
17455         * gst/elements/gstfilesink.c (gst_filesink_query2):
17456         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17457         query_types, and formats methods.
17458
17459         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17460         (gst_pad_set_query2_function): New functions.
17461         (gst_real_pad_init): Set query2_default as the default query2
17462         function. Basically just dispatches to internally linked pads.
17463
17464         Needs review!
17465         
17466         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17467         without using the atomic operations. Only one thread can possibly
17468         be accessing the data at this point. Changed so as to avoid
17469         gst_atomic operations.
17470
17471 2005-05-06  Wim Taymans  <wim@fluendo.com>
17472
17473         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17474         Also set caps if we use the fallback buffer alloc.
17475
17476 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17477
17478         * docs/gst/Makefile.am:
17479         * docs/gst/gstreamer-docs.sgml:
17480         * docs/gst/gstreamer-sections.txt:
17481         * docs/gst/tmpl/gstatomic.sgml:
17482         * docs/gst/tmpl/gstmemchunk.sgml:
17483         * testsuite/elements/struct_i386.h:
17484         * win32/GStreamer.vcproj:
17485         * win32/Makefile:
17486           Purge GstAtomic stuff from docs and win32 makefiles as well
17487
17488 2005-05-06  Wim Taymans  <wim@fluendo.com>
17489
17490         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17491         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17492         * gst/gstpad.c: (gst_pad_peer_get_caps):
17493         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17494         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17495         (gst_queue_src_activate), (gst_queue_change_state):
17496         * gst/gstqueue.h:
17497         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17498         (intersect_caps_func):
17499         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17500         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17501         Some fixes for the peer_get_caps() change.
17502
17503 2005-05-06  Wim Taymans  <wim@fluendo.com>
17504
17505         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17506         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17507         (gst_basesink_activate):
17508         Actually do something with error codes returned from the push
17509         functions.
17510
17511 2005-05-06  Wim Taymans  <wim@fluendo.com>
17512
17513         * docs/design/part-element-sink.txt:
17514         * docs/design/part-element-source.txt:
17515         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17516         (gst_basesink_event), (gst_basesink_activate):
17517         * gst/base/gstbasesink.h:
17518         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17519         (gst_basesrc_activate):
17520         * gst/base/gstbasesrc.h:
17521         * gst/gstelement.c: (gst_element_pads_activate):
17522         Some more documentation.
17523         Fixed scheduling decision in _pads_activate().
17524
17525 2005-05-05  Andy Wingo  <wingo@pobox.com>
17526
17527         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17528         the test suite.
17529
17530 2005-05-05  Wim Taymans  <wim@fluendo.com>
17531
17532         * gst/base/Makefile.am:
17533         * gst/base/gstbasesink.h:
17534         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17535         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17536         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17537         (gst_collectpads_class_init), (gst_collectpads_init),
17538         (gst_collectpads_finalize), (gst_collectpads_new),
17539         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17540         (find_pad), (gst_collectpads_remove_pad),
17541         (gst_collectpads_is_active), (gst_collectpads_collect),
17542         (gst_collectpads_collect_range), (gst_collectpads_start),
17543         (gst_collectpads_stop), (gst_collectpads_peek),
17544         (gst_collectpads_pop), (gst_collectpads_available),
17545         (gst_collectpads_read), (gst_collectpads_flush),
17546         (gst_collectpads_chain):
17547         * gst/base/gstcollectpads.h:
17548         * gst/elements/Makefile.am:
17549         * gst/elements/gstelements.c:
17550         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17551         (gst_fakesink_get_times), (gst_fakesink_event),
17552         (gst_fakesink_preroll), (gst_fakesink_render):
17553         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17554         (gst_filesink_init), (gst_filesink_set_location),
17555         (gst_filesink_open_file), (gst_filesink_close_file),
17556         (gst_filesink_pad_query), (gst_filesink_event),
17557         (gst_filesink_render), (gst_filesink_change_state):
17558         * gst/elements/gstfilesink.h:
17559         Added object to help in making collect pad based elements.
17560         Ported filesink.
17561         Make event function in sink baseclass return gboolean.
17562
17563 2005-05-05  Wim Taymans  <wim@fluendo.com>
17564
17565         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17566         (gst_bin_get_by_name):
17567         * gst/gstbuffer.h:
17568         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17569         (gst_clock_finalize):
17570         * gst/gstdata.c: (gst_data_replace):
17571         * gst/gstdata.h:
17572         * gst/gstelement.c: (gst_element_request_pad),
17573         (gst_element_pads_activate):
17574         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17575         (gst_object_unref):
17576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17577         (gst_pad_set_checkgetrange_function),
17578         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17579         (gst_pad_check_pull_range), (gst_pad_pull_range),
17580         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17581         (gst_pad_pause_task), (gst_pad_stop_task):
17582         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17583         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17584         Fix name lookup in GstBin.
17585         Added _data_replace() function and _buffer_replace()
17586         Use finalize method to clean up clock.
17587         Fix refcounting on request pads.
17588         Fix pad schedule mode error.
17589         Some more object refcounting debug info,
17590
17591
17592 2005-05-04  Andy Wingo <wingo@pobox.com>
17593
17594         * check/Makefile.am:
17595         * docs/gst/tmpl/gstatomic.sgml:
17596         * docs/gst/tmpl/gstplugin.sgml:
17597         * gst/base/gstbasesink.c: (gst_basesink_activate):
17598         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17599         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17600         (gst_basesrc_query), (gst_basesrc_set_property),
17601         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17602         (gst_basesrc_activate):
17603         * gst/base/gstbasesrc.h:
17604         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17605         (gst_base_transform_src_activate):
17606         * gst/elements/gstelements.c:
17607         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17608         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17609         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17610         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17611         (gst_type_find_element_checkgetrange),
17612         (gst_type_find_element_activate):
17613         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17614         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17615         (gst_caps_load_thyself):
17616         * gst/gstelement.c: (gst_element_pads_activate),
17617         (gst_element_save_thyself), (gst_element_restore_thyself):
17618         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17619         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17620         * gst/gstpad.h:
17621         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17622         (gst_xml_parse_file), (gst_xml_parse_memory),
17623         (gst_xml_get_element), (gst_xml_make_element):
17624         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17625         (_file_index_id_save_xml), (gst_file_index_commit):
17626         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17627         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17628         (load_paths):
17629         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17630         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17631         * tools/gst-complete.c: (main):
17632         * tools/gst-compprep.c: (main):
17633         * tools/gst-inspect.c: (print_element_properties_info):
17634         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17635         * tools/gst-xmlinspect.c: (print_element_properties):
17636         GCC 4 fixen.
17637         
17638 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17639
17640         * gst/gstplugin.c: (gst_plugin_check_module),
17641         (gst_plugin_check_file), (gst_plugin_load_file):
17642             apply patch from #172526 to make register work on MacOSX
17643
17644 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17645
17646         * docs/gst/tmpl/gstconfig.sgml:
17647         * gst/gstconfig.h.in:
17648           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17649         * testsuite/debug/printf_extension.c: (main):
17650           Do not use GST_PTR_FORMAT on pointers to types with
17651           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17652         * testsuite/elements/property.h:
17653           use correct printf format
17654
17655 2005-05-02  Wim Taymans  <wim@fluendo.com>
17656
17657         * docs/design/draft-push-pull.txt:
17658         * docs/design/draft-query.txt:
17659         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17660         (gst_basesrc_start):
17661         Added draft for new query API.
17662         Added draft for better selecting scheduling methods.
17663         Make basesrc ignore length if the subclass does not support
17664         it.
17665
17666 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17667
17668         * gst/Makefile.am:
17669           possible fixes for automake-1.5 - _LIBADD is reserved
17670
17671 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17672
17673         * docs/faq/Makefile.am:
17674         * docs/manual/Makefile.am:
17675         * docs/manuals.mak:
17676         * docs/pwg/Makefile.am:
17677         * gst/Makefile.am:
17678           possible fixes for automake-1.5
17679
17680 2005-04-28  Wim Taymans  <wim@fluendo.com>
17681
17682         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17683         (gst_basesink_pad_getcaps), (gst_basesink_init),
17684         (gst_basesink_do_sync):
17685         * gst/gstclock.c: (gst_clock_entry_new):
17686         * gst/gstevent.c: (gst_event_discont_get_value):
17687         * gst/gstpipeline.c: (pipeline_bus_handler),
17688         (gst_pipeline_change_state):
17689         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17690         Better debugging of clocking info.
17691         Allow NULL values when getting discont values.
17692
17693 2005-04-27  Wim Taymans  <wim@fluendo.com>
17694
17695         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17696         * check/gst/gstpad.c: (gst_pad_suite):
17697         Increase timeout for checks.
17698
17699 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17700
17701         * check/Makefile.am:
17702           fix the broken rule for cleanup.  Apparently this rule is
17703           only needed on FC2, so maybe this warrants further autotool
17704           inspection.
17705
17706 2005-04-26  Wim Taymans  <wim@fluendo.com>
17707
17708         * gst/gsttrashstack.h:
17709         Ooohh. a nasty one! After having a failed pop() from the stack,
17710         it's possible that the stack is empty. In that case, don't
17711         follow the NULL pointer.
17712
17713 2005-04-25  Wim Taymans  <wim@fluendo.com>
17714
17715         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17716         (gst_pad_set_checkgetrange_function),
17717         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17718         (gst_pad_check_pull_range), (gst_pad_pull_range),
17719         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17720         (gst_pad_pause_task), (gst_pad_stop_task):
17721         * gst/gstplugin.c: (gst_plugin_load):
17722         * gst/gstplugin.h:
17723         Remove gst_library_load as it does more harm than good with
17724         the new g_module flags.
17725         Revert bogus caps template check in pad linking, pad caps
17726         are important when linking not the template, which is more
17727         general than the current caps.
17728
17729 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17730
17731         * gst/autoplug/.cvsignore:
17732         * gst/autoplug/Makefile.am:
17733         * gst/autoplug/gstsearchfuncs.c:
17734         * gst/autoplug/gstsearchfuncs.h:
17735         * gst/autoplug/gstspider.c:
17736         * gst/autoplug/gstspider.h:
17737         * gst/autoplug/gstspideridentity.c:
17738         * gst/autoplug/gstspideridentity.h:
17739         * gst/autoplug/spidertest.c:
17740           Die, spider, die.
17741
17742 2005-04-25  Wim Taymans  <wim@fluendo.com>
17743
17744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17745         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17746         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17747         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17748         * gst/gstpad.h:
17749         Added stubs for unimplemented functions. 
17750
17751 2005-04-24  David Schleef  <ds@schleef.org>
17752
17753         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17754         please fix.
17755
17756 2005-04-24  David Schleef  <ds@schleef.org>
17757
17758         Convert everything from GstAtomicInt to g_atomic_int_*, and
17759         remove gstatomic.
17760         * gst/Makefile.am:
17761         * gst/gstatomic.c:
17762         * gst/gstatomic.h:
17763         * gst/gstatomic_impl.h:
17764         * gst/gstbuffer.c:
17765         * gst/gstcaps.c:
17766         * gst/gstcaps.h:
17767         * gst/gstclock.c:
17768         * gst/gstclock.h:
17769         * gst/gstdata.c:
17770         * gst/gstdata.h:
17771         * gst/gstdata_private.h:
17772         * gst/gstevent.c:
17773         * gst/gstinfo.c:
17774         * gst/gstinfo.h:
17775         * gst/gstmessage.c:
17776         * gst/gstobject.c:
17777         * gst/gstobject.h:
17778         * gst/gststructure.c:
17779         * gst/gststructure.h:
17780         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17781         * gst/gstutils.h:
17782
17783 2005-04-24  David Schleef  <ds@schleef.org>
17784
17785         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17786         make the regressions tests work.  Remove some code that is no
17787         longer true.
17788         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17789         Disable warning for pads without templates.
17790
17791 2005-04-24  David Schleef  <ds@schleef.org>
17792
17793         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17794         functions that handle filtered links.
17795         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17796         removed functions.
17797         * gst/gstutils.c: Fix/remove utility functions that handle
17798         filtered caps.
17799         * gst/gstutils.h:
17800         * gst/gstvalue.c: Add serialization/deserialization of caps
17801         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17802         requires fixing so that the filter caps notation creates
17803         a capsfilter element and sets the filter_caps property.  I
17804         think everyone probably wants to keep the shorthand notation.
17805         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17806         * docs/gst/tmpl/gstpad.sgml:
17807
17808         * gst/elements/gstelements.c: Register capsfilter element.
17809         * gst/Makefile.am: fix spacing
17810         * docs/random/ds/0.9-suggested-changes: random
17811
17812 2005-04-23  David Schleef  <ds@schleef.org>
17813
17814         * gst/elements/Makefile.am:
17815         * gst/elements/gstcapsfilter.c: New element that acts like an
17816         identity, but filters caps.  Will eventually replace filtered
17817         caps in pad linking.
17818         * gst/gstutils.c: (gst_element_create_all_pads): New function
17819         to create all the ALWAYS pads that are registered with an
17820         element class.  This functionality should eventually be
17821         merged in with GstElement initialization.
17822         * gst/gstutils.h:
17823         * testsuite/trigger/README: part of trigger test code that should
17824         have been checked in a long time ago.
17825
17826 2005-04-23  David Schleef  <ds@schleef.org>
17827
17828         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17829         needed with new versions of libtool (nobody will confirm this),
17830         and hard to carry around.
17831         * gst/autoplug/Makefile.am:
17832         * gst/base/Makefile.am:
17833         * gst/elements/Makefile.am:
17834         * gst/indexers/Makefile.am:
17835         * gst/schedulers/Makefile.am:
17836         * libs/gst/bytestream/Makefile.am:
17837         * libs/gst/control/Makefile.am:
17838         * libs/gst/dataprotocol/Makefile.am:
17839         * libs/gst/getbits/Makefile.am:
17840
17841 2005-04-21  Wim Taymans  <wim@fluendo.com>
17842
17843         * docs/design/draft-push-pull.txt:
17844         * docs/design/part-MT-refcounting.txt:
17845         * docs/design/part-TODO.txt:
17846         * docs/design/part-caps.txt:
17847         * docs/design/part-events.txt:
17848         * docs/design/part-gstbus.txt:
17849         * docs/design/part-gstpipeline.txt:
17850         * docs/design/part-messages.txt:
17851         * docs/design/part-push-pull.txt:
17852         * docs/design/part-query.txt:
17853         Some more docs.
17854
17855 2005-04-21  Wim Taymans  <wim@fluendo.com>
17856
17857         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17858         (gst_message_new), (gst_message_new_error),
17859         (gst_message_new_warning), (gst_message_new_tag),
17860         (gst_message_new_state_changed), (gst_message_new_application),
17861         (gst_message_get_structure):
17862         * gst/gstmessage.h:
17863         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17864         (gst_structure_copy_conditional):
17865         Use parent refcount in GstMessage to ensure GstStructure
17866         consistency.
17867         Cleaned up headers a bit.
17868         
17869
17870 2005-04-20  Wim Taymans  <wim@fluendo.com>
17871
17872         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17873         (gst_basesink_pad_getcaps), (gst_basesink_init),
17874         (gst_basesink_chain_unlocked):
17875         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17876         (gst_type_find_helper):
17877         * gst/elements/gsttypefindelement.c:
17878         (gst_type_find_element_have_type), (gst_type_find_element_init),
17879         (stop_typefinding), (gst_type_find_element_handle_event),
17880         (find_suggest), (gst_type_find_element_chain),
17881         (gst_type_find_element_checkgetrange),
17882         (gst_type_find_element_getrange), (do_typefind),
17883         (gst_type_find_element_activate):
17884         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17885         (gst_buffer_default_free), (gst_buffer_default_copy),
17886         (gst_buffer_set_caps):
17887         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17888         (gst_caps_replace):
17889         * gst/gstmessage.c: (gst_message_new),
17890         (gst_message_new_state_changed):
17891         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17892         (gst_pad_set_checkgetrange_function),
17893         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17894         (gst_pad_set_caps), (gst_pad_check_pull_range),
17895         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17896         * gst/gstpad.h:
17897         * gst/gsttypefind.c: (gst_type_find_register):
17898         Make gst_caps_replace() work like other _replace() functions.
17899         Use _caps_replace() where possible.
17900         Make sure _message_new() initialises its field.
17901         Add gst_static_pad_template_get_caps()
17902
17903
17904 2005-04-18  Andy Wingo  <wingo@pobox.com>
17905
17906         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17907         on the peer, not the pad. I think that was a typo. Pass an extra
17908         arg to see if random access is possible. Activate the pads as
17909         PULL_RANGE if possible.
17910
17911         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17912
17913         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17914         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17915         to PROP_....
17916
17917 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17918
17919         * docs/faq/using.xml:
17920           Add note on gstreamer-properties (#154996).
17921
17922 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17923
17924         * docs/random/bbb/optional-properties:
17925           Some analysis on optional properties.
17926
17927 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17928
17929         * docs/gst/tmpl/gstelementfactory.sgml:
17930         * gst/gstelement.h:
17931         * gst/gstelementfactory.c: (gst_element_factory_init),
17932         (gst_element_factory_cleanup), (gst_element_register),
17933         (__gst_element_factory_add_static_pad_template),
17934         (gst_element_factory_get_static_pad_templates),
17935         (gst_element_factory_can_src_caps),
17936         (gst_element_factory_can_sink_caps):
17937         * gst/registries/Makefile.am:
17938         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17939         (gst_xml_registry_class_init), (gst_xml_registry_init),
17940         (gst_xml_registry_new), (gst_xml_registry_set_property),
17941         (gst_xml_registry_get_property), (get_time), (make_dir),
17942         (gst_xml_registry_get_perms_func),
17943         (plugin_times_older_than_recurse), (plugin_times_older_than),
17944         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17945         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17946         (add_to_char_array), (read_string), (read_uint), (read_enum),
17947         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17948         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17949         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17950         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17951         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17952         (gst_xml_registry_rebuild):
17953         * gst/registries/gstlibxmlregistry.h:
17954         * tools/gst-compprep.c: (main):
17955         * tools/gst-inspect.c: (print_pad_templates_info):
17956         * tools/gst-xmlinspect.c: (print_element_info):
17957           Use libxml2 for registry parsing, use staticpadtemplates in
17958           elementfactories. Makes gst_init() +/- 10x faster.
17959
17960 2005-04-12  Wim Taymans  <wim@fluendo.com>
17961
17962         * gst/base/Makefile.am:
17963         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17964         (gst_basesink_pad_getcaps), (gst_basesink_init),
17965         (gst_basesink_event), (gst_basesink_change_state):
17966         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17967         (gst_basesrc_init), (gst_basesrc_query),
17968         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17969         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17970         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17971         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17972         (gst_basesrc_stop), (gst_basesrc_activate),
17973         (gst_basesrc_change_state):
17974         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17975         (helper_find_suggest), (gst_type_find_helper):
17976         * gst/base/gsttypefindhelper.h:
17977         * gst/elements/Makefile.am:
17978         * gst/elements/gstelements.c:
17979         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17980         (gst_fakesink_get_times), (gst_fakesink_event),
17981         (gst_fakesink_preroll), (gst_fakesink_render):
17982         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17983         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17984         (gst_fakesrc_get_property), (gst_fakesrc_create),
17985         (gst_fakesrc_start), (gst_fakesrc_stop):
17986         * gst/elements/gstfakesrc.h:
17987         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17988         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17989         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17990         (gst_filesrc_create_read), (gst_filesrc_create),
17991         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17992         (gst_filesrc_start):
17993         * gst/elements/gsttypefindelement.c:
17994         (gst_type_find_element_have_type), (gst_type_find_element_init),
17995         (start_typefinding), (stop_typefinding), (push_buffer_store),
17996         (gst_type_find_element_handle_event),
17997         (gst_type_find_element_chain),
17998         (gst_type_find_element_checkgetrange),
17999         (gst_type_find_element_getrange), (do_typefind),
18000         (gst_type_find_element_activate),
18001         (gst_type_find_element_change_state):
18002         * gst/elements/gsttypefindelement.h:
18003         * gst/gstpipeline.c: (pipeline_bus_handler):
18004         Added typefind helper.
18005         Small preroll fix in the base sink.
18006         Disable typefind code in basesrc.
18007         Crude port of typefindelement.
18008         Fakesrc cleanups.
18009
18010
18011 2005-04-11  Wim Taymans  <wim@fluendo.com>
18012
18013         * check/gst/gstbus.c: (gstbus_suite):
18014         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18015         * check/gstcheck.h:
18016           Fix up the timeout so that the test does not fail.
18017
18018 2005-04-06  Wim Taymans  <wim@fluendo.com>
18019
18020         * gst/base/README:
18021         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18022         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18023         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18024         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18025         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18026         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18027         (gst_basesrc_stop), (gst_basesrc_activate),
18028         (gst_basesrc_change_state), (basesrc_find_peek),
18029         (basesrc_find_suggest), (gst_basesrc_type_find):
18030         * gst/base/gstbasesrc.h:
18031         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18032         (gst_filesrc_class_init), (gst_filesrc_init),
18033         (gst_filesrc_finalize), (gst_filesrc_set_location),
18034         (gst_filesrc_set_property), (gst_filesrc_get_property),
18035         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18036         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18037         (gst_filesrc_create_read), (gst_filesrc_create),
18038         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18039         * gst/elements/gstfilesrc.h:
18040         * gst/gstelement.c: (gst_element_get_state_func),
18041         (gst_element_lost_state), (gst_element_pads_activate):
18042         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18043         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18044         (gst_pad_pull_range):
18045         * gst/gstpad.h:
18046         More work on the generic source base class, implement seeking,
18047         query.
18048         Make filesrc extend the base source class.
18049         Added gst_pad_set_checkgetrange_function to GstPad.
18050
18051 2005-04-06  Andy Wingo  <wingo@pobox.com>
18052
18053         * pkgconfig/gstreamer-base.pc.in:
18054         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18055
18056         * pkgconfig/Makefile.am:
18057         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18058
18059 2005-04-04  Wim Taymans  <wim@fluendo.com>
18060
18061         * gst/base/Makefile.am:
18062         * gst/base/README:
18063         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18064         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18065         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18066         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18067         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18068         (gst_basesrc_base_init), (gst_basesrc_class_init),
18069         (gst_basesrc_init), (gst_basesrc_get_formats),
18070         (gst_basesrc_get_query_types), (gst_basesrc_query),
18071         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18072         (gst_basesrc_set_property), (gst_basesrc_get_property),
18073         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18074         (gst_basesrc_loop), (gst_basesrc_activate),
18075         (gst_basesrc_change_state):
18076         * gst/base/gstbasesrc.h:
18077         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18078         (gst_fakesrc_class_init), (gst_fakesrc_init),
18079         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18080         (gst_fakesrc_get_property), (gst_fakesrc_create):
18081         * gst/elements/gstfakesrc.h:
18082         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18083         (gst_filesrc_open_file), (gst_filesrc_loop),
18084         (gst_filesrc_activate), (filesrc_find_peek),
18085         (gst_filesrc_type_find):
18086         Made base source class, make fakesrc extend it.
18087         Add comments to basesink class.
18088         Some filesrc cleanup.
18089
18090 2005-03-31  David Schleef  <ds@schleef.org>
18091
18092         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18093         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18094         expected to link against libgstreamer.
18095         * gst/base/Makefile.am: link against libgstreamer
18096         * gst/elements/Makefile.am: same
18097
18098 2005-03-31  Andy Wingo  <wingo@pobox.com>
18099
18100         * tests/instantiate/Makefile.am:
18101         * tests/instantiate/caps.c: Add test to test speed of caps copy
18102         and free.
18103
18104         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18105         GMemChunk to be fair.
18106
18107         * gst/gsttrashstack.h: Remove warning about using the fallback
18108         trash stack implementation, it's still faster than malloc.
18109
18110 2005-03-30  Andy Wingo  <wingo@pobox.com>
18111
18112         * tests/complexity.c: Add a copyright.
18113
18114 2005-03-31  Wim Taymans  <wim@fluendo.com>
18115
18116         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18117         (gst_base_transform_class_init), (gst_base_transform_init),
18118         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18119         (gst_base_transform_get_property),
18120         (gst_base_transform_sink_activate),
18121         (gst_base_transform_src_activate),
18122         (gst_base_transform_change_state):
18123         * gst/base/gstbasetransform.h:
18124         * gst/elements/gstidentity.c: (gst_identity_class_init),
18125         (gst_identity_event), (gst_identity_check_perfect),
18126         (gst_identity_transform), (gst_identity_start),
18127         (gst_identity_stop):
18128         Added start/stop methods to transform base class so subclasses 
18129         don't need to deal with state changes even.
18130
18131 2005-03-31  Wim Taymans  <wim@fluendo.com>
18132
18133         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18134         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18135         * gst/gstevent.h:
18136         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18137         (gst_pad_pull_range):
18138         Added rate to the discont event to prepare for variable speed
18139         and reverse playback.
18140
18141 2005-03-29  David Schleef  <ds@schleef.org>
18142
18143         * configure.ac:
18144         * testsuite/trigger/Makefile.am:
18145         * testsuite/trigger/trigger.c: A little example program to show
18146         how trigger-based elements can work.
18147
18148 2005-03-29  Wim Taymans  <wim@fluendo.com>
18149
18150         * gst/base/Makefile.am:
18151         * gst/base/README:
18152         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18153         (gst_basesink_base_init), (gst_basesink_class_init),
18154         (gst_basesink_pad_getcaps), (gst_basesink_init),
18155         (gst_basesink_activate), (gst_basesink_change_state):
18156         * gst/base/gstbasesink.h:
18157         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18158         (gst_base_transform_base_init), (gst_base_transform_finalize),
18159         (gst_base_transform_class_init), (gst_base_transform_init),
18160         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18161         (gst_base_transform_event), (gst_base_transform_getrange),
18162         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18163         (gst_base_transform_set_property),
18164         (gst_base_transform_get_property),
18165         (gst_base_transform_sink_activate),
18166         (gst_base_transform_src_activate),
18167         (gst_base_transform_change_state):
18168         * gst/base/gstbasetransform.h:
18169         * gst/elements/gstidentity.c: (gst_identity_finalize),
18170         (gst_identity_class_init), (gst_identity_init),
18171         (gst_identity_event), (gst_identity_check_perfect),
18172         (gst_identity_transform), (gst_identity_set_property),
18173         (gst_identity_get_property), (gst_identity_change_state):
18174         * gst/elements/gstidentity.h:
18175         * gst/gstelement.c: (gst_element_get_state_func),
18176         (gst_element_lost_state), (gst_element_pads_activate):
18177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18178         (gst_pad_check_pull_range), (gst_pad_pull_range):
18179         * gst/gstpad.h:
18180         Simplify pad activation.
18181         Added function to check if pull_range can be performed.
18182         Error out when pulling inactive or flushing pads.
18183         Removed const from refcounted types as it does not make sense.
18184         Simplify pad templates in basesink
18185         Added base class for simple 1-to-1 transforms.
18186         Make identity subclass the base transform.
18187
18188 2005-03-29  Andy Wingo  <wingo@pobox.com>
18189
18190         * docs/libs/gstreamer-libs-overrides.txt: 
18191         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18192         really don't understand what's going on, but like whatever. I want
18193         green buildbot!
18194
18195         * docs/gst/Makefile.am:
18196         * docs/libs/Makefile.am: Dist the overrides files.
18197
18198         * check/Makefile.am (clean-local): Remove .libs directories.
18199
18200         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18201         elements to EXTRA_DIST, so po/ files are happy.
18202
18203         * po/POTFILES.in: Er, remove it here.
18204
18205         * po/POTFILES: Remove gstspider.c.
18206
18207         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18208
18209         * docs/libs/gstreamer-libs-docs.sgml: 
18210         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18211         bytestream.
18212
18213         * tests/complexity.c (main): Set the length of the preroll queue
18214         on the sinks to prevent a lockup.
18215
18216         * libs/gst/dataprotocol/Makefile.am: 
18217         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18218         the same as the one in check/gst-libs/gdp.c.
18219
18220         * po/, docs/gst/: Commit automatic changes to docs and po files.
18221
18222         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18223         the versioned libgstbase.
18224
18225         * check/Makefile.am: Depend on an unversioned gst-register, seems
18226         to make autoconf happier.
18227
18228         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18229
18230 2005-03-28  Wim Taymans  <wim@fluendo.com>
18231
18232         * configure.ac:
18233         * docs/design/part-gstelement.txt:
18234         * docs/design/part-negotiation.txt:
18235         * docs/design/part-preroll.txt:
18236         * docs/design/part-scheduling.txt:
18237         * docs/design/part-states.txt:
18238         * gst/Makefile.am:
18239         * gst/base/Makefile.am:
18240         * gst/base/README:
18241         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18242         (gst_basesink_base_init), (gst_basesink_class_init),
18243         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18244         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18245         (gst_basesink_set_pad_functions),
18246         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18247         (gst_basesink_set_property), (gst_basesink_get_property),
18248         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18249         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18250         (gst_basesink_preroll_queue_push),
18251         (gst_basesink_preroll_queue_empty),
18252         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18253         (gst_basesink_event), (gst_basesink_get_times),
18254         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18255         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18256         (gst_basesink_loop), (gst_basesink_activate),
18257         (gst_basesink_change_state):
18258         * gst/base/gstbasesink.h:
18259         * gst/elements/Makefile.am:
18260         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
18261         (gst_fakesink_class_init), (gst_fakesink_init),
18262         (gst_fakesink_set_property), (gst_fakesink_get_property),
18263         (gst_fakesink_get_times), (gst_fakesink_event),
18264         (gst_fakesink_preroll), (gst_fakesink_render),
18265         (gst_fakesink_change_state):
18266         * gst/elements/gstfakesink.h:
18267         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18268         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
18269         * gst/gstelement.c: (gst_element_add_pad),
18270         (gst_element_get_state_func), (gst_element_abort_state),
18271         (gst_element_commit_state), (gst_element_lost_state),
18272         (gst_element_set_state), (gst_element_pads_activate):
18273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
18274         * gst/gstpipeline.c: (gst_pipeline_send_event),
18275         (gst_pipeline_change_state):
18276         Added state change code.
18277         Added/updated docs.
18278         Added sink base class, make fakesink extend the base class.
18279         Small cleanups in GstPipeline.
18280
18281 2005-03-26  David Schleef  <ds@schleef.org>
18282
18283         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
18284         is broken and should be implemented in a different library.
18285         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
18286         * gst/gst.h: remove gstcpu.h
18287         * gst/gstcpu.c: remove
18288         * gst/gstcpu.h: remove
18289         * gst/Makefile.am.future: Remove this file.  It's ancient.
18290
18291 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18292
18293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18294         (gst_bin_send_event):
18295           Add default event/set_manager handlers. The set_manager handler
18296           takes care that the manager is distributed over kids that were
18297           already in the bin before the manager was set. The event handler
18298           is a utility virtual function that sends the event over all sinks,
18299           so that gst_element_send_event (bin, event); has the expected
18300           behaviour.
18301         * gst/gstpad.c: (gst_pad_event_default):
18302           Re-install default event handling for discontinuities, so that
18303           seeking works without requiring hacks in applications or extra
18304           code in sinks.
18305         * gst/gstpipeline.c: (gst_pipeline_class_init),
18306         (gst_pipeline_send_event):
18307           Half hack, half utility: set a pipeline to PAUSED for seek events,
18308           since that is the only way we can guarantee a/v sync. Means that
18309           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18310           and it "just works".
18311
18312 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18313
18314         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18315           Lock/unlock mismatch.
18316
18317 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18318
18319         * docs/faq/gst-uninstalled:
18320           add gst-plugins-base
18321         * docs/gst/Makefile.am:
18322           don't error out until docs are fixed
18323         * docs/gst/gstreamer.types:
18324           remove thread
18325
18326 2005-03-22  Wim Taymans  <wim@fluendo.com>
18327
18328         * check/Makefile.am:
18329         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18330         * gst/gststructure.c: (gst_structure_set_valist),
18331         (gst_structure_copy_conditional):
18332         Activated more tests.
18333         Added message test.
18334         Added G_TYPE_POINTER to GstStructure.
18335         
18336
18337 2005-03-22  Wim Taymans  <wim@fluendo.com>
18338
18339         * docs/design/part-TODO.txt:
18340         * docs/design/part-events.txt:
18341         * docs/design/part-gstbin.txt:
18342         * docs/design/part-gstbus.txt:
18343         * docs/design/part-gstpipeline.txt:
18344         * docs/design/part-messages.txt:
18345         * gst/gstbus.c:
18346         * gst/gstmessage.c:
18347         Docs updates
18348
18349 2005-03-21  Wim Taymans  <wim@fluendo.com>
18350
18351         * gst/gstbus.c: (gst_bus_post):
18352         Fix copy-and-paste error.
18353
18354 2005-03-21  Wim Taymans  <wim@fluendo.com>
18355
18356         * check/Makefile.am:
18357         * gst/Makefile.am:
18358         * gst/elements/Makefile.am:
18359         * gst/elements/gstelements.c:
18360         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18361         (gst_fakesink_event), (gst_fakesink_chain):
18362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18363         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18364         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18365         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18366         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18367         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18368         (gst_fakesrc_loop), (gst_fakesrc_activate),
18369         (gst_fakesrc_change_state):
18370         * gst/elements/gstfakesrc.h:
18371         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18372         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18373         (gst_filesrc_open_file), (gst_filesrc_loop),
18374         (gst_filesrc_activate), (gst_filesrc_change_state),
18375         (filesrc_find_peek), (filesrc_find_suggest),
18376         (gst_filesrc_type_find):
18377         * gst/elements/gstidentity.c: (gst_identity_finalize),
18378         (gst_identity_class_init), (gst_identity_init),
18379         (gst_identity_proxy_getcaps), (identity_queue_push),
18380         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18381         (gst_identity_getrange), (gst_identity_chain),
18382         (gst_identity_sink_loop), (gst_identity_src_loop),
18383         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18384         (gst_identity_set_property), (gst_identity_get_property),
18385         (gst_identity_change_state):
18386         * gst/elements/gstidentity.h:
18387         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18388         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18389         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18390         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18391         (gst_tee_sink_activate):
18392         * gst/elements/gsttee.h:
18393         * gst/gst.c: (gst_register_core_elements), (init_post):
18394         * gst/gst.h:
18395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18396         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18397         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18398         (gst_bin_change_state):
18399         * gst/gstbin.h:
18400         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18401         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18402         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18403         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18404         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18405         (bus_watch_callback), (bus_watch_destroy),
18406         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18407         (poll_timeout), (gst_bus_poll):
18408         * gst/gstbus.h:
18409         * gst/gstcaps.h:
18410         * gst/gstdata.h:
18411         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18412         (gst_element_post_message), (gst_element_message_full),
18413         (gst_element_get_state_func), (gst_element_get_state),
18414         (gst_element_abort_state), (gst_element_commit_state),
18415         (gst_element_lost_state), (gst_element_set_state),
18416         (gst_element_pads_activate), (gst_element_change_state),
18417         (gst_element_dispose), (gst_element_set_manager_func),
18418         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18419         (gst_element_set_manager), (gst_element_get_manager),
18420         (gst_element_set_bus), (gst_element_get_bus),
18421         (gst_element_set_scheduler), (gst_element_get_scheduler):
18422         * gst/gstelement.h:
18423         * gst/gstevent.c: (gst_event_new_segment_seek),
18424         (gst_event_new_flush):
18425         * gst/gstevent.h:
18426         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18427         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18428         (gst_message_new_eos), (gst_message_new_error),
18429         (gst_message_new_warning), (gst_message_new_tag),
18430         (gst_message_new_state_changed), (gst_message_new_application),
18431         (gst_message_get_structure), (gst_message_parse_tag),
18432         (gst_message_parse_state_changed), (gst_message_parse_error),
18433         (gst_message_parse_warning):
18434         * gst/gstmessage.h:
18435         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18436         (gst_real_pad_set_property), (gst_pad_set_active),
18437         (gst_pad_is_active), (gst_pad_set_blocked_async),
18438         (gst_pad_set_blocked), (gst_pad_is_blocked),
18439         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18440         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18441         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18442         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18443         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18444         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18445         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18446         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18447         (gst_pad_set_caps), (gst_pad_configure_sink),
18448         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18449         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18450         (gst_real_pad_dispose), (gst_real_pad_finalize),
18451         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18452         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18453         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18454         * gst/gstpad.h:
18455         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18456         (pipeline_bus_handler), (gst_pipeline_change_state),
18457         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18458         * gst/gstpipeline.h:
18459         * gst/gstprobe.h:
18460         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18461         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18462         (gst_queue_link_src), (gst_queue_bufferalloc),
18463         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18464         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18465         (gst_queue_loop), (gst_queue_handle_src_event),
18466         (gst_queue_handle_src_query), (gst_queue_src_activate),
18467         (gst_queue_change_state):
18468         * gst/gstqueue.h:
18469         * gst/gstscheduler.c: (gst_scheduler_init),
18470         (gst_scheduler_dispose), (gst_scheduler_create_task),
18471         (gst_scheduler_factory_create):
18472         * gst/gstscheduler.h:
18473         * gst/gststructure.c: (gst_structure_get_type),
18474         (gst_structure_copy_conditional):
18475         * gst/gststructure.h:
18476         * gst/gsttaginterface.h:
18477         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18478         (gst_task_init), (gst_task_dispose), (gst_task_create),
18479         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18480         (gst_task_pause):
18481         * gst/gsttask.h:
18482         * gst/gstthread.c:
18483         * gst/gstthread.h:
18484         * gst/gsttypes.h:
18485         * gst/schedulers/Makefile.am:
18486         * gst/schedulers/cothreads_compat.h:
18487         * gst/schedulers/entryscheduler.c:
18488         * gst/schedulers/faircothreads.c:
18489         * gst/schedulers/faircothreads.h:
18490         * gst/schedulers/fairscheduler.c:
18491         * gst/schedulers/gstbasicscheduler.c:
18492         * gst/schedulers/gstoptimalscheduler.c:
18493         * gst/schedulers/gthread-cothreads.h:
18494         * gst/schedulers/threadscheduler.c:
18495         (gst_thread_scheduler_task_get_type),
18496         (gst_thread_scheduler_task_class_init),
18497         (gst_thread_scheduler_task_init),
18498         (gst_thread_scheduler_task_start),
18499         (gst_thread_scheduler_task_stop),
18500         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18501         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18502         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18503         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18504         (plugin_init):
18505         * libs/gst/Makefile.am:
18506         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18507         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18508         (gst_file_pad_parent_set):
18509         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18510         (gst_dp_event_from_packet):
18511         * tests/complexity.c: (main):
18512         * tests/mass_elements.c: (main):
18513         * testsuite/states/locked.c: (message_received), (main):
18514         * testsuite/states/parent.c: (main):
18515         * tools/gst-inspect.c: (print_element_flag_info),
18516         (print_implementation_info), (print_pad_info):
18517         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18518         (main):
18519         * tools/gst-md5sum.c: (event_loop), (main):
18520         * tools/gst-typefind.c: (main):
18521         * tools/gst-xmlinspect.c: (print_element_info):
18522         Next big merge.
18523         Added GstBus for mainloop integration.
18524         Added GstMessage for sending notifications on the bus.
18525         Added GstTask as an abstraction for pipeline entry points.
18526         Removed GstThread.
18527         Removed Schedulers.
18528         Simplified GstQueue for multithreaded core.
18529         Made _link threadsafe, removed old capsnego.
18530         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18531         Added pad blocking functions.
18532         Reworked scheduling functions in GstPad to prepare for
18533         scheduling updates soon.
18534         Moved events out of data stream.
18535         Simplified GstEvent types.
18536         Added return values to push/pull.
18537         Removed clocking from GstElement.
18538         Added prototypes for state change function for next merge.
18539         Removed iterate from bins and state change management.
18540         Fixed some elements, disabled others for now.
18541         Fixed -inspect and -launch.
18542         Added check for GstBus.
18543
18544 2005-03-10  Wim Taymans  <wim@fluendo.com>
18545
18546         * docs/design/part-MT-refcounting.txt:
18547         * docs/design/part-clocks.txt:
18548         * docs/design/part-gstelement.txt:
18549         * docs/design/part-gstobject.txt:
18550         * docs/design/part-standards.txt:
18551         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18552         (gst_bin_remove_func), (gst_bin_remove):
18553         * gst/gstbin.h:
18554         * gst/gstbuffer.c:
18555         * gst/gstcaps.h:
18556         * testsuite/clock/clock1.c: (main):
18557         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18558         (main):
18559         * testsuite/dlopen/loadgst.c: (do_test):
18560         * testsuite/refcounting/bin.c: (add_remove_test1),
18561         (add_remove_test2), (main):
18562         * testsuite/refcounting/element.c: (main):
18563         * testsuite/refcounting/element_pad.c: (main):
18564         * testsuite/refcounting/pad.c: (main):
18565         * tools/gst-launch.c: (sigint_handler_sighandler):
18566         * tools/gst-typefind.c: (main):
18567         Doc updates.
18568         Added doc about clock.
18569         removed gst_bin_iterate_recurse_up(), marked methods
18570         for removal.
18571         Fix more testsuites.
18572
18573 2005-03-09  Wim Taymans  <wim@fluendo.com>
18574
18575         * gst/gstpad.c: (gst_pad_get_direction),
18576         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18577         (gst_pad_collect_valist):
18578         * testsuite/bins/interface.c: (main):
18579         * testsuite/caps/audioscale.c: (test_caps):
18580         * testsuite/caps/caps.c: (test1), (test2), (test3):
18581         * testsuite/caps/deserialize.c: (main):
18582         * testsuite/caps/enumcaps.c: (main):
18583         * testsuite/caps/filtercaps.c: (main):
18584         * testsuite/caps/intersect2.c: (main):
18585         * testsuite/caps/random.c: (main):
18586         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18587         * testsuite/caps/sets.c: (check_caps):
18588         * testsuite/caps/simplify.c: (check_caps), (main):
18589         * testsuite/caps/subtract.c: (check_caps):
18590         Fix _pad_get_direction wrt ghostpads.
18591         Fix caps testsuite.
18592
18593 2005-03-09  Wim Taymans  <wim@fluendo.com>
18594
18595         * check/Makefile.am:
18596         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18597         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18598         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18600         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18601         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18602         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18603         (bin_element_is_sink), (gst_bin_iterate_sinks),
18604         (gst_bin_iterate_all_by_interface):
18605         * gst/gstbin.h:
18606         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18607         (gst_element_change_state), (gst_element_dispose),
18608         (gst_element_finalize), (gst_element_set_loop_function):
18609         * gst/gstelement.h:
18610         * gst/gstiterator.c: (find_custom_fold_func):
18611         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18612         (gst_pad_collectv), (gst_pad_collect_valist),
18613         (gst_pad_template_new):
18614         * gst/gstpipeline.c: (gst_pipeline_class_init),
18615         (gst_pipeline_dispose), (gst_pipeline_set_property),
18616         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18617         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18618         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18619         * gst/gstutils.h:
18620         * gst/schedulers/entryscheduler.c:
18621         * gst/schedulers/gstbasicscheduler.c:
18622         (gst_basic_scheduler_cothreaded_chain),
18623         (gst_basic_scheduler_chain_add_element):
18624         * testsuite/bins/interface.c: (main):
18625         Added GstBin test.
18626         Added GstSystemClock test.
18627         Implemented clock distribution code in GstBin.
18628         Implemented iterate sinks method for future use.
18629         Rearranged gstelement.h
18630         Fix GstIterator comparison bug.
18631         Moved some code to GstPipeline, mostly clocking related.
18632
18633 2005-03-09  Wim Taymans  <wim@fluendo.com>
18634
18635         * configure.ac:
18636         * gst/gst_private.h:
18637         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18638         (gst_bin_remove_func), (gst_bin_remove),
18639         (gst_bin_get_by_name_recurse_up):
18640         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18641         (gst_clock_id_compare_func), (gst_clock_id_wait),
18642         (gst_clock_id_wait_async), (gst_clock_init),
18643         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18644         * gst/gstelement.h:
18645         * gst/gstinfo.c: (_gst_debug_init):
18646         * gst/gstobject.h:
18647         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18648         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18649         * gst/gstpad.h:
18650         Bump version number, we're now 0.9.0
18651         Add future debugging category.
18652         Fix NULL _unref() in _get_by_name_recurse_up
18653         Rearrange gstpad.h.
18654         Update some docs.
18655
18656 2005-03-08  Wim Taymans  <wim@fluendo.com>
18657
18658         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18659         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18660         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18661         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18662         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18663         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18664         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18665         * gst/elements/gstidentity.c: (gst_identity_class_init):
18666         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18667         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18668         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18669         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18670         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18671         (gst_tee_link):
18672         * gst/gstelement.c: (gst_element_class_init),
18673         (gst_element_base_class_init), (gst_element_init),
18674         (gst_element_get_random_pad), (gst_element_wait_state_change),
18675         (gst_element_change_state), (gst_element_dispose),
18676         (gst_element_finalize), (gst_element_set_loop_function):
18677         * gst/gstelement.h:
18678         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18679         * gst/gstthread.c: (gst_thread_class_init),
18680         (gst_thread_release_children_locks), (gst_thread_change_state):
18681         * gst/schedulers/gstbasicscheduler.c:
18682         (gst_basic_scheduler_loopfunc_wrapper),
18683         (gst_basic_scheduler_chain_wrapper),
18684         (gst_basic_scheduler_src_wrapper),
18685         (gst_basic_scheduler_remove_element):
18686         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18687         Remove threadsafe properties. Fix elements because GObject
18688         complains when installing a property before declaring a
18689         set/get_property handler.
18690         Rearrange gstelement.h file, use STATE macros for state locks.
18691         Free mutexes in the finalize method instead of dispose.
18692
18693 2005-03-08  Wim Taymans  <wim@fluendo.com>
18694
18695         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18696         * gst/gstthread.c: (gst_thread_release_children_locks):
18697         Added parentage check.
18698         Fix build og GstThread again.
18699
18700 2005-03-08  Wim Taymans  <wim@fluendo.com>
18701
18702         * docs/design/part-MT-refcounting.txt:
18703         * docs/design/part-conventions.txt:
18704         * docs/design/part-gstobject.txt:
18705         * docs/design/part-relations.txt:
18706         * docs/design/part-standards.txt:
18707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18708         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18709         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18710         (gst_bin_iterate_all_by_interface):
18711         * gst/gstbuffer.h:
18712         * gst/gstclock.h:
18713         * gst/gstelement.c: (gst_element_class_init),
18714         (gst_element_change_state), (gst_element_set_loop_function):
18715         * gst/gstelement.h:
18716         * gst/gstiterator.c:
18717         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18718         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18719         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18720         (gst_object_set_parent), (gst_object_unparent),
18721         (gst_object_check_uniqueness):
18722         * gst/gstobject.h:
18723         Docs updates, clean up some headers.
18724
18725 2005-03-07  Wim Taymans  <wim@fluendo.com>
18726
18727         * check/.cvsignore:
18728         * check/Makefile.am:
18729         * check/gst-libs/.cvsignore:
18730         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18731         * check/gst/.cvsignore:
18732         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18733         (START_TEST), (gstbus_suite), (main):
18734         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18735         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18736         (gst_data_suite), (main):
18737         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18738         (add_fold_func), (gstiterator_suite), (main):
18739         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18740         (thread_name_object), (thread_name_object_default),
18741         (gst_object_name_compare), (gst_object_suite), (main):
18742         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18743         (gst_pad_suite), (main):
18744         * check/gstcheck.c: (gst_check_log_message_func),
18745         (gst_check_log_critical_func), (gst_check_init):
18746         * check/gstcheck.h:
18747         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18748         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18749         Added checks.
18750
18751 2005-03-07  Wim Taymans  <wim@fluendo.com>
18752
18753         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18754         (gst_list_iterator_next), (gst_list_iterator_resync),
18755         (gst_list_iterator_free), (gst_iterator_new_list),
18756         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18757         (gst_iterator_free), (gst_iterator_push), (filter_next),
18758         (filter_resync), (filter_uninit), (filter_free),
18759         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18760         (gst_iterator_foreach), (find_custom_fold_func),
18761         (gst_iterator_find_custom):
18762         * gst/gstiterator.h:
18763         Added missing files.
18764
18765 2005-03-07  Wim Taymans  <wim@fluendo.com>
18766
18767         * Makefile.am:
18768         * configure.ac:
18769         * docs/design/part-MT-refcounting.txt:
18770         * docs/design/part-conventions.txt:
18771         * docs/design/part-gstobject.txt:
18772         * docs/design/part-relations.txt:
18773         * examples/mixer/mixer.c: (main):
18774         * examples/thread/thread.c: (eos), (main):
18775         * gst/Makefile.am:
18776         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18777         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18778         (gst_spider_plug_from_srcpad):
18779         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18780         (gst_spider_identity_change_state),
18781         (gst_spider_identity_sink_loop_type_finding):
18782         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18783         * gst/elements/gstidentity.c: (gst_identity_init):
18784         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18785         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18786         * gst/elements/gsttypefindelement.c: (free_entry):
18787         * gst/gst.c:
18788         * gst/gst.h:
18789         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18790         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18791         (gst_bin_set_index), (gst_bin_set_element_sched),
18792         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18793         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18794         (gst_bin_iterate_elements), (iterate_child_recurse),
18795         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18796         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18797         (compare_interface), (gst_bin_get_by_interface),
18798         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18799         * gst/gstbin.h:
18800         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18801         (gst_buffer_default_free), (gst_buffer_default_copy),
18802         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18803         (gst_buffer_create_sub):
18804         * gst/gstbuffer.h:
18805         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18806         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18807         (gst_caps_unref), (gst_static_caps_get),
18808         (gst_caps_remove_and_get_structure), (gst_caps_append),
18809         (gst_caps_append_structure), (gst_caps_remove_structure),
18810         (gst_caps_copy_nth), (gst_caps_set_simple),
18811         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18812         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18813         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18814         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18815         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18816         (gst_caps_structure_figure_out_union),
18817         (gst_caps_switch_structures), (gst_caps_do_simplify),
18818         (gst_caps_replace), (gst_caps_from_string),
18819         (gst_caps_copy_conditional):
18820         * gst/gstcaps.h:
18821         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18822         (_gst_clock_id_free), (gst_clock_id_unref),
18823         (gst_clock_id_compare_func), (gst_clock_id_wait),
18824         (gst_clock_id_wait_async), (gst_clock_class_init),
18825         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18826         (gst_clock_get_time), (gst_clock_set_time_adjust),
18827         (gst_clock_set_property), (gst_clock_get_property):
18828         * gst/gstclock.h:
18829         * gst/gstcompat.h:
18830         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18831         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18832         * gst/gstdata.h:
18833         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18834         (gst_element_requires_clock), (gst_element_provides_clock),
18835         (gst_element_set_clock), (gst_element_clock_wait),
18836         (gst_element_wait), (gst_element_set_time_delay),
18837         (gst_element_is_indexable), (gst_element_add_pad),
18838         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18839         (pad_compare_name), (gst_element_get_static_pad),
18840         (gst_element_request_pad), (gst_element_get_request_pad),
18841         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18842         (gst_element_class_get_pad_template_list),
18843         (gst_element_class_get_pad_template), (gst_element_error_func),
18844         (gst_element_get_random_pad), (gst_element_get_event_masks),
18845         (gst_element_send_event), (gst_element_seek),
18846         (gst_element_get_query_types), (gst_element_query),
18847         (gst_element_get_formats), (gst_element_convert),
18848         (gst_element_is_locked_state), (gst_element_set_locked_state),
18849         (gst_element_sync_state_with_parent), (gst_element_change_state),
18850         (gst_element_finalize), (gst_element_yield),
18851         (gst_element_interrupt), (gst_element_set_scheduler),
18852         (gst_element_get_scheduler), (gst_element_set_loop_function):
18853         * gst/gstelement.h:
18854         * gst/gstevent.h:
18855         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18856         (gst_format_get_by_nick), (gst_format_get_details),
18857         (gst_format_iterate_definitions):
18858         * gst/gstformat.h:
18859         * gst/gstindex.c: (gst_index_gtype_resolver):
18860         * gst/gstinfo.c:
18861         * gst/gstinfo.h:
18862         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18863         (gst_mem_chunk_free):
18864         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18865         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18866         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18867         (gst_object_dispatch_properties_changed),
18868         (gst_object_set_name_default), (gst_object_set_name),
18869         (gst_object_get_name), (gst_object_set_name_prefix),
18870         (gst_object_get_name_prefix), (gst_object_set_parent),
18871         (gst_object_get_parent), (gst_object_unparent),
18872         (gst_object_check_uniqueness), (gst_object_save_thyself),
18873         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18874         (gst_object_set_property), (gst_object_get_property),
18875         (gst_object_get_path_string):
18876         * gst/gstobject.h:
18877         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18878         (gst_real_pad_init), (gst_real_pad_get_property),
18879         (gst_pad_custom_new), (gst_pad_get_direction),
18880         (gst_pad_set_active), (gst_pad_is_active),
18881         (gst_pad_set_event_function), (gst_pad_is_linked),
18882         (gst_pad_link_free), (gst_pad_link_intersect),
18883         (gst_pad_link_fixate), (gst_pad_set_caps),
18884         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18885         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18886         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18887         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18888         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18889         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18890         (gst_pad_realize), (gst_pad_get_allowed_caps),
18891         (gst_real_pad_dispose), (gst_real_pad_finalize),
18892         (gst_pad_collectv), (gst_pad_collect_valist),
18893         (gst_pad_template_dispose), (gst_pad_template_new),
18894         (gst_pad_get_internal_links):
18895         * gst/gstpad.h:
18896         * gst/gstpipeline.c: (gst_pipeline_dispose),
18897         (gst_pipeline_change_state):
18898         * gst/gstpipeline.h:
18899         * gst/gstplugin.c:
18900         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18901         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18902         * gst/gstpluginfeature.h:
18903         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18904         * gst/gstquery.c: (_gst_query_type_initialize),
18905         (gst_query_type_register), (gst_query_type_get_by_nick),
18906         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18907         * gst/gstquery.h:
18908         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18909         * gst/gstscheduler.c: (gst_scheduler_add_element),
18910         (gst_scheduler_factory_create):
18911         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18912         (gst_structure_free), (gst_structure_set_name),
18913         (gst_structure_id_set_value), (gst_structure_set_value),
18914         (gst_structure_set_valist), (gst_structure_remove_field),
18915         (gst_structure_remove_fields),
18916         (gst_structure_remove_fields_valist),
18917         (gst_structure_remove_all_fields), (gst_structure_foreach),
18918         (gst_structure_map_in_place),
18919         (gst_caps_structure_fixate_field_nearest_int),
18920         (gst_caps_structure_fixate_field_nearest_double):
18921         * gst/gststructure.h:
18922         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18923         (gst_system_clock_init), (gst_system_clock_dispose),
18924         (gst_system_clock_async_thread),
18925         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18926         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18927         * gst/gstsystemclock.h:
18928         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18929         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18930         * gst/gsttaginterface.c:
18931         * gst/gstthread.c: (gst_thread_dispose),
18932         (gst_thread_release_children_locks), (gst_thread_change_state),
18933         (gst_thread_main_loop):
18934         * gst/gsttrashstack.h:
18935         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18936         * gst/gsttypes.h:
18937         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18938         (gst_element_request_pad), (gst_element_get_pad_from_template),
18939         (gst_element_request_compatible_pad),
18940         (gst_element_get_compatible_pad_filtered),
18941         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18942         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18943         (gst_element_link_many), (gst_element_link),
18944         (gst_element_link_pads), (gst_element_unlink_pads),
18945         (gst_element_unlink_many), (gst_element_unlink),
18946         (gst_pad_can_link_filtered), (gst_pad_can_link),
18947         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18948         (gst_object_default_error), (gst_bin_add_many),
18949         (gst_bin_remove_many), (gst_element_populate_std_props),
18950         (gst_element_class_install_std_props), (gst_buffer_merge),
18951         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18952         (link_fold_func), (gst_pad_proxy_setcaps):
18953         * gst/gstutils.h:
18954         * gst/gstvalue.c: (gst_value_deserialize_string):
18955         * gst/parse/grammar.y:
18956         * gst/schedulers/gstbasicscheduler.c:
18957         (gst_basic_scheduler_cothreaded_chain),
18958         (gst_basic_scheduler_chain_recursive_add),
18959         (gst_basic_scheduler_pad_link):
18960         * gst/schedulers/gstoptimalscheduler.c:
18961         (get_group_schedule_function),
18962         (gst_opt_scheduler_state_transition),
18963         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18964         * libs/gst/bytestream/bytestream.c:
18965         * libs/gst/dataprotocol/dataprotocol.c:
18966         (gst_dp_header_from_buffer):
18967         * po/nb.po:
18968         * po/ru.po:
18969         * tests/threadstate/threadstate2.c: (eos):
18970         * tools/gst-compprep.c: (main):
18971         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18972         (print_pad_info), (print_children_info):
18973         * tools/gst-launch.c: (idle_func), (main):
18974         * tools/gst-md5sum.c: (idle_func), (main):
18975         * tools/gst-xmlinspect.c: (print_element_info):
18976         First THREADED backport attempt, focusing on adding locks and
18977         making sure the API is threadsafe. Needs more work. More docs
18978         follow this week.
18979
18980 2005-02-24  Andy Wingo  <wingo@pobox.com>
18981
18982         * tests/bench-complexity.scm:
18983         * tests/complexity.gnuplot: New files, good for running complexity
18984         benchmarks.
18985
18986         * tests/Makefile.am:
18987         * tests/complexity.c: New test, sets up N elements, at each level
18988         teeing into M streams per element. Eeeenteresting.
18989
18990         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18991         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18992         running bench-mass_elements.scm.
18993
18994         * tests/bench-mass_elements.scm: New script, runs mass_elements
18995         for various numbers of identities, outputting the results to a
18996         file. Requires guile 1.6. Just for testing.
18997
18998 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18999
19000         * gst/schedulers/fairscheduler.c:
19001           compile with debug disabled
19002
19003 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19004
19005         * configure.ac:
19006           hunting season on 0.9 is now OPEN